STM32
直播中

刘丽

7年用户 1241经验值
私信 关注
[问答]

怎样去解决STM32无法Dubug也无法正常运行的问题呢

为什么STM32无法Dubug也无法正常运行呢?
怎样去解决STM32无法Dubug也无法正常运行的问题呢?

回帖(1)

张红玲

2021-12-1 10:33:39
近日工程中遇到了STM32无法Dubug 也无法正常运行的问题,现象如下:





程序一直在反汇编中循环运行,无法将程序运行至main函数,更不用说断点调试了。查看了网上的说法,可能的原因有
1、output 设置没有选中 debug information;
2、debug 选项 run to main() 没有选中;
3、程序中使用了printf 并通过fputc进行了重定向,但未选择“use microLib”选项;
4、debug 设置中 reset 选择为autodetect,导致无法调试。我这里选为SYSRESETREQ;
5、Boot0 引脚没有拉低,导致程序不是从flash中运行;
1)





2)





3)










综上几种可能的原因进行逐一排除,发现本项目的问题是BOOT0引脚没有拉低处理,通过导线将该引脚接地后,程序从FLASH中启动,并能进行debug调试。
由于硬件工程师将BOOT0引脚只进行悬空处理,让我浪费了很长时间排查问题。所以还是应该严谨一些呀。
援引大牛的说法: “boot0不能悬空的,必须要接地,否则有时候根本就不会工作,而且要加上拉,否则ISP不能烧录程序”
me:使用STLINK下载可以将BOOT0直接接地。





有些芯片没有boot1引脚,改用内部寄存器代替,这样就节省了一个引脚的空间。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分