- 55
- 0
- 约4.7万字
- 约 51页
- 2021-10-30 发布于天津
- 举报
ARM7 支持六种操作模式:
用户模式(usr):正常的程序执行状态
FIQ模式(fiq):支持数据传送或通道处理
IRQ模式(irq):用于通用的中断处理
管理模式 (svc) :用于操作系统的保护模式
( 5 ) 异常模式 (abt) :数据或者指令预取异常时进入
( 6 ) 无定义模式 (und) :当无定义指令被执行时进入
( 7 )
软件控制, 外部中断, 异常处理都可以改变操作模式。 大部分的应用程序在用户模式下执行。 其他模式,比如管理模式,在中断、异常服务、或者访问被保护资源时进入。
ARM 的中央寄存器集是 16个用户寄存器 R0 -R15。这些寄存器均是32位宽度,R0 -R12 没有其他特殊功能,寄存器 R13 -R15在CPU中有特殊功能。R13被用作栈指针(stack pointer,
SP )。R14被称为链接寄存器(link register, LR ),当调用一个函数时返回地址被自动保 存到链接 寄存器,在函数返回时有效。这使得快速进入和返回“叶”函数(不调用其他函数的函数) 成为可
能。如果函数是分支的一部分 (即该函数将调用另一个函数) ,链接寄存器必须入栈 (R13)。
R15是程序计数器(program counter, PC )。有趣的是,许多指令也可以在 R13 - R15中
执行,
就像它们是标准的用户寄存器。
ARM 中断的问题
AR
原创力文档

文档评论(0)