U-Boot使用
前言
RK U-Boot 基于開(kāi)源的 U-Boot 進(jìn)行開(kāi)發(fā),工作模式有啟動(dòng)加載模式和下載模式。啟動(dòng)加載模式是 U-Boot 的正常工作模式,嵌入式產(chǎn)品發(fā)布時(shí),U-Boot 都工作在此模式下,主要用于開(kāi)機(jī)時(shí)把內(nèi)存中的內(nèi)核加載到內(nèi)存中,啟動(dòng)操作系統(tǒng);下載模式主要用于將固件下載到閃存,開(kāi)機(jī)時(shí)長(zhǎng)按 Recovery 鍵可進(jìn)入下載模式。本文簡(jiǎn)單說(shuō)明 U-Boot 的使用,更多相關(guān)文檔請(qǐng)看 SDK 下面的 RKDocs/common/uboot/RockChip_Uboot開(kāi)發(fā)文檔V3.0.pdf。
編譯
編譯 U-Boot 與編譯內(nèi)核類(lèi)似,編譯前把默認(rèn)配置寫(xiě)入 .config,執(zhí)行:
make evb-px30_defconfig
linux 則為
make xxx_defconfig
如果需要修改相關(guān)選項(xiàng),也可以用:
make menuconfig
編譯:
make ARCH=arch64
編譯后生成:
u-boot/uboot.img u-boot/trust.img u-boot/px30_loader_v1.10.115.bin
燒錄
打開(kāi)燒錄工具,板子接好 USB OTG 線(xiàn),接通電源時(shí)按住 Recovery 鍵,使開(kāi)發(fā)板進(jìn)入 U-Boot 的下載模式,在燒錄工具中選擇編譯好的 Loader 文件,點(diǎn)擊執(zhí)行即可,如下圖:
確認(rèn)是否正確燒寫(xiě)新的 Loader
如果你已經(jīng)成功燒寫(xiě)你最新編譯的 Loader,在開(kāi)機(jī)的串口輸出中可以看到類(lèi)似如下信息:
#Boot ver: 2019-05-08#1.09
如果打印的時(shí)間及版本與你編譯的一致,說(shuō)明你成功更新了Loader。
進(jìn)入 U-Boot 命令行模式
由于Firefly產(chǎn)品主要用于開(kāi)發(fā),所以我們默認(rèn)設(shè)置開(kāi)機(jī)時(shí)有1秒的倒計(jì)時(shí),如果這時(shí)候在串口輸入任意鍵即可進(jìn)入u-boot命令行模式。 發(fā)布的產(chǎn)品是不需要進(jìn)入u-boot命令行模式的,如果需要設(shè)置u-boot默認(rèn)不進(jìn)入命令行模式的,可以做如下修改: 在文件 u-boot/include/configs/rk33plat.h
/* mod it to enable console commands. */ #define CONFIG_BOOTDELAY 0
把宏CONFIG_BOOTDELAY改為 0 即默認(rèn)不進(jìn)入命令行模式。
一級(jí)Loader(RK3288)
U-BOOT 作為一級(jí)Loader模式,那么僅支持EMMC存儲(chǔ)設(shè)備,編譯完成后生成的鏡像:
RK3288LoaderU-BOOT_V2.17.01.bin
其中V2.17.01是發(fā)布的版本號(hào),rockchip 定義U-Boot loader 的版本,其中2.17是根據(jù)存儲(chǔ)版本定義的,客戶(hù)務(wù)必不要修改這個(gè)版本,01是U-Boot定義的小版本,用戶(hù)根據(jù)實(shí)際需求在 Makefile中修改。
二級(jí)Loader(PX30)
U-Boot 作為二級(jí)Loader模式,那么固件支持所有的存儲(chǔ)設(shè)備,該模式下,需要MiniLoader支持,通過(guò)宏CONFIG_MERGER_MINILOADER進(jìn)行配置生成。同時(shí)引入Arm Trusted,F(xiàn)irmware后會(huì)生成trust image,這個(gè)通過(guò)宏CONFIG_MERGER_TRUSTIMAGE進(jìn)行配置生成。 PX30使用二級(jí)Loader,編譯生成的鏡像為:
u-boot/uboot.img u-boot/trust.img u-boot/px30_loader_v1.10.115.bin
其中V1.10是發(fā)布的版本號(hào),rockchip 定義U-Boot loader 的版本,其中1.10是根據(jù)存儲(chǔ)版本定義的,客戶(hù)務(wù)必不要修改這個(gè)版本。 uboot.img 是U-Boot作為二級(jí)loader 的打包。 trust.img 是U-Boot作為二級(jí)loader 的打包。
-
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210385 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35612 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
7129
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論