ARM微处理器寄存器和处理器模式

嵌入式系统 时间:2016-11-09来源:网络
ARM 处理器有二十七个寄存器,其中一些是在一定条件下使用的,所以一次只能使用十六个...

为更清晰一些... 提供下列图表:

User 模式  SVC 模式   IRQ 模式   FIQ 模式  APCSR0 ------- R0 ------- R0 ------- R0        a1R1 ------- R1 ------- R1 ------- R1        a2R2 ------- R2 ------- R2 ------- R2        a3R3 ------- R3 ------- R3 ------- R3        a4R4 ------- R4 ------- R4 ------- R4        v1R5 ------- R5 ------- R5 ------- R5        v2R6 ------- R6 ------- R6 ------- R6        v3R7 ------- R7 ------- R7 ------- R7        v4R8 ------- R8 ------- R8         R8_fiq    v5R9 ------- R9 ------- R9         R9_fiq    v6R10 ------ R10 ------ R10        R10_fiq   slR11 ------ R11 ------ R11        R11_fiq   fpR12 ------ R12 ------ R12        R12_fiq   ipR13        R13_svc    R13_irq    R13_fiq   spR14        R14_svc    R14_irq    R14_fiq   lr------------- R15 / PC -------------       pc 

程序计数器构造如下:

位   31  30  29  28  27  26  25------------2  1  0N   Z   C   V   I   F    程 序 计 数 器  S1 S0

下面是你想知道的"模式",比如上面提及的"FIQ"模式。

IRQ 和 FIQ 之间的区别是对于 FIQ 你必须尽快处理你事情并离开这个模式。IRQ 可以被 FIQ 所中断但 IRQ 不能中断 FIQ。为了使 FIQ 更快,所以有更多的影子寄存器。FIQ 不能调用 SWI。FIQ 还必须禁用中断。如果一个 FIQ 例程必须重新启用中断,则它太慢了并应该是 IRQ 而不是 FIQ。 Phew!

关键词: ARM微处理器寄存器处理器模

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版