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

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

?? bios.c

?? 本程序是arm開發bios的實例代碼
?? 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一区二区三区免费野_久草精品视频
日本丶国产丶欧美色综合| 五月天亚洲精品| 亚洲色图制服诱惑| 国产欧美日韩另类视频免费观看| 欧美一级片在线观看| 7777精品久久久大香线蕉| 51精品久久久久久久蜜臀| 国产成人免费xxxxxxxx| www.日韩在线| 欧美日韩五月天| 在线不卡一区二区| 91精选在线观看| 国产精品视频第一区| 亚洲视频你懂的| 五月婷婷久久丁香| 国产电影精品久久禁18| 91黄视频在线观看| 日韩欧美黄色影院| 亚洲精品成a人| 蜜臀国产一区二区三区在线播放| 久草热8精品视频在线观看| 成人黄色软件下载| 久久精品水蜜桃av综合天堂| 亚洲精品欧美激情| 国精产品一区一区三区mba视频| 国产成人综合自拍| 欧美一区二区三区在线观看视频| 久久久久久日产精品| 国产精品久久久久久久裸模| 狠狠色综合日日| 久久综合九色综合欧美就去吻| 亚洲免费视频中文字幕| 国产一区二区剧情av在线| 欧美影院一区二区| 亚洲精品免费在线观看| 99天天综合性| 国产精品国产三级国产三级人妇| 精品综合久久久久久8888| 欧美日韩精品一区二区三区蜜桃 | 不卡电影免费在线播放一区| 久久精品人人做人人综合| 成人做爰69片免费看网站| 精品国产免费视频| 亚洲成人动漫一区| 日韩欧美色综合网站| 美女视频网站黄色亚洲| 久久老女人爱爱| 97久久超碰国产精品电影| 日韩一区在线播放| 色综合欧美在线| 亚欧色一区w666天堂| 欧美性色综合网| 日本va欧美va欧美va精品| 精品国产乱码久久久久久闺蜜| 看片的网站亚洲| 亚洲国产成人av| 久久综合狠狠综合久久综合88| 国产v日产∨综合v精品视频| 制服丝袜av成人在线看| 午夜久久久久久久久久一区二区| 精品一区二区三区免费播放| 菠萝蜜视频在线观看一区| 95精品视频在线| 久久夜色精品国产噜噜av| 亚洲欧美激情一区二区| 国模大尺度一区二区三区| 欧美日韩精品专区| |精品福利一区二区三区| 国产精品一区二区三区四区| 欧美成人欧美edvon| 亚洲午夜免费福利视频| 91啪亚洲精品| 亚洲另类在线制服丝袜| av一区二区三区| 国产精品久久久久久久久快鸭| 精品亚洲成av人在线观看| 欧美www视频| 久久99精品国产麻豆婷婷洗澡| 欧美日韩中文另类| 亚洲国产日韩精品| 欧美乱熟臀69xxxxxx| 天堂成人国产精品一区| 91麻豆精品国产91久久久久久久久| 亚洲成av人片在线| 欧美日韩不卡一区| 久久久无码精品亚洲日韩按摩| 亚洲男人天堂一区| 欧亚洲嫩模精品一区三区| 国产精品国产成人国产三级| 国产一区二区在线视频| 欧美一区二区三区性视频| 午夜精品视频在线观看| 91免费视频网| 综合欧美一区二区三区| jizz一区二区| 亚洲精品自拍动漫在线| 91美女视频网站| 亚洲天堂成人在线观看| 成人免费视频网站在线观看| 国产精品国产三级国产aⅴ中文| 蜜乳av一区二区| 日韩一二三区不卡| 麻豆91精品91久久久的内涵| 色综合一区二区| 午夜精品在线视频一区| 91精品麻豆日日躁夜夜躁| 一级做a爱片久久| 成人黄色a**站在线观看| 一区二区三区在线免费观看| 91天堂素人约啪| 亚洲最新视频在线播放| 在线观看日产精品| 精品亚洲国产成人av制服丝袜| 久久综合九色综合欧美亚洲| 日韩国产一区二| 欧美大白屁股肥臀xxxxxx| 免费观看一级特黄欧美大片| 精品日产卡一卡二卡麻豆| 麻豆一区二区在线| 亚洲免费观看高清完整版在线观看熊 | 日韩欧美一级二级| 国产福利一区在线观看| 中文字幕日本不卡| 欧美日韩一级片在线观看| 麻豆精品一区二区三区| 91精品综合久久久久久| 久久机这里只有精品| 国产精品福利在线播放| 91麻豆精品国产| 色婷婷久久久久swag精品| 蜜臀av性久久久久蜜臀aⅴ| 欧美激情综合在线| 欧美日韩激情在线| 成人小视频在线| 奇米四色…亚洲| 日韩精品视频网站| 中文字幕在线不卡| 欧美一区二区三区不卡| 91最新地址在线播放| 韩国精品一区二区| 久久精品免费在线观看| 欧美电影免费观看高清完整版在| 99视频一区二区三区| 九色|91porny| 午夜精品福利一区二区三区av | 成人禁用看黄a在线| 一区二区久久久久久| 久久久国产一区二区三区四区小说 | 亚洲第一成年网| 亚洲另类春色国产| 久久久电影一区二区三区| 欧美日韩日日夜夜| 国产精品一级黄| 蜜臀精品一区二区三区在线观看| ㊣最新国产の精品bt伙计久久| 日韩一级黄色大片| 日本道色综合久久| www.欧美日韩| 国产高清在线观看免费不卡| 另类小说视频一区二区| 日韩电影在线看| 中文字幕一区二区不卡 | 成人午夜在线视频| 国产一区二区福利| 久久激五月天综合精品| 亚洲v中文字幕| 亚洲丝袜美腿综合| 香蕉成人伊视频在线观看| 亚洲人妖av一区二区| 欧美国产日韩精品免费观看| 精品国产一二三| 精品福利一区二区三区 | 日本视频一区二区| 国产一区二区免费看| 国产在线精品一区二区夜色 | 麻豆精品久久精品色综合| 日韩精品亚洲一区二区三区免费| 亚洲图片有声小说| 亚洲成a人在线观看| 久久精品99久久久| 国产美女在线观看一区| 国产最新精品免费| 国产一区二区三区蝌蚪| 国产麻豆视频一区二区| 国产99久久精品| 欧美亚日韩国产aⅴ精品中极品| 日本道色综合久久| 欧美高清www午色夜在线视频| 欧美日韩国产一级片| 欧美一级在线视频| 国产三级欧美三级日产三级99| 国产精品的网站| 亚洲国产毛片aaaaa无费看| 天天免费综合色| 国产一区二区三区免费看| eeuss鲁片一区二区三区 | 亚洲一区免费视频| 国产69精品久久777的优势| 在线一区二区三区四区五区 | 日韩一区二区三区在线视频|