1 嵌入式系统的组成
嵌入式系统由硬件和软件组成。
嵌入式系统硬件是以嵌入式处理器为核心,由存储器、I/O单元电路、通信模块,外部设备等必要的辅助接口组成。如图1所示:
嵌入式系统的软件由嵌入式操作系统和相应的各种应用程序组成。
1.1 嵌入式系统的特点
- 系统内核小
- 专用性强
- 运行环境差异大
- 可靠性要求高
- 系统精简和高实时性操作系统
- 具有固化在非易失性存储器中的代码
- 嵌入式系统开发工具和环境
2 ARM处理器
2.1 ARM微处理器特点
ARM微处理器采用RISC架构。
特点:
- 小体积、低功耗、低成本、高性能;
- 支持Thumb/ARM双指令集,能很好地兼容8位 8 /16为器件;
- 大量使用寄存器,指令执行速度更快;
- 大多数数据操作都在寄存器中完成;
- 寻址方式灵活简单,执行效率高;
- 指令长度固定;
2.2 ARM处理器系列
- ARM7系列:采用冯.诺依曼体系结构,数据和指令使用同一条总线。内核有一条三级流水线。
- ARM9系列: 采用哈佛体系结构,区分了数据总线和指令总线;采用了五级流水线。
- ARM10系列:将流水线扩展到了6级,支持可选的向量浮点数;ARM10E系列采用了新的体系结构,在同样的时钟频率下性能提高了近50%。
- ARM11系列:针对高性能和高效应设计的,拥有八级流水线。
- SecurCore系列:专为安全需要设计,基于高性能地32位 RISC技术的安全解决方案。
- Cortex 和 MPCore系列:分别针对微控制器市场和高端消费类产品市场。
2.3ARM微处理器结构
-CISC
传统的复杂指令集计算机,有一定的缺点,会随着指令集的增多体系结构越来越复杂。
-RISC
精简指令集计算机,通过优先选取使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和选址方式,以控制逻辑为主,不用或少用微码控制等措施来达到目的。因此,RISC非常适合嵌入式处理器。
| 指标 | RISC | CISC
|指令集 | 一个周期执行一条指令 | 指令长度不固定,执行需要多个周期
|流水线 | 流水线每周期前进一步 | 需要调用微代码的微程序
2.4寄存器结构
- ARM处理器有37个寄存器,被分成若干个组(BANK),这些寄存器包括:
31个通用寄存器,包括程序计数器(PC指针),均为32位寄存器;
6个状态寄存器,用以标识CPU的工作状态以及程序运行状态,均为32位。
-同时ARM处理器又有7种不同的处理模器模式,每种模式下均有一组相应的寄存器与之对应。
2.5 ARM微处理器的工作状态
- 有两种状态但初始状态时ARM状态,并且可以在两种状态下采用BX指令进行切换。
- ARM状态:操作数寄存器状态位为0时,32位字对齐的ARM指令
- Thumb状态:操作数寄存器状态位为1时,16位半字对齐的Thumb指令
2.6 ARM体系的存储器格式
- 作为32位微处理器,ARM体系结构所支持的最大寻址空间为4GB(2的32次方字节)。
- 两种方法存储数据,称之为大端格式和小端格式。
- 大端:高字节存储在低地址
- 小端:高字节存储在高地址
2.7ARM处理器模式
-用户模式(usr):ARM处理器正常执行状态 ;
-快速中断模式(fiq):用于高速数据传输或通道处理;
-外部中断处理(irq):用于通用的中断处理;
-管理模式(svc):操作系统使用的保护模式;
-数据访问中止模式(abt):数据或指令预取终止时进入该模式,可用于虚拟存储以及存储保护;
-系统模式(sys):运行ju有特权的操作系统任务;
-未定义指令终止模式(und):当未定义指令执行时进入该模式;
除用户模式外 ,其余均为特权模式;出去用户模式和系统模式外其余5种模式又称异常模式,常用于处理中断或异常以及访问受保护的系统资源。
2.8寄存器组织
-通用寄存器包括R0-R15,可以分为三类。
未分组寄存器R0-R7;
分组寄存器R8-R14;
程序寄存器PC(R15);
3异常
3.1异常类型与优先级
| 异常 | 进入模式 | 优先级
| 复位 | 管理模式 | 1
| 未定义指令 | 未定义模式 | 6
| 软件中断 | 管理模式 | 7
| 指令预取终止 | 终止模式 | 5
| 数据终止 | 终止模式 | 2
| IRQ | IRQ | 4
| FIQ | FIQ | 3
3.2异常的响应以及返回
响应
-将下一条指令的地址存入相应连接寄存器LR;
-将CPSR复制到SPSR中;
-根据数据异常类型,强制设置CPSR的运行模式位;
-强制PC从相应的异常向量地址下一条指令执行跳转到相应异常处理程序处,同时设置中断禁止位,已禁止中断发生。
返回
- 将连接寄存器LR的值减去相应的偏移量后送到PC中;
- 将SPSR复制回CPSR;
- 消除中断禁止位。