arm 异常

------------------------------VEC_NUM------------------------------
 VEC_TYPE:   undefined instruction exception 

---------------------------CRITICAL REGS---------------------------
 FP[0xFFFFFFF0],  IP(r12)[0x846F9690],  LR(r14)[0x8022BA14],  CPSR[0x80100013],  PC(r15)[0x8018A6F8], ESP[0x846F9690]

----------------------------STACK FRAME----------------------------
The stack frame is following:
 #1 0x8018A6F8(int_cpu_unlock+0x4)
 #2 0x0(UNKNOWN FUNC)

----------------------------THREAD INFO----------------------------

-------------------------------第二次--------------------------------------------------------------


------------------------------VEC_NUM------------------------------
 VEC_TYPE:   undefined instruction exception 

---------------------------CRITICAL REGS---------------------------
 FP[0xEE5F8DE0],  IP(r12)[0x8413F674],  LR(r14)[0x802F5968],  CPSR[0x60000053],  PC(r15)[0x8413F65C], ESP[0x8413F690]

----------------------------STACK FRAME----------------------------
The stack frame is following:
 #1 0x8413F65C(UNKNOWN FUNC)
 #2 0x2524(UNKNOWN FUNC)
 #3 0x2A0403E5(UNKNOWN FUNC)
 #4 0x0(UNKNOWN FUNC)

----------------------------THREAD INFO----------------------------
  NAME        ENTRY           TID(hex)          BASE            SIZE   CUR  HIGH  MARGIN
------------ ---------------- ---------------- ---------------- ----- ----- ----- ------
tNet0        802154a0         8403f000         2214852392       1048576   384  2980 1045596 

-----------------------------------第三次----------------------------------------------------

File:smpcpu:0

------------------------------VEC_NUM------------------------------
 VEC_TYPE:   pre-fetch abort exception 

---------------------------CRITICAL REGS---------------------------
 FP[0x0],  IP(r12)[0x0],  LR(r14)[0x802F97A8],  CPSR[0xA0000053],  PC(r15)[0x0], ESP[0x0]

----------------------------STACK FRAME----------------------------
The stack frame is following:
 #1 0x801898A0(exc_handler+0x14)

----------------------------THREAD INFO----------------------------
  NAME        ENTRY           TID(hex)          BASE            SIZE   CUR  HIGH  MARGIN
------------ ---------------- ---------------- ---------------- ----- ----- ----- ------
init         802f735c         846df000         2221799208       65536 -2073102320  8344  57192 

-----------------------------------第四次--------------------------------------------------------------


------------------------------VEC_NUM------------------------------
 VEC_TYPE:   data abort exception 
cpu:1

------------------------------VEC_NUM------------------------------
 VEC_TYPE:   data abort exception 

   实践证明,是下载版本后出问题了:

  Bytes transferred = 3066964 (2ecc54 hex)
sbcw#crc32 0x90100000 2ecc54          计算镜像校验和,每次变动。而正常的板子每次都是相同的。
crc32 for 90100000 ... 903ecc53 ==> 1463d8f6

How to use ARM's data-abort exception - Embedded.com

Of the six exceptions that an ARM-based processor can raise,

two abort exceptions signal that the current memory access cannot be successfully completed. The first one, data-abort exception, has the second-highest priority, just after reset, as shown in Figure 1. This exception conveys that the data access transaction was unsuccessful.

The second is the prefetch-abort exception, which has the second-lowest priority, just one notch above the software interrupts. This abort is invoked when the processor is unable to fetch an instruction from memory. 

arm中SP,LR,PC寄存器以及其它所有寄存器介绍_biao3070698140的技术博客_51CTO博客_pc寄存器介绍

12:内部程序调用暂存寄存器,也成为ip寄存器,我不知道是干嘛的,网上解释也模棱两可。

r13:栈指针,也称为sp寄存器

r14:连接寄存器,也称为lr寄存器,程序跳转(子程序调用,中断跳转)后,arm自动在该寄存器中存入原程序(未跳转)的下一条指令的地址。

r15:程序计数器,也称为pc寄存器,保存的是当前正在取指的指令的地址(arm采用2级流水线,因此是当前正在执行指令的地址+8)。

除了上述每种模式所需寄存器外,还有6状态寄存器,最主要的就是两个CPSR和SPSR,arm进入异常模式后,SPSR自动保存进入异常前的CPSR的值,以便异常返回后恢复异常发生时的工作状态。因此主要看CPSR中的位都是什么作用:ARM中的程序状态寄存器(CPSR) - arm-linux - 博客园 (cnblogs.com)

 VEC_TYPE:   pre-fetch abort exception 

---------------------------CRITICAL REGS---------------------------
 FP[0x8413F590],  IP(r12)[0x8413F594],  LR(r14)[0x802F2924],  CPSR[0x60000053],  PC(r15)[0x58000360], ESP[0x8413F574]  此处红色地址为PCIE地址空间的

----------------------------STACK FRAME----------------------------
The stack frame is following:
 #1 0x58000360(UNKNOWN FUNC)
 #2 0x801D1B68(ipnet_if_indextonetif+0x30)
 #3 0x801D2578(ipnet_sys_if_indexname+0x90)
 #4 0x801B4CA0(UNKNOWN FUNC)
 #5 0x80202410(UNKNOWN FUNC)
 #6 0x802F4694(jobQueueProcess+0x15C)
 #7 0x802154BC(UNKNOWN FUNC)
 #8 0x80312B00(thread_handler+0x50)
 #9 0x80312AB0(thread_handler)

----------------------------THREAD INFO----------------------------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

proware

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值