硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4529|回复: 3
收起左侧

[STM32H7] RTE环境建立起来的STM32H743工程只能手动运行,调试时不能自动运行到main()

[复制链接]

14

主题

81

回帖

123

积分

初级会员

积分
123
发表于 2020-2-28 10:38:49 | 显示全部楼层 |阅读模式
软件是MDK5.29,STM32CubeMX5.5用RTE建立工程,使用了RTX、FlashFS、RGB LCD、SDRAM,STM32CubeMX初始化IO、时钟和外设。

进入调试模式后,自动停在 LDR R0, =SystemInit,而不是自动运行到main(),此时F5、F10、F11都运行正常,程序执行效果和代码一致。

断电后再重新上电也不会自动运行。

可以排除硬件问题,因为运行MDK自带的File_Demo例子能正常运行到main()(使用MDK自带的PackInstaller.exe 选择开发板的例程,copy出来的工程文件)

做了如下尝试:
(1)对比File_Demo工程和汇编文件,仅仅在汇编文件里 加大堆栈,都分别加大到了0x6000,无效;
(2)把MDK option设置里,Debug栏中 Reset模式选择 SYSRESETREQ(默认为Autodetect),无效;
(3)把自编代码里的printf 注释掉,原本是通过ITM 可以正常发数据和显示。

以上(2)、(3)是网上搜索看了一些经验而做的,目前看都不是这方面问题。

有没有哪位大侠,帮忙提示一下,万分谢谢!
回复

使用道具 举报

4

主题

37

回帖

49

积分

初级会员

积分
49
发表于 2020-2-28 11:16:22 | 显示全部楼层
我也是和你碰到一样的问题,不过我用的的是AC6.13编译器,优化等级是O0时会出现。你把优化等级改下就好了,这个我怀疑可能和盗版仿真器的问题。
回复

使用道具 举报

14

主题

81

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2020-2-28 11:50:09 | 显示全部楼层
yswtxiao 发表于 2020-2-28 11:16
我也是和你碰到一样的问题,不过我用的的是AC6.13编译器,优化等级是O0时会出现。你把优化等级改下就好了, ...

还真是这个原因,好诡异,谢谢!

我用的是stlink,看来不是仿真器盗版的问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115666
QQ
发表于 2020-2-28 13:32:07 | 显示全部楼层
暂未遇到过这种问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 14:26 , Processed in 0.245135 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表