我刚在MDK中运行uC/OS-II移植的程序 int main (void) { OSInit (); OSTaskCreate(Task0,(void *)0, &TaskStk0[TaskStkLengh - 1], 2); OSStart (); return 0; }
程序总是运行不到第一个任务创建的地方,在操作系统初始化的时候当创建完空闲任务以后直接跳到Reset开始复位重新启动造成程序一直在循环,或是跳到未定义指令,或取数据中断处。而确切的调到那里跟OS_CFG.H中OS_LOWEST_PRIO的具体设置值有关,当值小于等于12时跳到未定义指令异常处,12—62跳到取数据中断处,63跳到Reset处。我只创建了2个任务。不知道有人碰到过这种情况吗?
Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xb9205f80 LDR PC, [PC, #-0xff0] LDR PC, FIQ_Addr
;未定义指令 Undefined B Undefined ;取数据中止 DataAbort B DataAbort
|