我的开发环境是IAR6.40.1+Jlink+LM3S9B92+ucosIIv2.92(官方移植代码)
我的ucosIIv2.92移植代码(移植到LM3S9B92)是从ucosII的官网上获得的,未经任何修改,但在单步调试到如下
步骤时会出现指针越界情况
OSStartHighRdy
LDR R0, =NVIC_SYSPRI14 ; Set the PendSV exception priority
LDR R1, =NVIC_PENDSV_PRI
STRB R1, [R0]
MOVS R0, #0 ; Set the PSP to 0 for initial context switch call
MSR PSP, R0
LDR R0, =OS_CPU_ExceptStkBase ; Initialize the MSP to the OS_CPU_ExceptStkBase
LDR R1, [R0]
MSR MSP, R1
LDR R0, =OSRunning ; OSRunning = TRUE
MOVS R1, #1
STRB R1, [R0]
LDR R0, =NVIC_INT_CTRL ; Trigger the PendSV exception (causes context switch)
LDR R1, =NVIC_PENDSVSET
STR R1, [R0]
CPSIE I ; Enable interrupts at processor level
OSStartHang
B OSStartHang ; Should never get here
继续单步会进入死循环。
我想请问以下大侠,为什么会指针越界,导致指针越界的原因是什么,解决方式是什么?(小弟刚刚接触ucosII,很多不懂,还望各位大侠不吝赐教)
[
本帖最后由 梦归魂 于 2013-2-21 10:37 编辑 ]
此帖出自
小平头技术问答
一周热门 更多>