我在DSP28335中移植ucosii程序。发现一个问题:如果我在一个中断中执行任务切换,下次可能会滞后响应该中断。
例如:在定时器10ms中断中发送消息OSQPost()使任务A就绪,在出中断前执行OSIntExit()中的OSIntCtxSw()就会执行任务切换,程序跳转去执行任务A。因为实际上定时器中断程序还没执行完就去执行任务A了,这就导致除非执行完A后返回定时器中断,否则下次10ms定时触发也不会再执行中断了。
我的疑问是:1.各位在arm平台或者DSP平台有遇到同样的问题吗?我怀疑如果其他平台在执行OSIntCtxSw()时没有马上切换任务而是等出中断后再切换就没有这个问题了?
2.如果没有这个问题,是不是就要求任务A的执行时间很短,而且执行完任务A就得返回中断而不是去执行其他任务了。
麻烦大侠指教。