关于stm32程序调试停止在0x0800262…

在程序开发过程中,遇到下一次运行时出现问题的情况,作者通过硬件仿真、注释代码、检查target配置等方法逐步排查原因,最终发现是由于未选择目标中的MicroLib选项导致程序无法正常运行。文章分享了调试过程中的经验教训。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写程序遇到了很郁闷的一件事情:
程序上一次下还可以运行,这一次下怎么就不行了?于是很坑爹的找起了答案。
我先用硬件仿真,发现仿真不好使,卡在那个界面了,连箭头都没有。然后我在程序的末尾左右写了句点亮LED灯的代码,发现只要注释掉其中的某些外部函数,程序就可以准确地运行,但是加上之后就不行了。后来我把外部程序里面的内容都注释掉了,然后再烧写进去。尼玛!函数里面是空的啊,怎么会这样!于是怀疑是不是芯片坏了,或者JLINK坏了。我想这不能啊,开发板好贵的啊,再说得靠这个做项目呢,于是再试,把一些芯片拔掉了再试(差点把芯片拔坏了),还是不行。就这样来来回回好久,我又用jlink下了一次,仿真,发现箭头在0x08002628 BEAB      BKPT     0xAB0这个地方,没有移动过。我想这是什么意思呢?坑爹呐。。。就几个空函数(注释掉里面的内容了)影响这么大?于是就上网查了查,就看到了说是target里面的USE Mcrolib 没有选上,我说不能够啊,上一次下还可以,下一次就不可以了?还是点开keil target看了看,尼玛,果真没选上!我什么时候把它钩掉了,我明明没动过target啊?难道这东西有快捷键?哎。。。。花了几个小时,也当是得到了点经验吧。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值