这是对于产生Usage Fault 的分析: The processor has attempted to execute an instruction that makes illegal use of the Execution Program Status Register (EPSR). Potential reasons: a) Loading a branch target address to PC with LSB=0. b) Stacked PSR corrupted during exception or interrupt handling. c) Vector table contains a vector address with LSB=0.
这是对于产生Usage Fault 的分析: The processor has attempted to execute an instruction that makes illegal use of the Execution Program Status Register (EPSR). Potential reasons: a) Loading a branch target address to PC with LSB=0. b) Stacked PSR corrupted during exception or interrupt handling. c) Vector table contains a vector address with LSB=0.
可以通过查看存储在栈寄存器里的PC值找到产生这个fault的指令 不过比较常见的原因包括 stack corruption 可以试着增加栈的大小来解决
http://www.keil.com/appnotes/files/apnt209.pdf 可以仔细读一下这个文章 后半部分教你怎么排除这些fault
希望有用!
一周热门 更多>