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