查看: 3588|回复: 3

[MQX] 查找MK60DN512ZVLQ10+MQX3.7死机原因

[复制链接]

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
发表于 2013-11-18 10:32:43 | 显示全部楼层 |阅读模式
 最近使用MK60dn512zvlq10+mqx3.7,做数据采集终端。系统老是运行运行一段时间就挂掉了。一段时间大概是是20个小时左右。
系统大概是这样搭建的:一个线程接受6组串口数据,根据接收字节间的时间间隔来分割数据包。收到数据包后  设置(对应串口接受到数据包事件的事件位),对应串口设备线程等待到相应事件位后处理接受到的数据包。
为了使串口数据能实时接受,串口接受线程使用了一个_timer_start_periodic_at_ticks函数,保证20毫秒能巡查一次所有串口数据。
使用sd卡+MFS用代码模拟了一个小型的数据库进行了数据记录的存取。文件的访问加了  0,1的信号量,处理临界资源问题。
线程中开了lcd12864和6键导航人机交互线程,sd卡文件系统维护线程,usb cdc线程,ftp线程,sim900A  gprs远程数据交换维护上报线程,整点数据采集线程。
系统运行20几个小时后就死机了,一动不动的,我是使用追加sd卡中log文件内容,查看用户进程运行的,刚开始使用_task_get_error函数看看各个线程的错误,记录到log文件中都是一些无关痛痒的错误(比如找不到某个文件什么的)也影响不到系统运行啊。
后来加入内核日志模块重新编了库,使用_klog_get_task_stack_usage函数看每个应用进程的堆栈大小和使用情况,发现在死机前线程的堆栈占用都没有超过1/2,以我的几个月使用mqx的情况来看,这个死机情况应该不是应用进程堆栈溢出造成的,因为我故意让应用进程堆栈溢出的话,系统表现出来的现象是复位,不是死机。
然后我怀疑是文件临界资源信号量等待出现的错误,然后我把文件操作的代码都注释掉了,还是死机。
对于死机这个问题,弄了一星期了,经过填_klog_get_task_stack_usage获得应用线程进程功能后,现在系统跑的时间更短了。以前20几个小时 ,现在就只能三四个小时了。
对于着用很长时间才出现的死机现象,我该通过什么方式来查看运行状态啊,使用log文件做的话不能保证,文件系统能运行到系统死机的那一刻吧,要是文件系统先死的呢。
还有各位有mQX关于系统安全,或者死机的经验吗,传授一下呗,谢谢了先。
 
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2013-11-18 12:27:13 | 显示全部楼层

RE:查找MK60DN512ZVLQ10+MQX3.7死机原因

waiting = TRUE;
while(waiting)
{
     breathe();
     heart_beat();
     heart_beat();
     heart_beat();
}
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2013-11-21 15:38:56 | 显示全部楼层

回复:查找MK60DN512ZVLQ10+MQX3.7死机原因

经过几次的测试,加上内核日志组件检测堆栈区大小后,发现内核日志组件对死机时间影响并不大。死机的现象和代码执行了_mqx_exit();函数一样的现象,所有线程都停了,我把应用程序中的_mqx_exit函数都注销掉了。我现在把文件模拟的数据库也由信号量改成用互斥组件来保护了,死机问题没有得到改善。 本来打算试试最新的mqx4.02,看了MQX的升级日志,发现改动的和我现在用到的没有多大关系。现在我是一点改善的头绪都木有了。难道非要先升级一下MQX的版本试试? 这么好用的实时操作系统让我给写死了,好惭愧啊。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2013-11-30 11:46:06 | 显示全部楼层

RE:查找MK60DN512ZVLQ10+MQX3.7死机原因

MQX3.7 升级到了mqx4.02现在连续运行测试5*24小时了,还在测试运行中。,代码什么的都没有更改仅仅升级了MQX版本,效果就好多了,可能这个问题就这么过了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-10 05:11 , Processed in 0.097142 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表