文章目录
  1. 1. ARM工作模式
    1. 1.1. Bootloader

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

精简指令集的特点是什么?

  1. 单周期的执行:

    它统一用单周期指令。从根本上克服了CISC指令周期数有长有短,造成运行中偶发性不确定,致使运行失常的问题。

  2. 采用高效的流水线操作:

    使指令在流水线中并行地操作,从而提高处理数据和指令的速度。

  3. 无微代码的硬连线控制:

    微代码的使用会增加复杂性和每条指令的执行周期。

  4. 指令格式的规格化和简单化

    控制部件更为简化,指令执行速度大大提高

  5. 采用面向寄存器堆的指令

    使指令系统更为精简。

  6. 采用装入/存储指令结构

    提高指令执行的速度。

  7. 注重编译的优化

    力求有效地支撑高级语言程序。


嵌入式Linu系统的组成,并简要说明各部分的作用。

架构

框架

Bootloader

Bootloader是一个引导程序:

在硬件复位以后,第一个要执行的程序;主要工作:**初始化操作系统运行的环境(如初始化内存后Bootloader会把操作系统的代码加载到内存,即从Bootloader跳转到操作系统;一旦操作系统运行起来了,Bootloader便不再起作用了)例如:U-boot、Vivi、RedBoot

  • Kernel内核

    Linux操作系统本身的代码; Android、QT、Ubuntu底层都是Linux内核

  • 文件系统

    Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。


  • 应用程序
    运行在操作系统上,通过调用操作系统资源来工作(是最终业务逻辑)
文章目录
  1. 1. ARM工作模式
    1. 1.1. Bootloader