STM32MPU 开发环境搭建
嵌入式设备通常无法自己编译自己运行的程序,这时候就需要有一台主机来负责编译程序。但是主机的平台和嵌入式平台是不一样的,芯片的指令集也不一样。这时候就需要用到交叉编译,也就是在主机上安装嵌入式平台的 SDK,来进行编译开发。
一、前提条件
- Linux 环境(虚拟机也可以)
- SDK, 我这里用的版本是
en.SDK-x86_64-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz
,下载完成后解压
二、指令
- 进入 SDk 目录
1
2
3
4
5
6
7
8
9
10
11
12chmod +x <image>-<distro>-<machine>-<host machine>-toolchain-<Yocto release>-<version>.sh
./<image>-<distro>-<machine>-<host machine>-toolchain-<Yocto release>-<version>.sh -d <SDK installation directory path>
source <SDK installation directory path>/environment-setup-<target>-<distro>-linux-gnueabi
// source /opt/st/stm32mp1/4.2.1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
// DEBUG
echo $ARCH
arm
echo $CROSS_COMPILE
arm-ostl-linux-gnueabi-
$CC --version
arm-ostl-linux-gnueabi-gcc (GCC) <GCC version>
三、打印 hello world
The SDK environment setup script must be run once in each new working terminal in which you cross-compile:
- 创建一个 c 文件
- vim hello.c
- 代码如下:
1
2
3
4
5
6
int main(int argc, char* argv)
{
printf("hello, world.\n");
return 0;
} - 编译
- $CC -o hello hello.c
- 拷贝到 STM32 MPU 开发板
- scp hello ip:/home/root
- 运行
- ./hello
- ./hello
四、参考链接
- 标题: STM32MPU 开发环境搭建
- 作者: cyang812
- 创建于 : 2024-03-29 22:10:26
- 更新于 : 2024-03-29 22:10:26
- 链接: https://blog.cyang.tech/2024/03/29/STM32MPU 开发环境搭建/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论