RT版本:rtthread 4.0.2LWIP版本:LwIP V2.1.0硬件:STM32F429GTPHY:LAN8720AI-CP-TR程序使用send间隔5s向服务器发送一帧消息,运行一段时后就会死机DEBUG发现死机到rt_timer_start函数中row_head[row_lvl] != timer_list[row_lvl].prev这个条件一直不满足rt_timer_list是对这个链表进行的检索
望可以提供些建议可能有哪些操作会引起这种情况,我排查一下,谢谢!
查看更多
timer list使用自旋锁保证互斥访问
发布 问题
分享 好友
手机 浏览
回到 顶部
非常感谢您的回答,我后面排查了下问题,是因为使用了freemodbus主机模式,这个软件包出现的, 把这个屏蔽掉就不会出现问题了。DEBUG后怀疑是断桢的那个定时器的移除和插入出现了异常。也不敢乱改关键代码,就自己写了个根据实际应用情况的简单的modbus主机通讯代码,移除了freemodbus。问题目前的到了结局。今天无意中看到了一个帖子跟我遇到的情况一样,也分享给你https://github.com/RT-Thread/rt-thread/issues/3800
这样看来,是定时器的一个极端情况的BUG。后期关注一下timer的改进。