SmAlNmG啥意思

上面这段过于迷乱大家可不看,关键是一句话


这种优化,不是任何时候都可以的上面提到“在某种情况下”。

楼主提到的情况一个更高优先级的异常过来抢占svc, 然後进svc之前又做tail-chaining。


《ARMv6-M》中的这个要求正好可以将其避免。
其实它不想办法避免也不行否则Tail-chaining就几乎是个废材,任何的异常的寄存器都可能被弄乱不关svc.

2. 关于svc优先级是不是最高。

   再则就是svc的优先级当然用户也可以改掉,变成更低这是改过才可能有bug,不是吗总不能阻止用戶搞破坏。


   其实改了也关系不大TinyThread的函数,都是用svc仿造系统调用的方式实现的。

   再则就是hardfault中断正常程序,都是由程序主动造成例如執行BKPT指令。

   所以svc优先级不是最高的问题事实上不用担心。

感谢John_Lee的细致分析兄弟肯定是软件老大,一口气能发现这么多的疑点


不过你嫃的多虑了。上面说一堆不足之处,请万望指出

参考资料

 

随机推荐