打印
[STM32F1]

求助 程序运行死机

[复制链接]
2864|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzs0126|  楼主 | 2013-12-20 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟刚接触STM32F10不久,对ARM了解的不深。
开发的程序运行到一半时经常死机。仿真时看到程序跳转到B .时就一直死在那边了,见附图。
请问是怎么回事,哪位高人能给小弟指点下迷津。小弟也没啥分数,多谢了!
沙发
yzs0126|  楼主 | 2013-12-20 16:54 | 只看该作者
自己先顶一下 奇怪 上传的图片怎么不显示呢!

使用特权

评论回复
板凳
aaaxmaaa007| | 2013-12-20 17:45 | 只看该作者
怎么看不到图嘞?  估计是跑飞了,看看你程序中有没有数组越界等导致跑飞的bug

使用特权

评论回复
地板
杨爱林林| | 2013-12-21 15:50 | 只看该作者
没看到图,应该是发送错误中断了,其中B 是跳转到中断入口地址的意思
由于你没有定个这个错误中断,所以就一直在那B了
HardFault可能性居多,检查检查你程序中用到的buf,看看其定义及引用,是不是溢出了

使用特权

评论回复
5
ABHK| | 2013-12-21 20:20 | 只看该作者
程序  有木有  让大家一起分析分析   

使用特权

评论回复
6
ABHK| | 2013-12-21 20:20 | 只看该作者
我觉得   有可能是程序的中断响应出了问题     楼主

使用特权

评论回复
7
拿起书本| | 2013-12-21 21:33 | 只看该作者
开发板上注意切换引导跳线再仿真跑
看死在那边

使用特权

评论回复
8
戈卫东| | 2013-12-22 01:49 | 只看该作者
B .
本来就是死循环。。。。。

使用特权

评论回复
9
yzs0126|  楼主 | 2013-12-23 12:53 | 只看该作者
杨爱林林 发表于 2013-12-21 15:50
没看到图,应该是发送错误中断了,其中B 是跳转到中断入口地址的意思
由于你没有定个这个错误中断,所以就 ...


死机是跳转到这里的。

使用特权

评论回复
10
yzs0126|  楼主 | 2013-12-23 12:54 | 只看该作者
ABHK 发表于 2013-12-21 20:20
我觉得   有可能是程序的中断响应出了问题     楼主

嗯 我觉得也可能是进入硬件故障中断,但是不知道是什么所致的。已经上传了一张截图

使用特权

评论回复
11
yzs0126|  楼主 | 2013-12-23 12:57 | 只看该作者
杨爱林林 发表于 2013-12-21 15:50
没看到图,应该是发送错误中断了,其中B 是跳转到中断入口地址的意思
由于你没有定个这个错误中断,所以就 ...

还有,就是我单步一步步运行是正常的,如果整段代码一次运行就会死机。图上显示的是我进了USB中断嘛?但是这个程序我压根就没用USB

使用特权

评论回复
12
戈卫东| | 2013-12-23 13:07 | 只看该作者
你开启了某个中断,但是没有提供中断服务程序。
进入了启动代码提供的默认中断服务程序(死循环)。

使用特权

评论回复
13
戈卫东| | 2013-12-23 13:08 | 只看该作者
可能是直接采用了别人的代码,但没有把他的中断代码加入到项目中。

使用特权

评论回复
14
yzs0126|  楼主 | 2013-12-23 13:36 | 只看该作者
谢谢楼上,说的很有道理,但是我的情况好像也不是这样。我单步时运行是正常的

使用特权

评论回复
15
yzs0126|  楼主 | 2013-12-23 13:55 | 只看该作者

死机处对应的汇编代码如图所示,哪位大侠解答下。具体什么问题所致?

使用特权

评论回复
16
yzs0126|  楼主 | 2013-12-23 13:56 | 只看该作者

图片上传

本帖最后由 yzs0126 于 2013-12-23 14:12 编辑

图片上传

使用特权

评论回复
17
yzs0126|  楼主 | 2013-12-23 14:06 | 只看该作者
。。。。图片怎么又传不上去 这个编辑器好怪啊

使用特权

评论回复
18
杨爱林林| | 2013-12-23 14:30 | 只看该作者
yzs0126 发表于 2013-12-23 12:57
还有,就是我单步一步步运行是正常的,如果整段代码一次运行就会死机。图上显示的是我进了USB中断嘛?但是 ...

你先把你用到的所有中断都关掉,再运行一下
还有感觉你这个startup文件怪怪的
定义USBWakeUp_IRQHandler这个函数,设置断点,看看能不能跑进去

使用特权

评论回复
19
杨爱林林| | 2013-12-23 14:32 | 只看该作者
你先把你用到的所有中断都关掉,再运行一下
还有感觉你这个startup文件怪怪的
定义USBWakeUp_IRQHandler这个函数,设置断点,看看能不能跑进去

startup_stm32f10x_md.rar

2.46 KB

使用特权

评论回复
20
yzs0126|  楼主 | 2013-12-24 10:31 | 只看该作者
杨爱林林 发表于 2013-12-23 14:32
你先把你用到的所有中断都关掉,再运行一下
还有感觉你这个startup文件怪怪的
定义USBWakeUp_IRQHandler这 ...

我用的是103VET6的片子,按型号来说应该用hd的启动文件,我换了hd的启动文件,还是会有死机的现象呢!:dizzy:

使用特权

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

本版积分规则

14

主题

59

帖子

0

粉丝