如何在STM32MP1上编译和运行简单的C应用程序?
需要哪些工具链和环境配置?如何将编译后的程序传输到开发板并运行?
想裸机开发?如果是的话,你就用cubemx,是支持的 你是用裸机环境,还是运行在 Linux 上?STM32MP1 支持 Yocto 和 Debian,两种方式编译略有不同。 如果是 Linux 环境,可以用 gcc 或 arm-linux-gnueabihf-gcc 交叉编译,然后用 scp 传到板子上运行。 你可以用 ssh 连接开发板,直接在板子上用 gcc 编译 C 代码,省去交叉编译的麻烦。 交叉编译的话,先安装 ST 提供的 SDK,使用 arm-none-linux-gnueabihf-gcc 进行编译。 你可以试试用 scp 或者 rsync 传输程序到开发板,然后 chmod +x 设置可执行权限后运行。 如果开发板装了 NFS,可以直接把程序放到 NFS 共享目录里,免去传输的步骤。 你想用哪种调试方式?如果是裸机,可以用 J-Link/OpenOCD;如果是 Linux,可以用 gdbserver 远程调试。 可以尝试使用 STM32CubeIDE,它支持 STM32MP1 的 Linux 应用开发,集成了交叉编译工具链。 如果是跑在 Linux 上,记得检查 ldd 依赖库,确保所有运行时库都正确。 你是用官方的 STM32MP1 开发板还是自制的?有些板子可能需要手动配置 systemd 才能自动运行程序。 在STM32MP1上编译和运行简单的C应用程序需要一系列的工具链和环境配置。 这个一般不都是使用cubeIDE就可以吗,再配合cubemx
一般可以用cubemx来生成简单的C裸机程序的
为啥你都用MP1了,还弄个简单的干啥?不得直接跑系统
创建一个名为 hello.c 的文件:如果使用 OpenSTLinux SDK,加载其环境脚本这会自动设置交叉编译工具链路径
建议使用 STM32CubeMX 配置工程,选择 Cortex-M4 内核。配置时钟、GPIO 等外设。使用 STM32CubeIDE 或 Keil 编译
你直接使用MP1的Cortex-M4内核呗,适合运行实时性要求高的应用程序,无需操作系统
我觉得你都有MP1了,还跑个简单的C裸机干啥呢
页:
[1]