EIC->IVR = 0xE59F0000存放实际是LDR PC指令代码

上面的代码是COPY自KEIL下例程!和你发的,IRQ中断管理方式不同!

KEIL 实现中是将IVR中的内部当成当前IRQ的中断入口地址来实现的!

你发的这个是将IVR内容当成 LDR PC,[PC,#offset]这条指来实现!

/* IVR = high half of load PC instruction */
  EIC->IVR  = 0xE59F0000;   是指令代码!

 

 

楼下的,不是告诉你了嘛,
/* IVR = high half of load PC instruction */
  EIC->IVR  = 0xE59F0000; 

IVR[31-15] -》是LDR PC指令啊!

dOffset = (dOffset+0x00007E0)<<16;是第一个IRQ通道的入口地址!

 

https://bbs.21ic.com/icview-107079-1-1.html

posted @ 2022-09-15 16:21  流水江湖  阅读(64)  评论(0编辑  收藏  举报