STM32MP157_uboot_初次编译

STM32MP157_uboot_初次编译

前言:
为了快速入门,这边选择直接使用正点原子提供的uboot源码,先体验一下uboot的编译流程,为后面的移植原厂uboot做环境准备。

1、获取正点原子的uboot源码(复制到虚拟机里面)
在这里插入图片描述

2、解压源码压缩包

tar -vxf u-boot-stm32mp-2020.01-gdb8d2374-v1.0.tar.bz2

3、安装必要的库

sudo apt-get install libncurses5-dev bison flex

4、设置交叉编译器

ST 推荐了两款通用交叉编译器,一个是 ARM 官方出品的:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

//创建一个目录
sudo mkdir /usr/local/arm
//把交叉编译工具链复制到这个目录下
sudo cp gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz /usr/local/arm/ -f
//解压这个工具链
sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
//配置环境变量
sudo vi /etc/profile

/把这句添加到环境变量
export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

在这里插入图片描述

//查看工具链版本
arm-none-linux-gnueabihf-gcc -v

在这里插入图片描述
5、编译uboot源码

ARCH:指定所使用的平台架构,这里肯定是 arm。
CROSS_COMPILE:所使用的交叉编译器前缀,本教程使用的是交叉编译器前缀为 armnone-linux-gnueabihf-。
DEVICE_TREE:设备树文件,uboot 也支持设备树,所以在编译的时候需要指定设备树文
件,不同的硬件其设备树文件肯定不同,这里为 stm32mp157d_atk,也就是正点原子的
STM32MP157 开发板对应的设备树。

//清除
make distclean
//配置 uboot
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- stm32mp157d_atk_defconfig
//编译
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- DEVICE_TREE=stm32mp157d-atk all

6、编译成功
在这里插入图片描述

7、烧录uboot

重点是 u-boot.bin 和 u-boot.stm32 这两个文件。u-boot.bin 是 uboot 的二进制可执行文件,u-boot.stm32 是在 u-boot.bin 前面添加了256 个字节头部信息

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HX科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值