STM32MP157_Linux5.4+QT6.7.2+OpenCV开发——2构建环境与工具链实战

1. 环境准备与工具链搭建

在开始STM32MP157的嵌入式Linux开发之前,环境搭建是最关键的一步。我刚开始接触这个板子的时候,花了两天时间才把环境搞稳定,中间踩了不少坑。这里分享我的实际经验,帮你避开那些常见的陷阱。

首先你需要准备一台运行Ubuntu 20.04或22.04的主机,我实测下来这两个版本最稳定。硬件配置建议至少8GB内存和100GB硬盘空间,因为编译Qt和OpenCV需要大量资源。记得先更新系统:

sudo apt update && sudo apt upgrade -y

安装基础开发工具链,这些是后续编译的基石:

sudo apt install -y build-essential git cmake libncurses5-dev libssl-dev \
flex bison libelf-dev python3-dev python3-pip device-tree-compiler \
u-boot-tools bc swig libatlas-base-dev gfortran

我建议单独创建一个工作目录,避免文件混乱:

mkdir -p ~/stm32mp157-dev
cd ~/stm32mp157-dev
export WORKDIR=$PWD

接下来要获取ARM交叉编译工具链。我试过好几个版本,最后发现Linaro的gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf最稳定:

wget https://releases.linaro.org/components/toolchain/binaries/10.3-2021.07/arm-none-linux-gnueabihf/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz
tar -xf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz
export CROSS_COMPILE=$WORKDIR/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
echo "export CROSS_COMPILE=$CROSS_COMPILE" >> ~/.bashrc

验证工具链是否安装成功:

${CROSS_COMPILE}gcc --version

如果看到类似"arm-none-linux-gnueabihf-gcc (Linaro GCC 10.3-2021.07) 10.3.1 20210621"的输出,说明工具链配置正确。

2. Buildroot系统构建实战

Buildroot是我最终选择的构建系统,相比Yocto它更轻量,学习曲线也更平缓。特别是在资源有限的开发环境下,Buildroot的编译速度明显更快。

首先获取Buildroot源码,我建议使用2022.02.8这个LTS版本:

cd $WORKDIR
git clone https://git.buildroot.net/buildroot -b 2022.02.8
cd buildroot

ST官方提供了针对STM32MP157的配置文件,直接使用可以节省大量时间:

make stm32mp157_dk1_defconfig

但默认配置可能不适合你的具体需求,我建议进行定制化配置:

make menuconfig

在配置界面中,这几个选项需要特别注意:

  • Target optionsTarget Architecture 选择 ARM (little endian)
  • Target optionsTarget Architecture Variant 选择 cortex-A7
  • ToolchainToolchain type 选择 External toolchain<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值