LM3S9B92使用STR指令就进入FaultISR中,是什么原因?

2019-03-24 13:10发布

最近在研究uCOS-III的东西,移植了之后发现了一个问题。进行debug的时候,程序总是进入FaultISR的死循环中。但是直接上电运行的话,程序是能跑起来的,数据也是对的。
后来通过单步加断点的方法,找到了原因。debug的时候,每次执行到一句STR指令的时候,就会进入死循环了。
代码如下:
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, =NVIC_INT_CTRL                                  ; Trigger the PendSV exception (causes context switch)
    LDR     R1, =NVIC_PENDSVSET
    STR     R1, [R0]
    CPSIE   I                                                   ; Enable interrupts at processor level

就是倒数第二行的STR指令。请问各位谁能帮忙分析分析原因,我有点没头绪啊。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
Study_Stellaris
2019-03-24 16:33
你应该看看到底是产生了哪种 Fault ,然后看看有没有什么办法。

一周热门 更多>

相关问题

    相关文章