如何把CORTEX M3的uCOS II 代码移植到CORTEX M4芯片上,需要注意哪些问题?
在这里死循环,应该是系统未产生任务调度,也就是不产生SYS_TICK中断。aiqin he 说:我只定义了两个任务,一个是UART 优先级定为 4,另一个是LCD优先级定为 5 ; 没有所谓的优先级为7的任务啊。
单步调试(step into)运行到OSStartHighRdy里面的 B OSStartHang 这行代码就运行不下去了,
OSStartHighRdy
LDR R4, =NVIC_SYSPRI2 ; set the PendSV exception
; priority设置PendSV优先级
LDR R5, =NVIC_PENDSV_PRI
STR R5, [R4]
MOV R4, #0 ; set the PSP to 0 for initial
; context switch call 使PSP等于0
MSR PSP, R4LDR R4, __OS_Running ; OSRunning = TRUE
MOV R5, #1
STRB R5, [R4]LDR R4, =NVIC_INT_CTRL ; trigger the PendSV exception
; 触发软件中断
LDR R5, =NVIC_PENDSVSET
STR R5, [R4]CPSIE I ; enable interrupts at processor
; level使能所有优先级的中断
OSStartHang
B OSStartHang