本帖最后由 tianli1980 于 2012-3-15 10:22 编辑
总线fault 状 态寄存器提供的信息 位
| 可能发生的原因
| STKERR
| (自动)入栈期间出错
1:堆栈指针的值被破坏
2:椎栈用量太大,到达了未定义在存储器的区域
3:PSP未经初始化就使用
| UNSTKERR
| (自动)出栈期间出错。如果没有发生过STKERR,则最可能的就是在异常处理期间把SP的值破坏了。
|
| 与设备之间传送数据的过程中发生总线错误,可能是因为设备未经初始化而引起;或者在用户级访问了特权级的设备,或者传送的数据单位尺寸不能为设备所接受。此时,有可能是LDM/STM指令造成了非精确总线fault
| PRECISERR
| 在数据访问期间的总线错误。通过BFAR可以获取具体的地址。发生fault的原因同上。
| BUSERR
| 同MemManage
fault中的IACCVIOL
| I
|
|
|