如图所示,我自己的工程创建了5个线程,加上系统自身的两个线程(idle和finsh),共7个线程在跑,现在出现的情况是:
1、除了最高优先级的线程(tshell)外,其余所有线程都没有响应了,这些线程的任务都停止了。
图中的semaphore,event,mutex以及内存使用我都用finsh打印出来了,都是出现问题后才打印的,目前不知道问题出在哪,请教一下各位坛友,有没有遇到类似的情况或问题?如何解决?谢谢!
(1)什么版本的rtt?低版本(小于 v4.0.0)没有running状态。
(2)可以在调度钩子里面打印下线程切换,https://blog.csdn.net/yang1111111112/article/details/82114669
谢谢解答!找到问题了,单步调试发现系统的调度没有问题,是一个高优先级的线程阻塞了,里面的函数存在bug,出现问题的时候一直处于死循环,导致其他低优先级线程得不到执行机会。