中级会员
- 积分
- 359
- 金钱
- 359
- 注册时间
- 2019-6-11
- 在线时间
- 52 小时
|
1金钱
大佬们,请问一下:
ldr pc, =Reset_Handler /* 复位中断 */
ldr pc, =Undefined_Handler /* 未定义指令中断 */
ldr pc, =SVC_Handler /* SVC(Supervisor)中断*/
ldr pc, =PrefAbort_Handler /* 预取终止中断 */
ldr pc, =DataAbort_Handler /* 数据终止中断 */
ldr pc, =NotUsed_Handler /* 未使用中断 */
ldr pc, =IRQ_Handler /* IRQ 中断 */
ldr pc, =FIQ_Handler /* FIQ(快速中断) */
右侧的标号地址给pc,有这么多pc吗?应该如何理解这一段话,帮忙诠释一下谢谢。
|
最佳答案
查看完整内容[请看2#楼]
研究明白了,首先芯片会有一个中断向量表的寄存器,默认情况下,芯片的中断向量表基地址是地址0,芯片上电,会先执行0地址,也就是ldr pc, =Reset_Handler这条语句,会发生跳转到复位中断,复位中断中会直接跳到main应用代码处,所以以下
ldr pc, =Undefined_Handler /* 未定义指令中断 */
ldr pc, =SVC_Handler /* SVC(Supervisor)中断*/
ldr pc, =PrefAbort_Handler /* 预取终止中断 */
ldr pc, =DataAbort_Handler /* 数据 ...
|