打印
[STM32F4]

仿真时,main函数的起始位置是如何确定的?

[复制链接]
346|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
封存into|  楼主 | 2025-3-18 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32CubeIDE 项目框架生成后,我用我自己代码 main.c。当通过 STLink 仿真时,程序不在我的 main.c 中,而是跑到了原始的空 Project\Core\Src\main.c 并不是我的 Project\Src\main.c。仿真时,IDE中仅打开我的 Project/Scr/main.c。当仿真在 HAL_Init() 断点处停止时,它会将 Project/Core/Scr/main.c 加载到IDE。这如何解释,当然我没删掉Project\Core\Src\main.c?

使用特权

评论回复
沙发
classroom| | 2025-3-18 11:17 | 只看该作者
可能是项目文件路径冲突导致的。

使用特权

评论回复
板凳
laocuo1142| | 2025-3-18 12:00 | 只看该作者
构建配置残留导致的?

使用特权

评论回复
地板
flycamelaaa| | 2025-3-18 13:20 | 只看该作者
检查是否有其他文件路径冲突。

使用特权

评论回复
5
powerantone| | 2025-3-18 14:45 | 只看该作者
尝试在新工作区重建项目。

使用特权

评论回复
6
stormwind123| | 2025-3-18 15:30 | 只看该作者
重新生成代码。

使用特权

评论回复
7
probedog| | 2025-3-18 15:59 | 只看该作者
清理并重新构建项目。

使用特权

评论回复
8
Wordsworth| | 2025-3-22 07:45 | 只看该作者
在 Project/Src/main.c 里加个 #error "This is my main.c",看看编译时有没有报错,如果没有,说明这个文件根本没被编译进去。

使用特权

评论回复
9
Bblythe| | 2025-3-22 07:47 | 只看该作者
看看 startup_stm32f4xx.s 里的 Reset_Handler,它最终跳转的 _start 或 main 可能并不是你期望的那个。

使用特权

评论回复
10
Pulitzer| | 2025-3-22 07:48 | 只看该作者
使用 objdump -t 检查 ELF 文件,可以看看符号表里 main 是在哪个地址定义的,是否来自你期望的 main.c。

使用特权

评论回复
11
Uriah| | 2025-3-22 07:49 | 只看该作者
检查 Makefile,看看编译时 SRCS 变量里有没有包含 Project/Src/main.c,如果没有,就需要手动添加进去。

使用特权

评论回复
12
Clyde011| | 2025-3-22 07:50 | 只看该作者
可能是 CubeMX 重新生成了默认 main.c,并把你的 main.c 覆盖或忽略了,建议把 Project/Core/Src/main.c 先移走,再重新编译看看效果。

使用特权

评论回复
13
公羊子丹| | 2025-3-22 07:51 | 只看该作者
检查工程设置,看看 C/C++ Build -> Settings -> Tool Settings -> MCU GCC Compiler -> Include Paths 里是否仍然包含 Project/Core/Src/。

使用特权

评论回复
14
周半梅| | 2025-3-22 07:52 | 只看该作者
可能 CMakeLists.txt 里优先使用了 Project/Core/Src/main.c,导致编译链接时你的 Project/Src/main.c 没有被真正编译进去。

使用特权

评论回复
15
童雨竹| | 2025-3-22 07:53 | 只看该作者
查看 map 文件,编译后生成的 *.map 文件可以帮助你确定最终链接的 main 是哪个文件里的。

使用特权

评论回复
16
帛灿灿| | 2025-3-22 07:54 | 只看该作者
尝试删除 Project/Core/Src/main.c,看看编译是否报错,如果没有报错,说明 Project/Src/main.c 没有正确加入工程。

使用特权

评论回复
17
万图| | 2025-3-22 07:55 | 只看该作者
检查 .cproject 和 .project,有时候 STM32CubeIDE 可能仍然引用旧的 main.c 路径,可以手动编辑这些 XML 配置文件修正路径。

使用特权

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

本版积分规则

13

主题

15

帖子

0

粉丝