打印
[STM32N6]

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

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

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

使用特权

评论回复
沙发
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应用程序需要一系列的工具链和环境配置。

使用特权

评论回复
14
风凉| | 2025-4-19 01:11 | 只看该作者
这个一般不都是使用cubeIDE就可以吗,再配合cubemx

使用特权

评论回复
15
西洲| | 2025-4-19 02:27 | 只看该作者
一般可以用cubemx来生成简单的C裸机程序的

使用特权

评论回复
16
白马过平川| | 2025-4-19 03:18 | 只看该作者
为啥你都用MP1了,还弄个简单的干啥?不得直接跑系统

使用特权

评论回复
17
温室雏菊| | 2025-4-19 04:28 | 只看该作者
创建一个名为 hello.c 的文件:如果使用 OpenSTLinux SDK,加载其环境脚本这会自动设置交叉编译工具链路径

使用特权

评论回复
18
春日负喧| | 2025-4-19 05:25 | 只看该作者
建议使用 STM32CubeMX 配置工程,选择 Cortex-M4 内核。配置时钟、GPIO 等外设。使用 STM32CubeIDE Keil 编译

使用特权

评论回复
19
故意相遇| | 2025-4-19 06:27 | 只看该作者
你直接使用MP1Cortex-M4内核呗,适合运行实时性要求高的应用程序,无需操作系统

使用特权

评论回复
20
捧一束彼岸花| | 2025-4-19 07:28 | 只看该作者
我觉得你都有MP1了,还跑个简单的C裸机干啥呢

使用特权

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

本版积分规则

58

主题

444

帖子

1

粉丝