u boot啟動流程(一)

2021-06-06 05:18:10 字數 980 閱讀 5588

arch/arm/cpu/armv7/start.s       //這裡要看你用的是什麼樣的cpu,我用的contex a5,所以在armv7目錄下

/* set stackpointer in internal ram to call board_init_f */

call_board_init_f:

ldr sp, =(config_sys_init_sp_addr)

bic sp, sp, #7 /* 8-byte alignment for abi compliance */

#ifndef config_nand_spl

ldr r0,=0x00000000

bl board_init_f

#else

ldr r0, =(config_sys_init_sp_addr)

ldr r1, =0x00000000

ldr r2, =(config_sys_text_base)

bl relocate_code

#endif

在這裡會跳轉到board_init_f()函式    

arch/arm/lib/board.c

void board_init_f (ulong bootflag)

}

debug ("monitor len: %08lx\n", gd->mon_len);

/*

* ram is setup, size stored in gd !!

*/debug ("ramsize: %08lx\n", gd->ram_size);

這裡會呼叫init_sequence[ ]裡的函式,該陣列在該檔案中定義,內容如下:

init_fnc_t *init_sequence = ;

uboot啟動流程概述 uboot啟動流程

u boot系統啟動流程 大多數bootloader都分為stage1和stage2兩大部分,u boot也不例外。依賴於cpu體系結構的 如裝置初始化 等 通常都放在stage1,且可以用組合語言來實現,而stage2則通常用c語言來實現,這樣可以實現複雜的功能,而且有更好的可讀性和移植性。2.1...

u boot啟動流程

uboot啟動流程分析 華清遠見嵌入式學院講師。uboot是嵌入式系統中最常用的bootloader,這裡我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈結檔案,我們可以看到uboot執行是執行的第一段 在start.s中。entry start sections ali...

uboot啟動流程

華清遠見嵌入式學院 講師。uboot是嵌入式系統中最常用的bootloader,這裡我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈結檔案,我們可以看到uboot執行是執行的第一段 在start.s中。entry start sections align 4 rodata...