關于uboot編譯生成的文件,肯定都可以用到的,我們在執行rk編譯腳本的時候不用關注這些文件,最終就生成了可執行文件update.img,實際上這個鏡像文件經過了多個工具鏈合成的。在燒錄的時候我們可以分開燒錄,也可以燒錄最終的生成文件。


U-Boot編譯成功后會在根目錄下生成一些重要文件(支持TPL/SPL編譯時才有TPL/SPL的生成文件):
// U-Boot階段./u-boot.map // MAP表文件./u-boot.sym // SYMBOL表文件./u-boot // ELF文件,類同內核的vmlinux(重要!)./u-boot.dtb // u-boot自己的dtb文件./u-boot.bin // 可執行二進制文件,會被打包成uboot.img用于燒寫// SPL階段./spl/u-boot-spl.map // MAP表文件./spl/u-boot-spl.sym // SYMBOL表文件./spl/u-boot-spl // ELF文件,類同內核的vmlinux(重要!)./spl/u-boot-spl.dtb // spl自己的dtb文件./spl/u-boot-spl.bin // 可執行二進制文件,會被打包成loader用于燒寫// TPL階段./tpl/u-boot-tpl.map // MAP表文件./tpl/u-boot-tpl.sym // SYMBOL表文件./tpl/u-boot-tpl // ELF文件,類同內核的vmlinux(重要!)./tpl/u-boot-tpl.dtb // tpl自己的dtb文件./tpl/u-boot-tpl.bin // 可執行二進制文件,會被打包成loader用于燒寫
關于環境變量:
ENV(Environment-Variables) 是U-Boot支持的一種全局數據管理和傳遞方式,原理是構建一張HASH映射表,把用戶的數據以"鍵值-數據" 作為表項進行管理。
EVN 通常用于定義平臺配置參數:固件加載地址、網絡配置(ipaddr、serverip)、bootcmd、
bootargs等,用戶可以在命令行下使用 printenv 命令打印出來。
用戶可選擇是否把ENV數據保存到本地存儲上
ENV數據僅限于U-Boot使用,無法直接傳遞給內核、內核也無法直接解析
用戶層可以通過U-Boot提供的fw_printenv工具訪問ENV數據
RK 平臺上 ENV 數據的存儲地址和大小定義如下(單位:字節):
if ARCH_ROCKCHIPconfig ENV_OFFSEThexdepends on !ENV_IS_IN_UBIdepends on !ENV_IS_NOWHEREdefault 0x3f8000helpOffset from the start of the device (or partition)config ENV_SIZEhexdefault 0x8000helpSize of the environment storage areaendif
-
編譯
+關注
關注
0文章
694瀏覽量
35157 -
Uboot
+關注
關注
4文章
131瀏覽量
29935
發布評論請先 登錄
深入解析RK平臺編譯核心:build.sh的知識點、調試技巧與開發價值
技術分享 | RK3506如何交叉編譯frp wireguard
RK3588?平臺?MPP?編譯?+ VPU?格式測試
使用Vivado 2018.2編譯E203的mcs文件,遇到的問題求解
使用NucleiStudio生成tb仿真需要的.verilog文件
【HZ-RK3568開發板免費體驗】基于SDK固件編譯
求助,關于NanoEdge AI Studio生成的庫交叉編譯器版本疑問求解
【HZ-RK3568開發板免費體驗】03 使用SDK編譯Debian系統并配置
Linux修改uboot啟動延時方法詳細攻略,觸覺智能RK3568開發板演示
RK3562開發板uboot下GPIO的控制方法,觸覺智能嵌入式方案商
rk版本uboot編譯后生成什么文件?
評論