完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
uboot 是一段裸机代码,它的实现非常复杂,主要是初始化一些硬件,部署整个计算机系统,将内核读到内存,根据环境变量去启动内核,并向内核传递参数。它的目标就是启动内核,内核启动后它的生命也随之结束。
u-boot 是 SourceForge 上的开源项目,由一个人发起,然后由整个世界所有感兴趣的人共同维护发展而来的一个 bootloader,bootloader 是用来引导和加载内核,向内核传递参数的,是内核引导程序的统称,bootloader 除了 u-boot 还有 bios,LilO,redboot,vivi 等。 Uboot 的源码存放路径为“iTOP-STM32MP157 开发板光盘资料 4_TF-A、uboot 和内核源码uboot”,如下图所示: Uboot 源码的编译器和编译 TF-A 的编译器相同为 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf。 将源码拷贝源码到“/home/topeet”目录下,使用如下命令解压:tar -vxf u-boot-stm32mp-2020.01-r0_20210817.tar.gz (注意,日期后缀名可能会更新)解压源码压缩包,解压完成之后得到“u-boot-stm32mp-2020.01-r0”文件夹。 使用命令进入 uboot 的源码如下图所示:cd u-boot-stm32mp-2020.01-r0/ 三个个文件分别为编译的 makefile 文件和 EMMC 和 TF 卡编译的源码。 我们以 EMMC 源码编译为例(TF 卡的 uboot 镜像编译步骤相同),使用命令 cd emmc_u-boot-stm32mp-2020.01/ 进入到对应的源码目录下,如下图所示: 3.png 然后使用命令“./create.sh”进行编译,如下图所示: 编译过程如下图所示: 编译完成如下图所示: 编译完成之后会在上一级目录产生 build-trusted 目录,用来存放编译生成的文件。而我们所需要的文 件为 u-boot.stm32 如下图所示: 至此我们的 uboot 编译就完成了。然后在 build-trusted 目录下使用以下命令 cp u-boot.stm32 /home/image/uboot/emmc_emmc_u-boot.stm32 来替换掉烧写文件中关于 emmc 的 uboot 即可(每个人 image 的路径都不同,要根据自己的情况来完善命令)。 |
|
相关推荐
1个回答
|
|
这个是在虚拟机里进行编译的吧,系统版本有要求么
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1760 浏览 0 评论
2096 浏览 1 评论
1771 浏览 1 评论
3106 浏览 1 评论
4025 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 13:25 , Processed in 0.488726 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号