一個嵌入式系統從軟體角度劃分三個層次:引導加載程式boot和bootloader
linux核心
檔案系統
bootloader在作業系統運作之前運作的一段小程式,可以初始化硬體裝置,為調用硬體裝置做好準備
bootloader啟動可以分為單階段和多階段,一般多采用兩階段
stage1完成硬體初始化,為stage2準備RAM,準備堆棧,跳轉到stage入口
stage完成本階段硬體初始化,加載核心檔案和跟檔案系統,條用核心
bootloader有兩種工作模式:下載下傳模式和啟動模式
uboot目錄:board 和開發闆有關的檔案
conmmon實作uboot支援的指令
cpu與特定的cpu架構相關的代碼
uboot.bin的生成:選擇要使用的board make smdk6410_config
編譯 make CROSS_COMPILE=arm-linux-
uboot指令:help 檢視目前版本支援的指令
printenv 檢視環境變量
setenv name value 添加環境變量
saveenv 儲存環境變量
nand flash 檢視flash
nand erase start length 擦除flash
nand write 記憶體 flash 寫入flash
nand read 記憶體 flash 讀出flash
go addr 執行二進制代碼
bootm addr 執行記憶體的二進制代碼