windows环境准备

下载STM32CubeProgrammer
需要注册账号,我这里选择win64版本
STM32CubeProgrammer
安装过程略

编译主机搭建

uname -a
Linux tanic 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

ubunt20下载

ubuntu镜像下载地址
我这选择的ubuntu-22.04.1-live-server-amd64.iso ,虚拟机安装步骤省略
ubuntu20

编译环境配置

sudo apt install gcc g++ make unzip

buildroot下载编译

wget https://buildroot.org/downloads/buildroot-2021.02.8.tar.gz
tar zxvf buildroot-2021.02.8.tar.gz
cd buildroot-2021.02.8
make stm32mp157a_dk1_defconfig
# 切换到国内源,编译过程会自动下载很多包括linux内核源码busybox在内的很多源码
echo 'BR2_KERNEL_MIRROR="http://mirrors.ustc.edu.cn/kernel.org/"' >> .config
echo 'BR2_GNU_MIRROR="http://mirrors.ustc.edu.cn/gnu/"' >> .config
echo 'BR2_LUAROCKS_MIRROR="https://luarocks.cn"' >> .config
echo 'BR2_CPAN_MIRROR="http://mirrors.ustc.edu.cn/CPAN/"' >> .config
make clean
make

下载固件编译

编译完成后生成
在这里插入图片描述

刷固件到板子

使用STM32CubeProgrammer

准备官方固件包

官方固件包
en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz

添加自己的配置

解压后 在 stm32mp1-v22.06.15\images\stm32mp1 下创建my_app 文件夹
把上面编译输出的文件拷贝到my_app,同时新建文件my_app.tsv
如下

#Opt	Id	Name	Type	IP	Offset	Binary
-	0x01	fsbl1-boot	Binary	none	0x0	arm-trusted-firmware/tf-a-stm32mp157a-dk1-usb.stm32
-	0x03	ssbl-boot	Binary	none	0x0	fip/fip-stm32mp157a-dk1-optee.bin
P	0x04	fsbl1	Binary	mmc0	0x00004400	my_app/tf-a-stm32mp157a-dk1.stm32
P	0x05	fsbl2	Binary	mmc0	0x00044400	my_app/tf-a-stm32mp157a-dk1.stm32
P	0x06	ssbl	Binary	mmc0	0x00084400	my_app/u-boot.stm32
P	0x21	boot	System	mmc0	0x00284400	my_app/rootfs.ext2

4个文件

下载

1.注意电源必须2.1A以上,否则下载过程中USB口会无法识别的错误,
2.两个拨码开关拨到off,按一下重启按钮
3.升级完后在拨到ON,按一下重启按钮
stm32mp1-v22.06.15这个文件夹的名字我在家呀基础上改短了
stm32mp1-v22.06.15
串口登录开发板
在这里插入图片描述
用户名 root 密码空
实际SD卡有16G,这里分区只有120M有待研究;
这个固件和官方的不同,省略了很多东西,再有就是内核和设备数都在rootfs中
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐