1. 程式人生 > >[U-boot][itop4412]移植前傳

[U-boot][itop4412]移植前傳

4412啟動的步驟:

iROMBL1BL2u-bootLinux

以下都是在三星Exynos4412情況(有誤請指正,謝謝),其他晶片僅供參考

1. iROM

稱為:BL0,內部程式由晶片廠商提供,固化啟動程式碼 a.iROM提供了執行arm程式碼的基本環境:關閉IRQ和MMU,初始化系統時鐘,設定看門狗,初始化堆和棧 b.載入BL1,從引導裝置中:SD/MMC、eMMC4.3、eMMC4.4和NAND。 c.iROM檢查下載的BL1的完整性。 詳細需要看流程圖

2. BL1:(BootLoader1 = Header + Encrypted BL1 + Signature)

a.在iRAM中執行(IRAM上電就能用) b.初始化IRQ和SVC堆疊 c.BL1程式碼將BL2映像複製到內部RAM,並檢查BL2映像的完整性。 d.為了安全考慮,有祕鑰,校驗下一個檔案 () 注:8k或者15K(iROM寫死了)

3. BL2:(BootLoader2 = BL2 + Checksum + Signature + Padding)

a.在iRAM中執行 b. BL2的前部分是u-boot的前14K c.初始化IRQ和SVC堆疊,設定系統時鐘,初始化DRAM,初始化某些裝置 d.載入OS image(BL3)

4. u-boot

a. 最大的裸機程式

u-boot.bin

cat  
E4412_N.bl1.SCP2G.bin  
bl2.bin 
all00_padding.bin  
u-boot.bin 
tzsw_SMDK4412_SCP_2GB.bin 
> u-boot-iTOP-4412.bin

(未完待續)