STM32MP157目标检测环境搭建 (2) 交叉编译器安装
1 概要
准备使用STM32MP157做目标检测项目,考虑到嵌入式设备资源有限,因此选择腾讯推出的ncnn深度学习框架来进行目标检测的实现,整个工程实现步骤大体如下:
(1) 搭建开发环境
(2) 搭建NCNN框架
(3) 实现自己的目标检测网络
(4) 实现qt可视化展示
硬件配置:
嵌入式端:STM32MP157 arm32架构
PC端:windows11 x86架构
2 交叉编译器安装
2.1 为什么需要交叉编译器
ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,我们在第三章“Linux C编程入门”里面已经讲解了如何在Liux进行C语言开发,里面使用GCC编译器进行代码编译,但是Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:
(1) 它肯定是一个GCC编译器。
(2) 这个GCC编译器是运行在X86架构的PC上的。
(3) 这个GCC编译器是编译ARM架构代码的,也就是编译出来的可执行文件是在ARM芯片上运行的
交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。
交叉编译器有很多种,ST也有推荐的通用交叉编译器,如下图所示:

下载链接为:
https://developer.arm.com/tools-and-software/open-source-software/developertools/gnu-toolchain/gnu-a/downloads
也可以通过如下网盘链接进行stm32mp157的交叉编译器的下载:
通过网盘分享的文件:05、开发工具.zip
链接: https://pan.baidu.com/s/1luPvDPk7MNSIlZoZbiBkuA?pwd=1234 提取码: 1234
具体位置在:开发工具→1.交叉编译器→gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
2.2 交叉编译工具安装
1.首先将下载后的交叉编译工具的压缩包上传到stm32mp157的任意目录下,之后在该目录中执行以下命令:
sudo mkdir /usr/local/arm
2.将刚刚拷贝的交叉编译器复制到/usr/local/arm 这个目录中,在终端使用命令“cd”进入/usr/local/arm目录中,执行如下解压命令:
sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
等待解压完成,解压完成以后会生成一个名为“gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。
3.修改环境变量,使用打开/etc/profile文件,命令如下:
sudo vi /etc/profile
打开/etc/profile 以后,在最后面输入如下所示内容:
export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin
添加完成以后的/etc/profile如图所示:

修改好以后就保存退出,重启Ubuntu系统,交叉编译工具链(编译器)就安装成功了。
2.3 安装相关库
在使用交叉编译器之前还需要安装一下其它的库,命令如下:
sudo apt-get update #先更新,否则安装库可能会出错
sudo apt-get install lsb-core lib32stdc++6 #安装库
等待这些库安装完成后进行交叉编译器的验证:
终端输入如下指令:
arm-none-linux-gnueabihf-gcc -v
如果交叉编译器安装正确的话就会显示版本号,如下图所示:

3 其他章节链接
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)