谢谢楼上的回答,我也知道ucosii的官方移植版本是整个代码都运行在特权级。
在任务切换的时候,切换到了用户级+PSP下了,这个是可以实现的,切换时在PendSV的例程中实现的,我加入了
MRS R0, CONTROL
ORR R0, R0, #0x01 ;//用户级
MSR CONTROL, R0
就切换到用户级了,切换到用户级后,在执行 OS_ENTER_CRITICAL()时,没有出现异常,代码可以执行,但不修改特殊寄存器,也就是没执行效果。
我不知道是我板子的问题呢,还是有别的什么问题,还是我的理解有问题。
|