打印
[STM32F3]

请教一个STM32F302RE程序跑飞的问题

[复制链接]
2572|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
joyme|  楼主 | 2017-4-10 18:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F302RE芯片,程序在调试模式运行OK,用KEIL下载程序,后自动运行也没有问题,断电重启后程序运行约8秒钟后跑飞了?有没有人碰到过?程序没有启动看门狗,请教各位给点建议,谢谢!
沙发
feelhyq| | 2017-4-10 18:54 | 只看该作者
跑飞了肯定会导致 hardfault,在hardfault里面的寄存器打印出来看看出错的地方

使用特权

评论回复
板凳
yklstudent| | 2017-4-10 20:47 | 只看该作者
feelhyq 发表于 2017-4-10 18:54
跑飞了肯定会导致 hardfault,在hardfault里面的寄存器打印出来看看出错的地方

请问在hardfault下怎么寄存器打印出出错的地方?

使用特权

评论回复
地板
hellosdc| | 2017-4-10 22:07 | 只看该作者
楼主看看你的程序怎么回事

使用特权

评论回复
5
hellosdc| | 2017-4-10 22:08 | 只看该作者
如果每次都这样就是程序存在问题,查看一下变量。

使用特权

评论回复
6
feelhyq| | 2017-4-11 08:52 | 只看该作者
yklstudent 发表于 2017-4-10 20:47
请问在hardfault下怎么寄存器打印出出错的地方?

在fardfault 里面写个汇编代码,将PSP或者MSP拷到一个变量中,将该变量转换成指针,然后向上取8个world数据,该数据依次为 xpsr,pc,lr,r12,r0~r3.

使用特权

评论回复
7
joyme|  楼主 | 2017-4-11 09:33 | 只看该作者
刚确认了一下,好像是降频导致的,回复主频72M就没有这个问题

使用特权

评论回复
8
joyme|  楼主 | 2017-4-11 09:36 | 只看该作者
就是不知道为什么降频的程序,通过STLINK下载后自动运行就不会出问题,重启之后就出问题了

使用特权

评论回复
9
yklstudent| | 2017-4-11 10:18 | 只看该作者
feelhyq 发表于 2017-4-11 08:52
在fardfault 里面写个汇编代码,将PSP或者MSP拷到一个变量中,将该变量转换成指针,然后向上取8个world数 ...

对汇编不熟悉,请教可否能给个简单范例

使用特权

评论回复
10
feelhyq| | 2017-4-11 10:26 | 只看该作者
yklstudent 发表于 2017-4-11 10:18
对汇编不熟悉,请教可否能给个简单范例

__asm void wdt()
{   
    IMPORT u32wdt
   
    MRS r0, msp      
   
    LDR r1, =u32wdt
    STR r0, [r1]
   
    BX lr   
   
}

使用特权

评论回复
11
feelhyq| | 2017-4-11 10:28 | 只看该作者
本帖最后由 feelhyq 于 2017-4-11 10:30 编辑
yklstudent 发表于 2017-4-11 10:18
对汇编不熟悉,请教可否能给个简单范例

请教谈不上,共同学习,以上代码已经运用到项目当中.

使用特权

评论回复
12
CHLDZKJ| | 2017-4-11 10:51 | 只看该作者
共同学习

使用特权

评论回复
13
joyme|  楼主 | 2017-4-11 14:12 | 只看该作者
好像没法查看啊,程序都不动了也没法把数据通过串口输出,又不能调试(调试模式是好的,而且用KEIL下载后自动运行时没有问题,重启后来出问题的)

使用特权

评论回复
14
gaolaotou| | 2017-4-11 17:19 | 只看该作者
hahahaha

使用特权

评论回复
15
yingjiashu| | 2017-4-12 08:56 | 只看该作者
调试时程序运行在RAM区,主频受Keil控制。

使用特权

评论回复
16
joyme|  楼主 | 2017-4-12 09:03 | 只看该作者
问题已找到,降频到8M就是不行,16M或16M以上都可以,好像没有看到那个资料有说STM32主频必须跑8M以上吧,谢谢大家回复

使用特权

评论回复
评论
zhaoyu2005 2017-4-12 09:28 回复TA
主频很低都可以,就看你是不是有其他外设导致异常 
17
Levenburg| | 2017-4-13 20:21 | 只看该作者
查看一下变量的值对吗

使用特权

评论回复
18
suzhanhua| | 2017-4-13 21:37 | 只看该作者
调试没问题就是代码没有问题

使用特权

评论回复
19
suzhanhua| | 2017-4-13 21:40 | 只看该作者
程序全速运行可能变量的问题

使用特权

评论回复
20
skyxjh| | 2017-8-4 12:22 | 只看该作者
可能是中断服务程序执行时间过长,降频后导致中断无限嵌套。。。

使用特权

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

本版积分规则

51

主题

1289

帖子

0

粉丝