打印

关于系统常常重新启动的紧急求助

[复制链接]
1965|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wsxlf|  楼主 | 2010-8-17 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人负责做软件的一块板子,绝大多数任务已经完成。但是,最近却碰到板子经常重启的问题。

本人说说“病情”,请高手帮忙诊断。重启多半是按键后发生的。如果电量不足(比如仅靠电池供电一段时间后), 则运行途中也可能重启。

如果用ULINK调试时,一切正常。接了ULINK后,即使不在调试状态,重启现象有所减轻。
在下有点怀疑硬件人员的供电部分有些毛病,但是作为新手的硬件人员矢口否认,本人对纯硬件方面不大了解, 望高手指点问题,非常感谢。
沙发
香水城| | 2010-8-17 21:45 | 只看该作者
哈哈,果然是做软件的,连芯片什么型号都不知道,别人就更不知道了,:lol

使用特权

评论回复
板凳
wsxlf|  楼主 | 2010-8-18 08:29 | 只看该作者
这里是ST芯片的论坛吧,板子上的CPU是STM32103RBT6,如果这些东西搞不懂,如何设计硬件。老实说如何用TIM5和TIM8的中断都摸出来了。至于上次金鹏LCD,它的列坐标居然是从4开始。

使用特权

评论回复
地板
sinadz| | 2010-8-18 16:29 | 只看该作者
硬件问题,但是根据你给的信息,我实在是判断不出是具体的问题出在哪

使用特权

评论回复
5
香水城| | 2010-8-18 18:41 | 只看该作者
按键后系统做了什么动作?

“如果电量不足比如仅靠电池供电一段时间后),则运行途中也可能重启。”,从这个现象看,似乎在你的系统需要较大电流时,电池供应不上造成电压下降,从而触发了STM32的掉电复位。

按键后导致复位,很可能也是电压下降造成的。

你可以看看RCC_CSR寄存器中的标志位,这些标志位可以指示复位是由什么引起的,比如上面说的掉电复位。

使用特权

评论回复
6
wsxlf|  楼主 | 2010-8-18 22:09 | 只看该作者
谢谢各位的回复,不过,我想会不会是调试信息引起的问题呢?程序小的时候,可能没问题,程序大了,就不行了。明天去掉调试信息试试。

使用特权

评论回复
7
dfsa| | 2010-8-19 09:18 | 只看该作者
这种可能性不大

使用特权

评论回复
8
无冕之王| | 2010-8-19 10:05 | 只看该作者
调试信息会引起这种问题吗??不太可能

使用特权

评论回复
9
mohanwei| | 2010-8-19 10:16 | 只看该作者
通常90%以上的问题都是电源引起的

使用特权

评论回复
10
wsxlf|  楼主 | 2010-8-19 16:53 | 只看该作者
本帖最后由 wsxlf 于 2010-8-19 16:56 编辑

问题已经解决,确实不是调试信息引起的。问题分2个方面。一是开机重启,表象是电池充足,正常运行的时间稍微长一点。实际情况居然是对TIM4中断进行了失能。
NVIC_IintStructure.NVIC_IRQChanelCmd = DISABLE;,因为不想进入TIM4 定时器中断,没想到居然引起不断重启,
此问题可以重复试验。也算是系统的一个BUG吧。

按键重启则是因为窗口狗设置不当引起的,由于公司突然遭遇停电,进一步分析无法进行。可能的原因是窗口狗优先级低了。而在按键相关处理的定时器中断中,有一段一直读按键直到松开的程序。如此造成喂窗狗中断不能及时相应,无法及时喂狗,结果导致中断。香版的关于读RCC_CSR建议很好,准备加在初始化程序中。

再次感谢各位的回复,本人搞嵌入式软件好几年了,以前是在终端相关的公司。进入测控领域刚3个月,很多方面要向大家请教哦。

使用特权

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

本版积分规则

3

主题

11

帖子

1

粉丝