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

关于RT-Thread线程优先级问题

xhuaihe 2017-09-20 浏览量:930

很奇怪的现象,有一个线程必须把优先级设定为20或者低于这个优先级,也就是最高和tshell线程的优先级一样,tshell才能启动,之前就没有这个问题的。

QQ图片20170920160024.png

如果不设置为20的话,就是根本启动不了tshell线程。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 看你最后回复的,估计是你说的那个线程一直在占用CPU资源导致的tshell没有能够启动,或者说启动了抢不到CPU资源导致的。

    建议你看看那个线程里面有没有while(1);这样的函数

    • 发布于 2017-09-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 尝试了多个优先级,高于20和低于20的都尝试过了,只有当优先级低于或者等于tshell的优先级才能启动
    • 发布于2017-09-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 一樣問題XD

    tshell可能有占用到硬體資源或者使用到硬體資源

    所以你優先級比他高的話可能會造成阻塞

    然後系統就當掉了

    這一般好一點的RTOS會有這方面優先級處理和說明(EX:FreeRTOS)

    檢查一下你的Code

    • 发布于2017-09-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于RT-Thread线程优先级问题