STM32MP157F-DK2开发板构建交叉编译链
2026/8/24 14:52:40 网站建设 项目流程

STM32MP157F-DK2开发板构建交叉编译链

1、环境下载

在线下载ST官方软件包,ST官方定义的三大软件包Starter Package(预编译的软件镜像-烧录到开发板即可运行)、Developer Package(带交叉编译链)、Distribution Package(基于OpenEbedded/Yocto完整的构架框架和源代码,由于Developer包不含QT交叉编译链,也无法附加所以需要使用Distribution)

(1)下载Distribution Package包
初始化本地仓库,并使用国内代理

repo init -u https://gitee.com/mirrors_STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.1-yocto-mickledore-mpu-v24.06.26

如果repo命令没有安装需要安装并验证版本

sudo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /usr/local/bin/repo sudo chmod a+x /usr/local/bin/repo repo --version

之后使用同步命令下载

repo sync

(2)下载相关库并且配置
首先下载对应的qt资源

git clone -b v2.2.0 https://github.com/STMicroelectronics/meta-st-x-linux-qt.git meta-st/meta-st-x-linux-qt git clone -b 6.8 https://code.qt.io/yocto/meta-qt6.git git clone -b mickledore https://github.com/kraj/meta-clang.git

配置

BSP_DEPENDENCY="layers/meta-qt6 layers/meta-st/meta-st-x-linux-qt layers/meta-clang" DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh

2、生成交叉编译链

(1)生成一个可以在开发板上启动运行的完整 Linux 系统镜像

bitbake st-image-qt package-index

这个命令运行时间很长,需要重复运行直到下载完成
(2)生成“交叉编译工具链安装包”

bitbake st-image-qt -c populate_sdk

这个命令执行完即可生成可执行SDK构建遍历链

注:这里有个问题qt编译时需要使用镜像自带的编译环境进行编译,要不打包时qt会用系统的环境,需要在“layers/meta-qt6/recipes-qt/qt6/gn-native_git.bbappend”文件下后面追加下面的代码

do_compile() { ${PYTHON} ${S}/src/3rdparty/gn/build/gen.py \ --no-last-commit-position \ --out-path ${B} \ --cc ${CC} \ --cxx ${CXX} \ --ld ${CXX} \ --platform linux \ --ar ${AR} \ --qt-version ${QT_VERSION} # GCC 9 不支持 -std=gnu++20,替换为支持的 -std=gnu++2a sed -i 's/-std=gnu++20/-std=gnu++2a/g' ${B}/build.ninja ninja -C ${B} gn }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询