STM32MP157A-DK1 初探-buildroot构建最小Linux系统
STM32MP157A-DK1 buildroot最小linux系统构建
·
windows环境准备
下载STM32CubeProgrammer
需要注册账号,我这里选择win64版本
安装过程略
编译主机搭建
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 ,虚拟机安装步骤省略
编译环境配置
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
准备官方固件包
添加自己的配置
解压后 在 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
下载
1.注意电源必须2.1A以上,否则下载过程中USB口会无法识别的错误,
2.两个拨码开关拨到off,按一下重启按钮
3.升级完后在拨到ON,按一下重启按钮
stm32mp1-v22.06.15这个文件夹的名字我在家呀基础上改短了
串口登录开发板
用户名 root 密码空
实际SD卡有16G,这里分区只有120M有待研究;
这个固件和官方的不同,省略了很多东西,再有就是内核和设备数都在rootfs中
更多推荐
已为社区贡献1条内容
所有评论(0)