亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bios.c

?? arm學習報告
?? C
字號:
/*  * Compex BIOS for SAMSUNG S3C4510B v1.20 * modified by duyunhai(duyunhai@hotmailc.com) for "ARM study report 003" * bios-dyh v1.5 */#include "types.h"#include "bios.h"#include "board.h"#include "console.h"#include "utils.h"#include "gunzip.h"extern const unsigned long _rom_base;extern const unsigned long system_table_offset;extern const unsigned char sysinit_data[];extern const unsigned char biosapi_data[];extern const unsigned char tftp_data[];extern const unsigned char uart_rec_data[];int sys_init(struct system_table_struct *system_table, unsigned long rom_base, unsigned long dram_base){	typedef int (SYSINIT)(struct system_table_struct *, unsigned long, unsigned long);	SYSINIT *sys_init_ptr;	memcpy((char *)SRAM_BASE, sysinit_data, 1024 * 3);	sys_init_ptr = (SYSINIT *)SRAM_BASE;	sys_init_ptr(system_table, rom_base, dram_base);	return 0;}int biosapi_init(void){	unsigned char *inbuf;	unsigned long insize;	unsigned char *outbuf;	unsigned long outsize;	struct biosapi_init_struct init_param;	BIOSCALL *fp;	inbuf = (unsigned char *)biosapi_data;	outbuf = (unsigned char *)BIOS_API_ADDR;	insize = 0x7fffffff;	outsize = 0x7fffffff;	gunzip(inbuf, &insize, outbuf, &outsize);	init_param.rom_base = _rom_base;	init_param.dram_base = DRAM_BASE;	init_param.system_table_offset = system_table_offset;	fp = (BIOSCALL *)outbuf;	return (*fp)(0, (unsigned long)&init_param);  // Init BIOS call}int uart_receive(){		typedef int (UART_REC)(void);	UART_REC *uart_rec_ptr;		memcpy((char *)UART_REC_ADDR, uart_rec_data, 1024 * 5);		uart_rec_ptr= (UART_REC *)UART_REC_ADDR;		(*uart_rec_ptr)();		return 0;}int load_tftp(unsigned long mode, unsigned long param){	typedef int (TFTP)(unsigned long, unsigned long, unsigned long);	unsigned char *inbuf;	unsigned long insize;	unsigned char *outbuf;	unsigned long outsize;	unsigned long ip;	TFTP *tftp_ptr;	inbuf = (unsigned char *)tftp_data;	outbuf = (unsigned char *)TFTP_ADDR;	insize = 0x7fffffff;	outsize = 0x7fffffff;	gunzip(inbuf, &insize, outbuf, &outsize);	tftp_ptr = (TFTP *)TFTP_ADDR;	ip = bios_tftp_ipaddr();	tftp_ptr(ip, mode, param);	return 0;}int main_menu(struct system_table_struct *system_table){	int list[] = {		BOOT_LOAD_FIRMWARE,		BOOT_LOAD_PROGRAM,		BOOT_BIOS_SETUP,		BOOT_LOAD_UART0,		//bios-dyh modified		BOOT_UPDATE_BIOS,		BOOT_UPDATE_SYSPARAMETERS,		BOOT_UPDATE_PARTITIONTABLE,		BOOT_UPDATE_PARTITION,		BOOT_UPDATE_FIRMWARE,		};	int select;	int ch;	int sh;			printf("Main Menu For bios-dyh \r\n\r\n");	printf("1 - Run uClinux \r\n");	printf("2 - Load uClinux image to sdram by tftp and Run \r\n");	printf("3 - Burn uClinux image to flash \r\n");	printf("4 - Update BIOS!!! \r\n");	printf("5 - Load image to sdram from uart0 and run (Low Speed!!!)\r\n");	printf("\r\n");	printf("Please Select: ");		while (1) {		sh = getch();		if (sh >= '1' && sh <= '5') {					if (sh=='1')				ch='1';			if (sh=='2')				ch='2';			if (sh=='3')				ch='9';			if (sh=='4')				ch='5';			if (sh=='5')				ch='4';					putch(sh);			select = list[ch - '1'];			break;		}	}	printf("\r\n\r\n");	return select;}int menu(struct system_table_struct *system_table){	int select, partition_num = 0;	unsigned long input_data;	unsigned long i;	unsigned long linux_origin=0x01010000;	while (1) {		select = main_menu(system_table);		if (select == BOOT_LOAD_FIRMWARE) {			for(i=0;i<1024*1024*2;i++)			{				*(volatile unsigned char*)(0x8000+i)=*(volatile unsigned char*)(linux_origin+i);			}			asm(    "	                        ldr     r14, =0x00008000;	                        mov     PC, r14; "	                );			break;		}				switch (select) {		case BOOT_LOAD_PROGRAM:			load_tftp(select, partition_num);			break;				case BOOT_UPDATE_FIRMWARE: 	                printf("Sorry,this function is not complement!\r\n\n\n");			break;				case BOOT_UPDATE_BIOS: 			printf("Sorry,this function is not complement!\r\n\n\n");			break;									case BOOT_LOAD_UART0:						uart_receive();                        break;				default:			break;		}	}	return select;}/* *  Main BIOS functions */unsigned char *bios_main(void){	struct system_table_struct *system_table;	unsigned long startup_mode;	int i, ch;	system_table = (struct system_table_struct *)(_rom_base + system_table_offset);	sys_init(system_table, _rom_base, DRAM_BASE);	console_init();	printf("\r\n\r\n");	printf("Compex BIOS for SAMSUNG S3C4510B v1.20 (build 0801)\r\n\r\n");	printf("modified by duyunhai for 'ARM study report 003'\r\n");	biosapi_init();	printf("\r\n");	startup_mode = bios_startup_mode();	if (startup_mode == BOOT_MENU) {		startup_mode = menu(system_table);	}	return (unsigned char *)_rom_base;   //return to head.S with _rom_base in r0}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清在线| 91精品国产综合久久小美女| 成人精品一区二区三区四区 | 色琪琪一区二区三区亚洲区| 精品久久久久一区| 国产日韩欧美精品一区| 亚洲综合一二三区| 国产精品夜夜嗨| 欧美三级韩国三级日本一级| 中文幕一区二区三区久久蜜桃| 日日夜夜免费精品| 一本高清dvd不卡在线观看| 2020国产成人综合网| 亚洲图片欧美视频| 91亚洲精品乱码久久久久久蜜桃 | 国产91高潮流白浆在线麻豆| 日韩一区二区三区电影| 一区二区高清在线| 99久久久久久| 亚洲欧洲日产国码二区| 国产精品77777竹菊影视小说| 欧美肥妇毛茸茸| 97se亚洲国产综合在线| 精品国产乱码久久久久久夜甘婷婷| 亚洲免费观看高清完整版在线观看熊 | 国产欧美一区二区精品仙草咪| 美女视频黄 久久| 欧美亚日韩国产aⅴ精品中极品| 中文字幕一区二区三区不卡| 国产精华液一区二区三区| www国产精品av| 黄色日韩三级电影| 精品伦理精品一区| 国产成人在线视频网址| 久久久亚洲高清| 国产成人精品免费网站| 日韩不卡在线观看日韩不卡视频| 色综合久久综合网| 亚洲欧洲一区二区三区| 国产成人免费xxxxxxxx| 国产无遮挡一区二区三区毛片日本| 蜜臀久久久久久久| 欧美一级黄色录像| 国产在线视视频有精品| 精品国产成人在线影院| 国产一区二区精品久久| 国产亚洲一区二区在线观看| 东方欧美亚洲色图在线| 亚洲天天做日日做天天谢日日欢 | 亚洲成av人片在线| 欧美精品丝袜久久久中文字幕| 亚洲va韩国va欧美va| 91精品欧美福利在线观看| 国产又粗又猛又爽又黄91精品| 久久久91精品国产一区二区精品| 成人精品视频网站| 色婷婷综合久久久中文一区二区| 97精品国产97久久久久久久久久久久| 国产精品天干天干在观线| 99免费精品在线| 日韩精品免费视频人成| 久久久亚洲午夜电影| 91视频91自| 日产国产欧美视频一区精品| 欧美激情在线观看视频免费| 在线观看视频91| 国内外成人在线| 悠悠色在线精品| 精品国产91乱码一区二区三区| 国产成人aaa| 天天亚洲美女在线视频| 亚洲国产成人私人影院tom| 欧美性色欧美a在线播放| 久久99深爱久久99精品| 亚洲视频1区2区| 久久青草国产手机看片福利盒子| 一本色道亚洲精品aⅴ| 久久久午夜电影| av不卡在线观看| 亚洲另类一区二区| 日韩亚洲电影在线| 成人av小说网| 免费成人你懂的| 亚洲女同女同女同女同女同69| 欧美久久久久久久久久| 国产乱人伦偷精品视频不卡 | 精品影视av免费| 亚洲三级电影网站| 中文字幕精品一区| 91麻豆精品国产91久久久 | 精品视频在线看| 国产v综合v亚洲欧| 免费观看成人鲁鲁鲁鲁鲁视频| 成人欧美一区二区三区黑人麻豆 | 久久久国产精品不卡| 色欧美88888久久久久久影院| 国产一区二区0| 久久国产视频网| 蜜桃一区二区三区在线观看| 亚洲一级二级三级在线免费观看| 日本一区二区三区视频视频| 精品国产髙清在线看国产毛片 | 国产亚洲一区二区三区| 欧美一区日韩一区| 欧洲av在线精品| 在线观看视频91| 日本大香伊一区二区三区| 波多野结衣在线一区| 国产成人在线影院 | 五月天亚洲精品| 亚洲视频1区2区| 亚洲精品国产精品乱码不99| 国产精品丝袜在线| 中文字幕一区二| 一色桃子久久精品亚洲| 国产精品区一区二区三| 欧美激情一区二区三区四区| 久久精子c满五个校花| 欧美大胆一级视频| 日韩欧美色综合| 久久久久久电影| 亚洲国产成人一区二区三区| 国产三区在线成人av| 国产清纯在线一区二区www| 中文字幕乱码久久午夜不卡| 国产精品丝袜黑色高跟| 亚洲毛片av在线| 日韩精品乱码av一区二区| 美腿丝袜在线亚洲一区 | 日本三级亚洲精品| 寂寞少妇一区二区三区| 欧美日韩精品一区二区天天拍小说 | 亚洲成av人**亚洲成av**| 午夜精品视频一区| 麻豆国产欧美日韩综合精品二区 | 国产黑丝在线一区二区三区| 国产精品乡下勾搭老头1| 成人黄色av电影| 色美美综合视频| 欧美一区二区三区日韩| www久久精品| 亚洲免费毛片网站| 蜜桃av噜噜一区| 成人国产一区二区三区精品| 欧美最新大片在线看| 欧美电影免费观看高清完整版在线| 久久亚洲二区三区| 亚洲最快最全在线视频| 伦理电影国产精品| 成人精品一区二区三区中文字幕| 色综合久久综合| 精品国产乱码久久久久久闺蜜| 日本一区二区免费在线观看视频| 一区二区三区欧美久久| 久久91精品久久久久久秒播| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩五月天| 国产精品欧美一区喷水| 日韩av成人高清| 色综合网色综合| 欧美精品一区二区三区蜜桃| 亚洲精品免费在线观看| 蜜桃视频一区二区| 91行情网站电视在线观看高清版| 日韩你懂的电影在线观看| 一区二区在线免费| 成人亚洲一区二区一| 日韩三级伦理片妻子的秘密按摩| 亚洲欧洲国产日韩| 韩国精品在线观看| 欧美日韩亚洲综合一区二区三区| 欧美激情一二三区| 国内精品在线播放| 欧美日韩国产123区| 亚洲少妇30p| 丰满亚洲少妇av| 26uuu国产一区二区三区| 日本午夜一本久久久综合| 91麻豆国产精品久久| 亚洲国产精品t66y| 国产美女视频91| 欧美mv日韩mv亚洲| 日韩av一区二区三区| 91麻豆精品一区二区三区| 国产无一区二区| 国产精品12区| 国产欧美一区二区三区在线看蜜臀| 奇米一区二区三区| 337p亚洲精品色噜噜| 亚洲一区二区美女| 91精彩视频在线观看| 国产精品美女久久久久久2018 | 中文成人综合网| 岛国av在线一区| 国产精品久久久久久久第一福利 | 国内一区二区在线| 亚洲精品一区二区三区福利| 青椒成人免费视频| 日韩一区二区三区免费看| 亚洲bdsm女犯bdsm网站|