亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
天天免费综合色| 亚洲一区二区三区在线播放| 色综合一区二区三区| 美女视频一区在线观看| 亚洲免费在线播放| xnxx国产精品| 4438x亚洲最大成人网| yourporn久久国产精品| 久久福利资源站| 亚洲一区在线视频观看| 国产精品卡一卡二卡三| 精品国产青草久久久久福利| 色狠狠色狠狠综合| 成人免费的视频| 国精产品一区一区三区mba桃花 | 日本黄色一区二区| 久久99精品视频| 午夜在线成人av| 亚洲狠狠丁香婷婷综合久久久| 久久精品亚洲精品国产欧美kt∨| 欧美日韩激情在线| 在线精品视频一区二区三四| 国产高清亚洲一区| 精品一区二区三区免费毛片爱| 五月婷婷综合在线| 午夜精品成人在线| 亚洲乱码国产乱码精品精可以看| 中文字幕色av一区二区三区| 日本一区二区三区国色天香 | 日韩视频免费观看高清完整版在线观看| 91免费国产视频网站| 成人黄色大片在线观看| 波多野结衣的一区二区三区| 国产成人高清在线| 成人激情午夜影院| 99综合影院在线| 9人人澡人人爽人人精品| va亚洲va日韩不卡在线观看| jvid福利写真一区二区三区| 成a人片亚洲日本久久| 成人免费毛片a| 91在线porny国产在线看| 91网址在线看| 91久久久免费一区二区| 欧美色综合天天久久综合精品| 在线观看不卡一区| 欧美日韩高清不卡| 日韩美女一区二区三区四区| 日韩欧美一区在线| www国产成人免费观看视频 深夜成人网| 欧美精品一区二区三区久久久| 国产视频视频一区| 亚洲欧美综合另类在线卡通| 中文字幕亚洲视频| 亚洲激情校园春色| 久久人人97超碰com| 中文无字幕一区二区三区| 国产精品进线69影院| 国产精品情趣视频| 亚洲欧美精品午睡沙发| 亚洲午夜免费电影| 日本 国产 欧美色综合| 久久精品噜噜噜成人av农村| 五月天亚洲婷婷| 久久av资源站| av一本久道久久综合久久鬼色| aa级大片欧美| 337p亚洲精品色噜噜噜| 欧美一级欧美一级在线播放| 日韩美女视频在线| 国产精品免费视频网站| 国产精品第五页| 亚洲色图欧洲色图| 五月婷婷欧美视频| 成人黄色a**站在线观看| 色呦呦一区二区三区| 欧美电视剧免费观看| 中文字幕欧美日韩一区| 日日夜夜一区二区| 国产在线不卡一区| 蜜桃精品视频在线| 白白色亚洲国产精品| 欧美日韩你懂的| 久久免费精品国产久精品久久久久 | 日韩欧美视频一区| 国产亚洲午夜高清国产拍精品| 亚洲六月丁香色婷婷综合久久| 视频一区欧美日韩| 丁香五精品蜜臀久久久久99网站| 色综合一区二区| 在线91免费看| 中文字幕在线一区免费| 秋霞午夜鲁丝一区二区老狼| 成人v精品蜜桃久久一区| 99riav久久精品riav| 欧美一区二区黄| 国产亚洲综合av| 亚洲午夜成aⅴ人片| 国产精品一区在线观看乱码| 欧美亚洲国产一区在线观看网站| 国产日产欧美一区| 香港成人在线视频| 91麻豆福利精品推荐| 日韩欧美视频在线| 视频一区视频二区中文字幕| 国产一区二区免费在线| 欧美片在线播放| 精品女同一区二区| 亚洲精品成a人| 不卡的看片网站| 亚洲精品一区二区三区在线观看 | 欧美最猛黑人xxxxx猛交| 中文字幕精品一区二区精品绿巨人 | 国产福利电影一区二区三区| 8x8x8国产精品| 亚洲女同一区二区| 99精品久久只有精品| 欧美大度的电影原声| 午夜伦欧美伦电影理论片| 成人精品高清在线| 国产人伦精品一区二区| 日韩av高清在线观看| 欧美美女黄视频| 久久久久久久久久久久电影| 美腿丝袜在线亚洲一区 | 91麻豆国产自产在线观看| 日韩精品中文字幕一区二区三区 | 久久99精品久久久久久久久久久久 | 亚洲成人7777| 轻轻草成人在线| 91精品黄色片免费大全| 国产精品免费视频网站| 国产麻豆视频一区二区| 国产婷婷一区二区| 国产剧情一区二区| 精品久久人人做人人爰| 日韩精品亚洲一区| 日韩欧美在线网站| 偷拍一区二区三区四区| 日韩一区二区三区免费观看| 五月综合激情网| 日韩欧美一级特黄在线播放| 日本中文字幕不卡| 9191国产精品| 日本中文字幕一区二区视频| 欧美日本一区二区在线观看| 亚洲妇女屁股眼交7| 日韩欧美高清在线| 午夜精品免费在线| 日韩一级片网址| 久久97超碰色| 国产亚洲精品久| 99国产精品久久久久久久久久久 | 粉嫩av亚洲一区二区图片| 精品理论电影在线观看| 国产69精品久久久久毛片| 国产日韩欧美a| 在线观看中文字幕不卡| 一区二区在线观看视频| 欧美电影影音先锋| 亚洲aaa精品| 日韩精品自拍偷拍| 蜜臀av一区二区| xfplay精品久久| 91视频91自| 午夜免费久久看| 国产三级久久久| 成人app网站| 午夜电影久久久| 精品国产1区2区3区| 国产激情视频一区二区在线观看 | 亚洲一区二区偷拍精品| av一区二区三区| 亚洲综合精品久久| 欧美一区二区视频观看视频| 国产精品一区一区三区| 亚洲色图视频免费播放| 日韩小视频在线观看专区| 国产精品亚洲一区二区三区在线 | 亚洲成人av中文| 久久亚洲精精品中文字幕早川悠里| 韩国成人福利片在线播放| 亚洲精品老司机| 精品va天堂亚洲国产| 成人av网站在线观看| 日韩综合小视频| 日本一区二区电影| 欧美一级在线观看| 国产91对白在线观看九色| 天天综合日日夜夜精品| 日韩一区二区中文字幕| 99久久婷婷国产| 亚洲国产精品一区二区久久| 日韩你懂的在线观看| 在线观看精品一区| 国产一区二区久久| 午夜激情一区二区三区| 国产午夜精品美女毛片视频| 精品视频色一区| 风间由美一区二区av101|