• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

freertos中出现了死锁的情况要怎么处理

带云云飞 2020-04-24 浏览量:2706
freertos中出现了死锁的情况要怎么处理
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:5
  • 对于死锁的处理:FreeRTOS 并没有实现一种可以完全避免死锁的机制。只是通过指定一个阻塞的最大时间限来减少死锁现象的发生。或者说是给出了当死锁现象发生时解锁的可能。当然能不能真的解锁要依赖于使用者的处理代码是否合适。

  • 可以在每个任务中进行超时检测,当有超时错误时,就有可能是死锁的问题,再对每个锁进行判断

  • 系统本身是没有这种机制的,你要自己处理,可以在空闲任务中做一个计数,当计数常个过了某个值,就是有死锁,再进行重启

  • freertos获得锁的那个API可以设置一个最大等待时间的,将那个等待时间设成10ms这样就行,这样只是临界区部分的代码不再可以运行,其它部分不受影响

  • 最好是进行复位重启,而且死锁要自己通过用户进程来监督,系统无法自己处理

相关问题

问题达人换一批

freertos中出现了死锁的情况要怎么处理