打印
[STM32N6]

如何在STM32MP1上编译和运行简单的C应用程序?

[复制链接]
312|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
需要哪些工具链和环境配置?

如何将编译后的程序传输到开发板并运行?

使用特权

评论回复
沙发
yangjiaxu| | 2025-3-6 15:26 | 只看该作者
想裸机开发?如果是的话,你就用cubemx,是支持的

使用特权

评论回复
板凳
公羊子丹| | 2025-3-7 07:46 | 只看该作者
你是用裸机环境,还是运行在 Linux 上?STM32MP1 支持 Yocto 和 Debian,两种方式编译略有不同。

使用特权

评论回复
地板
周半梅| | 2025-3-7 07:48 | 只看该作者
如果是 Linux 环境,可以用 gcc 或 arm-linux-gnueabihf-gcc 交叉编译,然后用 scp 传到板子上运行。

使用特权

评论回复
5
帛灿灿| | 2025-3-7 07:49 | 只看该作者
你可以用 ssh 连接开发板,直接在板子上用 gcc 编译 C 代码,省去交叉编译的麻烦。

使用特权

评论回复
6
童雨竹| | 2025-3-7 07:51 | 只看该作者
交叉编译的话,先安装 ST 提供的 SDK,使用 arm-none-linux-gnueabihf-gcc 进行编译。

使用特权

评论回复
7
万图| | 2025-3-7 07:52 | 只看该作者
你可以试试用 scp 或者 rsync 传输程序到开发板,然后 chmod +x 设置可执行权限后运行。

使用特权

评论回复
8
Wordsworth| | 2025-3-7 07:54 | 只看该作者
如果开发板装了 NFS,可以直接把程序放到 NFS 共享目录里,免去传输的步骤。

使用特权

评论回复
9
Bblythe| | 2025-3-7 07:55 | 只看该作者
你想用哪种调试方式?如果是裸机,可以用 J-Link/OpenOCD;如果是 Linux,可以用 gdbserver 远程调试。

使用特权

评论回复
10
Pulitzer| | 2025-3-7 07:57 | 只看该作者
可以尝试使用 STM32CubeIDE,它支持 STM32MP1 的 Linux 应用开发,集成了交叉编译工具链。

使用特权

评论回复
11
Uriah| | 2025-3-7 07:58 | 只看该作者
如果是跑在 Linux 上,记得检查 ldd 依赖库,确保所有运行时库都正确。

使用特权

评论回复
12
Clyde011| | 2025-3-7 08:00 | 只看该作者
你是用官方的 STM32MP1 开发板还是自制的?有些板子可能需要手动配置 systemd 才能自动运行程序。

使用特权

评论回复
13
laocuo1142| | 2025-3-7 11:02 | 只看该作者
在STM32MP1上编译和运行简单的C应用程序需要一系列的工具链和环境配置。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

444

帖子

1

粉丝