freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ar71xx-uboot編譯入門-wenkub.com

2025-07-20 12:46 本頁面
   

【正文】 編譯過程跟 OpenWrt 基本相同,即先下載代碼吧,然后進(jìn)行編譯。另外,在沒有任何現(xiàn)成工具鏈的時候,用 OpenWrt 制作工具鏈花費(fèi)的時間比 Buildroot 多。下載代碼:這里要用到的是 Buildroot,這是一個用于生成嵌入式 Linux 系統(tǒng)的編譯環(huán)境。elserc = run_mand (lastmand, flag)。 elsereturn。/* assume no special flags for now */if (len 0)strcpy (lastmand, console_buffer)。}endiflen = readline (CFG_PROMPT)。/* This point is never reached */for (。 endif ifdef CONFIG_AUTOBOOT_KEYEDdisable_ctrlc(prev)。amp。//elsesetenv (bootcmd, bootm 0xbf450000)。 endif//endif省略if defined(CONFIG_BOOTDELAY) amp。}/* NOTREACHED no way out of mand loop except booting */}復(fù)制代碼到此為止 UBoot 就開始正常運(yùn)行了在處理交互命令前,UBoot 會檢查有沒有啟動命令文件:mon/void main_loop (void){省略if defined(CONFIG_BOOTDELAY) amp。)。/* CFG_CMD_NET */if defined(CONFIG_MISC_INIT_R)/* miscellaneous platform dependent initialisations */misc_init_r ()。}if (CONFIG_COMMANDS amp。endif/** leave this here (after malloc(), environment and PCI are working) **//* Initialize devices */devices_init ()。e, 16) : 0。/* board MAC address */s = getenv (ethaddr)。/* reserved area for UBoot */elsebdbi_flashoffset = 0。bdbi_flashsize = size。省略/* configure available FLASH banks *//* 初始化 Flash,顯示 Flash:XXXX (X MB) */size = flash_init()。CFG_LONGHELPif (cmdtphelp) {addr = (ulong)(cmdtphelp) + gdreloc_off。if (cmdtpusage) {addr = (ulong)(cmdtpusage) + gdreloc_off。if 0printf (Command \%s\: 0x%08lx = 0x%08lx\n,cmdtpname, (ulong) (cmdtpcmd), addr)。amp。/** We have to relocate the mand table manually*//* UBoot 命令表,重定位所有字符串地址和函數(shù)地址 */for (cmdtp = amp。bd_t *bd。ulong size。*/.end /* delay slott9movea0, a1lazero, 0(t1)t1, 4bltlt1, 41: */addt1, t6/* t2 uboot_end*/lwt1, 12(t0)t4, 4t2, 1bltt1, t6swt1, 0(t4)beqz*/lit4, gp, 8/* t3 num_got_entriesnum_got_entriesin_ram:/* 此時已經(jīng)在內(nèi)存中了 *//* Now we want to update GOT.*/lwuboot_end_data.wordt0, a2, in_ram _startj /* 顯示 AP99 (ar7241 Virian) Uboot */init_func_ram,/* 初始化控制臺環(huán)境 */display_banner, /* initialze baudrate settings */ifndef COMPRESSED_UBOOTserial_init, /* initialize environment */ /* 初始化環(huán)境變量 */ifdef CONFIG_INCA_IPincaip_set_cpuclk,初始化函數(shù)位于 board_init_f 函數(shù)上方init_fnc_t *init_sequence[] = {ifndef COMPRESSED_UBOOTtimer_init, /* Console Baudrate */memcpy (id, (void *)gd, sizeof (gd_t))。 = gdram_size。/* start of /* We can reserve some RAM on top here.*//* round down to next 4 kB limit.*/addr amp。}}ifdef COMPRESSED_UBOOTcheckboard(board_string)。memset ((void *)gd, 0, sizeof (gd_t))。endififdef CONFIG_PURPLEvoid copy_code (ulong)。ulong addr, addr_sp, len = (ulong)amp。t9nop復(fù)制代碼這段代碼的作用是初始化緩存,并將緩存鎖定在 Kseg0 上,用作臨時的??臻g此時內(nèi)存并未初始化, Kseg0 對應(yīng)的 0x80000000 ~ 0x8fffffff 還不能被訪問,因此需要用緩存代替。sp, 0(t0)/* 進(jìn)入 C 環(huán)境 */la t9nopendifendif /* ifndef COMPRESSED_UBOOT *//* 將棧指針指向緩存 */lit0, CONF_CM_CACHABLE_NONCOHERENTmtc0t9, simple_mips_cache_resetjalrt0, 0(a0)復(fù)制代碼以上代碼的作用是禁用物理段 0x1f000000 的 4MB Flash 數(shù)據(jù)循環(huán)映射,以便讓 0x1f000000 能夠映射 16MB 的 Flash 數(shù)據(jù)/* Initialize caches...*//* 初始化緩存 */laa0, AR7100_SPI_CLOCKlit0noprel_start:復(fù)制代碼以上代碼很關(guān)鍵,它實(shí)現(xiàn)了 UBoot 的執(zhí)行地址的轉(zhuǎn)移假設(shè)當(dāng)前 CPU 的執(zhí)行地址在 0xbfc00000 + x那么執(zhí)行此段代碼后,CPU 執(zhí)行地址將跳轉(zhuǎn)到 0x9f000000 + x 處進(jìn)行執(zhí)行前面提到了 CPU 在復(fù)位時,物理段 0x1f000000 處循環(huán)映射 4 次 Flash 的前 4MB,而 UBoot 大小只有100KB多,因此 0x1f000000 跟 0x1fc00000 處
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1