rk版本uboot编译后生成什么文件?

电子说

1.4w人已加入

描述

关于uboot编译生成的文件,肯定都可以用到的,我们在执行rk编译脚本的时候不用关注这些文件,最终就生成了可执行文件update.img,实际上这个镜像文件经过了多个工具链合成的。在烧录的时候我们可以分开烧录,也可以烧录最终的生成文件。

Uboot

Uboot

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分