引言
上一篇文章👉【STM32MP135】构建ST MPU官方Distribution Package–生成Satrter Package和Developer Package👈中我们完成了Distribution Package的构建并生成了Starter Package和Developer Package
按照ST推荐的工作目录结构👉软件包目录结构示例👈,将其拷贝到对应路径
# 将构建Yocto时生成的Starter Package拷贝出来以后使用,注意修改成自己的实际路径
cp -rf build-openstlinuxweston-stm32mp13-disco/tmp-glibc/deploy/images/ /home/ubuntu/STM32MPU-Ecosystem-v5.1.0/Starter-Package/
# 将构建Yocto时生成的Developer Package拷贝出来以后使用,注意修改成自己的实际路径
cp -rf build-openstlinuxweston-stm32mp13-disco/tmp-glibc/deploy/sources /home/ubuntu/STM32MPU-Ecosystem-v5.1.0/Developer-Package/
接下来还剩最后一个环节就是为开发人员提供SDK
本文参考:👉 如何为 OpenSTLinux 发行版创建 SDK👈
1.构建并部署SDK
构建SDK的过程非常简单,只需执行两条指令,然后等待就好
# Yocto环境准备
DISTRO=openstlinux-weston MACHINE=stm32mp13-disco source layers/meta-st/scripts/envsetup.sh
# 生成SDK
bitbake -c populate_sdk st-image-weston
构建完成后,会在build-openstlinuxweston-stm32mp13-disco/tmp-glibc/deploy/sdk
生成SDK工具链,前往该路径运行脚本安装SDK到系统
# 前往SDK路径
cd /home/ubuntu/STM32MPU-Ecosystem-v5.1.0/Distribution-Package/build-openstlinuxweston-stm32mp13-disco/tmp-glibc/deploy/sdk
# 安装SDK
./st-image-weston-openstlinux-weston-stm32mp13-disco-x86_64-toolchain-4.2.4-snapshot.sh
脚本会提示选择SDK安装路径,我选择保持默认,等待SDK部署完成
SDK部署后,脚本提示我们在使用SDK前需要使用以下命令初始化环境
. /opt/st/stm32mp13-disco/4.2.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
上面的命令在.
与路径之间有一个空格,注意不要忘记,不如直接使用source
命令代替,都是一样的效果
source /opt/st/stm32mp13-disco/4.2.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
SDK环境准备就绪后使用一下命令检查工具链是否可以正常使用
$CC --version
该条指令用于查看当前交叉编译器信息,返回正确的交叉编译器版本即为正常
至此SDK完成构建和部署
2.烧写Starter Pckage测试
准备烧录环境,安装好CubeProgrammer,参考👉👉STM32MP13 Discovery kits - Starter Package-5. 安装工具👈
确保Ubuntu上安装好STM32CubeProgrammer和libusb驱动,并将STM32CubeProgrammer可执行文件路径临时添加至PATH
export PATH=/home/ubuntu/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin:$PATH
准备好SD卡,数据线,STM32MP135-DK板,电源,调整拨码开关至下载模式
使用STM32_Programmer_CLI -l usb
命令查看当前连接的待烧录的STM32MP135设备
前往Starter Package路径,准备烧录
# 前往镜像路径
cd /home/ubuntu/STM32MPU-Ecosystem-v5.1.0/Starter-Package/images/stm32mp13-disco
开始烧录镜像,等待完成,同时可以在屏幕上,调试串口,Ubuntu Shell中看到烧录进度
# 烧写镜像至SD卡
STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp135f-dk-optee.tsv
烧写完成后,调整拨码开关至SD卡启动,按下复位按键
从调试串口和板载屏幕看到系统正常启动