嵌入式ARM知识
总阅读次
ARM工作模式
序号 | 指令 | 说明 |
---|---|---|
1 |
**用户 **模式(Usr) |
用于正常执行程序 |
2 |
**快 速中断 **模式(FIQ) |
用于高速数据传输 |
3 |
外部**中断 **模式(IRQ) |
用于通常的中断处理 |
4 |
**管理 **模式(SVC) |
操作系统使用的保护模式(高权限),复位和软件中断进入 |
5 |
数据访问终止模式(abt) | 当数据或指令预取终止时进入该模式,可用于虚拟内存及存储保护 |
6 |
系统模式(sys) | 运行均有特权的操作系统任务 |
7 |
**未定义 **指令终止模式(und) |
用于支持硬件协处理器的软件仿真(浮点、微量运算) |
除用户模式外,其余6种工作模式都属于特权模式;
特权模式中除了系统模式以外的其余5种模式称为异常模式;
大多数程序运行于用户模式;
异常模式优先级如下:
优先级别 | 模式Mode | 异常Exception type |
---|---|---|
1(最高) |
Supervisor | 复位 |
2 | Abort | 数据中止 |
3 | FIQ | (快速中断请求) |
4 | IRQ | (外部中断请求) |
5 | Abort | 预取指令中止 |
6(最低) | Underfined | 未定义指令,SWI |
精简指令集的特点是什么?
- 单周期的执行:
它统一用单周期指令。从根本上克服了CISC指令周期数有长有短,造成运行中偶发性不确定,致使运行失常的问题。
- 采用高效的流水线操作:
使指令在流水线中并行地操作,从而提高处理数据和指令的速度。
- 无微代码的硬连线控制:
微代码的使用会增加复杂性和每条指令的执行周期。
- 指令格式的规格化和简单化
控制部件更为简化,指令执行速度大大提高
- 采用面向寄存器堆的指令
使指令系统更为精简。
- 采用装入/存储指令结构
提高指令执行的速度。
- 注重编译的优化
力求有效地支撑高级语言程序。
嵌入式Linu系统的组成,并简要说明各部分的作用。
架构
Bootloader
Bootloader是一个引导程序:
在硬件复位以后,
第一个
要执行的程序;主要工作:**初始化操作系统运行的环境
(如初始化内存后Bootloader会把操作系统的代码加载到内存,即从Bootloader跳转到操作系统;一旦操作系统运行起来了,Bootloader便不再起作用了)例如:U-boot
、Vivi、RedBoot
Kernel内核
Linux操作系统本身的代码; Android、QT、Ubuntu底层都是Linux内核
文件系统
Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。
- 应用程序
运行在操作系统上,通过调用操作系统资源来工作(是最终业务逻辑)