raw-os中的最大关中断为0us的特性已经维护了2年多的时间,由于这个特性对中断的设计要求高,而且在极端的情况下可能存在动态的不稳定性(取决于中断的设计)主要表现为中断缓存的队列可能会爆掉,此种情况虽然能解决,但是对使用者要求很高。所以这个特性从此砍掉!
值得一提的是最新的ucos 3也把最大关中断为0us的特性标示为过时的特性,不再推荐给新设计使用,所以这一点上是达到共识的,有些路只有走过,思考过,才会知道是否是合适的。如果系统存在高实时性的中断怎么办?比如马达控制等应用场合,这种情况下只要把内核开关中断的移植改为控制中断优先级的门限即可,具体的移植参考lpc4357的移植,也可以参考freertos以及qp的不关中断的移植方法。
最后一提的是对于rtx的系统来说也存在一样的问题,中断缓存的queue会在某些极端情况下爆掉(取决于系统中断的复杂情况)。所以不推荐使用rtx用在新的产品设计上。
最新的内核代码以及移植文件已经上传网站:
www.raw-os.org 建议升级并使用。