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)推薦
AIO-PX30-JD4核心板上手教程
fireflyCORE-3399主板JD4-U-Boot介紹

fireflyCORE-PX30-JD4接口定義介紹

fireflyCORE-PX30-JD4燒寫(xiě)固件簡(jiǎn)介
fireflyCORE-PX30-JD4產(chǎn)品簡(jiǎn)介
Core PX30 JD4 AndroidTools燒寫(xiě)工具

Core PX30JD4工具Linux upgrade tool文件分享

Core PX30 JD4工具DriverAssitant驅(qū)動(dòng)助手

Core PX30 JD4 Android 8.1 SDK源碼分享

Core PX30 JD4源代碼Linux SDK分享

Core PX30 JD4固件Android 8.1固件分享

Core PX30 JD4固件Buildroot(GPT)文件分享

Core PX30 JD4固件Ubuntu(GPT)文件分享

Core PX30 JD4核心板產(chǎn)品規(guī)格書(shū)

Core PX30 JD4資源linux headers文件分享

評(píng)論