完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现象: 内核的软件定时器正常(中断环境),定时检测事件,触发事件有日志打印出来,通过消息队列发送数据失败,错误值是消息队列满。 接收软件定时器消息的线程预期应该在收到消息后有日志打印,出现问题后一直未有日志打印。 喂狗实在空闲线程中喂的,程序连续运行了5天没有出现看门狗复位。也没有按照设定的规则休眠。 软件定时器打印的日志所带的tick计算后确认 相对准确。 内核版本号4.0.2 现在猜测 出现了什么原因导致线程没有工作。出现的概率很低,只在客户手中有复现问题,现场观察到的现象如上列出的,目前分析代码没有任何头绪,希望有人能指下方向。 |
|
相关推荐
5个回答
|
|
是否有办法先在本地复现问题,这样方便接上仿真器单步调试。
|
|
|
|
因为概率极小,目前还没有复现现象。
|
|
|
|
发现代码中有一个异常。
在调用了rt_enter_critical()之后rt_exit_critical()之前,有调用rt_thread_mdelay(),rt_mq_send()和rt_event_send()函数。 有两个疑问: 人为制造条件重复该过程,未发现假死显现,看起来是整个系统在延时时间内确实不调度,等到延时时间到了之后,调用rt_exit_critical()之后继续运行。说明不是不然出现假死,可能解答一下在调用延时函数的指定时间内系统处于什么状态吗? 可以明确的是在禁止调度锁之后不应该执行rt_thread_mdelay()。rt_mq_send()和rt_event_send()函数是否可以在禁止调度锁之后使用呢? |
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
943 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3154 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1426 浏览 0 评论
2072 浏览 0 评论
1595 浏览 0 评论
75208 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 04:57 , Processed in 0.714698 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号