嵌入式系统课程总结资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C=0
N=1 N=0 V=1
无符号数小于
负数 正数或零 溢出
0111
1000 1001 1010 1011 1100 1101 1110 1111
VC
HI LS GE LT GT LE AL NV
嵌入式微处理器分类
嵌入式处理器可分为以下几大类: 嵌入式微处理器 嵌入式微控制器 嵌入式DSP处理机 嵌入式片上系统(SOC)
1.3
嵌入式操作系统
实时操作系统的特点
实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步 使用实时操作系统的必要性 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在 功能复杂,系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把 CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入 式应用。使用实时操作系统主要有以下几个因素: 嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。
1.2
嵌入式处理器一概述
嵌入式处理器
注重嵌入式处理器的尺寸、能耗和价格。应用于PDA等不注重计算的设备; 注重嵌入式处理器的性能。应用于路由器等计算密集型的设备; 注重嵌入式处理器的性能、尺寸、能耗和价格。应用于蜂窝电话等设备;
嵌入式微处理器分类 嵌入式处理器可分为以下几大类: 嵌入式微处理器 嵌入式微控制器 嵌入式DSP处理机 嵌入式片上系统(SOC)
STR
R1,[R0,#-4]!
· 寻址方式分类——堆栈寻址
· 满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如 LDMFA、STMFA等; · 空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如 LDMEA、STMEA等; · 满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令 如LDMFD,STMFD等; · 空递减:堆栈向下增长,堆栈指针指向堆栈下的第一个空位置。指令如 LDMED,STMED等。
Rd: 目标寄存器;
Rn: 第1个操作数的寄存器; Operand2: 第2个操作数;
操作码 0000 0001
条件助记符 EQ NE CS/HS
标志 Z=1 Z=0 C=1
含义 相等 不相等 无符号数大于或等于
• 指 令 条 件 码 表
0010
0011
0100 0101 0110
CC/LO
MI PL VS
实时操作系统的优缺点
优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和 扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分 割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时 性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌 入式实时操作系统使得系统资源得到更好的利用。 缺点:使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的 CPU额外负荷,以及内核的费用。
…………………..
LDMFD ^ ;中断返回 SP!,{R0-R3,PC}^
注意:中断返回指令的寄存器列表(其中必须包括PC)后的”^”符号表 示这是一条特殊形式的指令。这条指令在从存储器中装载PC的同时(PC是 最后恢复的),CPSR也得到恢复。这里使用的堆栈指针SP(R13)是属于异常 模式的寄存器,每个异常模式有自己的堆栈指针。这个堆栈指针应必须在 系统启动时初始化。
2.6 内部寄存器
在ARM7TDMl处理器内部有37个用户可见的寄存器。在 不同的工作模式和处理器状态下,程序员可以访问的寄存器也 不尽相同。
ARM状态各模式下的寄存器
寄存器 类别 寄存器在汇编 语言中的名称 R0(a1) R1(a2) 各模式下实际访问的寄存器 用户 系统 管理 中止 R0 R1 未定义 中断 快中断
2.2 ARM7TDMI
ARM7TDMl支持32位寻址范围,并弥补了ARM6不能在低于5V电源 电压下工作的不足。ARM7TDMl的后缀意义为:
ARM7TDMI—S
ARM7TDMI的可综合(ynthesizable)版本(软 核),对应用工程师来说其编程模型与 ARM7TDMI一致;
支持EmbededICE观察硬件;
第一章 嵌入式系统概述
1.1 嵌入式系统
嵌入式系统的概念:
目前,对嵌入式系统的定义多种多样,但没有一种定义是 全面的。下面给出两种比较合理定义: 从技术的角度定义:以应用为中心、以计算机技术为基础、 软件硬件可裁剪、 适应应用系统对功能、 可靠性、 成本、体 积、功耗严格要求的专用计算机系统。 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬 件和软件, 并使其紧密耦合在一起的计算机系统。术语嵌入 式反映了这些系统通常是更大系统中的一个完整的部分,称为 嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。
R11 _fiq
R12 _fiq R13 _fiq R14 _fiq
SPSR _fiq
寄存器R13常作为堆栈指针(SP)。
R14为链接寄存器(LR),在结构上 有两个特殊功能: 在每种模式下,模式自身的R14版本 用于保存子程序返回地址; 当发生异常时,将R14对应的异常模 式版本设置为异常返回地址(有些异常 有一个小的固定偏移量)。 程序状态寄存器CPSR
MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0, ;即是R0=R2X 8
· 寻址方式分类——基址寻址 LDR LDR R2,[R3,#0x0C] R2,[R3 ] , #0x0C ;读取R3+0x0C地址上的存储单元 ;的内容,放入R2,R3内容不变。 ;读取R3地址上的存储单元 ;的内容,放入R2,R3=R3+0x0C。 ;先R0=R0-4,然后把R1的值保存到 ; R0指定的存储单元
存储器系统有两种映射机制: 大端模式
0x12 0x34 0x56 0x78
低位地址
高位地址
பைடு நூலகம்
低位地址
小端模式
0x78 0x56 0x34 0x12
高位地址
0x12345678字数据的大小端存储方式 存储器的对齐:
字节:任意地址存放。
半字:A0=0的地址开始存放。 字:A1A0=00的地址开始存放。
第3章 ARM7TDMI(-S)指令系统
处理机模式 说明 备注
用户(user)
系统(sys)
正常程序工作模式
用于支持操作系统的特权任务等
不能直接切换到其他模式
与用户类似,但具有可以直接切 换到其他模式等特权
除用户模式外,其它模式均为特权模式。 快中断( FIR异常响应时,进入此模式 快中断(fiq fiq) ) 支持高速数据传输及通道处理 ARM内部寄存器和一些片内外设在硬件 中断( 用于通用中断处理 IRQ异常响应时,进入此模式 中断(irq irq) ) 设计上只允许/或者可选为只允许/特 管理( svc ) 操作系统保护代码 系统复位和软件中断响应时,进 管理(svc) 权模式下访问。此外,特权模式可以自 入此模式 由的切换处理器模式,而用户模式不能 中止( 用于支持虚拟内存 /或存储器保护 在ARM7TDMI没有大用处 中止(bat bat) ) 直接切换到别的模式。 未定义指令异常响应时,进入此 未定义(und) 支持硬件协处理机的软件仿真
第二章 ARM7体系结构
2.1 ARM简介
ARM体系结构 ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件 的功耗也非常低。它具有经典RISC的特点:

大的,统一的寄存器文件; 装载/保存结构,数据处理操作只针对寄存器的 内容,而不直接对存储器进行操作; 简单的寻址模式;
未定义(und) 模式
快中断(fiq) 中断(irq) 管理(svc) 中止(bat) 未定义 (und) 这五种模式称为异常模式。它们除了可以通过程序 切换进入外,也可以由特定的异常进入。当特定的 异常出现时,处理器进入相应的模式。每种异常模 式都有一些独立的寄存器,以避免异常退出时用户 模式的状态不可靠。
2.7 程序状态寄存器
.简介 ARM7TDMl内核包含1个CPSR和5个供异常处理程序使用的 SPSR。CPSR反映了当前处理器的状态,其包含: 4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V)); 2个中断禁止位,分别控制一种类型的中断; 5个对当前处理器模式进行编码的位; 1个用于指示当前执行指令(ARM还是Thumb)的位。
ARM体系结构的特点:


每条数据处理指令都对算术逻辑单元和移位器控制,以实现ALU和移位 器的最大利用;
地址自动增加和减少寻址模式,优化程序循环; 多寄存器装载和存储指令实现最大数据吞吐量; 所有指令的条件执行实现最快速的代码执行。
ARM7 微处理器系列具有如下特点:
- 具有嵌入式 ICE-RT 逻辑,调试开发方便。 - 极低的功耗,适合对功耗要求较高的应用,如便携式产 品。 - 能够提供 0.9MIPS/MHz 的三级流水线结构。 - 代码密度高并兼容 16 位的 Thumb 指令集。 - 对操作系统的支持广泛,包括 Windows CE、Linux、 Palm OS 等。 - 指令系统与 ARM9 系列、ARM9E 系列和 ARM10E 系 列兼容,便于用户的产品升级换代。 - 主频最高可达 130MIPS,高速的运算处理能力能胜任 绝大多数的复杂应用。
R6(v3)
R11(FP,v8)
R12(IP) R13(SP) R14(LR) R15(PC) 状态寄 存器 CPSR SPSR 无 SPSR _svc R13 R14 R13_svc R14 _svc
R11
R12 R13_abt R14 _abt R15 CPSR SPSR _abt SPSR_un d SPSR _irq R13_und R14 _und R13_irq R14 _irq
· 寻址方式分类——相对寻址
3.2 指令集介绍
.ARM指令集——指令格式 ARM指令的基本格式如下: <opcode> {<cond>) {S) <Rd> ,<Rn>{,<operand2>} 其中<>号内的项是必须的,{}号内的项是可选的。各项的说明如下: Opcode: 指令助记符; cond: 执行条件; S: 是否影响CPSR寄存器的值;
CPSR寄存器的格式
代码标志 31 30 29 28 27 26
N Z C C V — —
保留 8

控制位 7 6 5
II
4
状态
3
M3
2
M2
1
0
F F T M4
M1 M0
溢出 零 负或小于 进位或借位或扩展
模式
IRQ禁止 FIQ禁止
2.8 异常
· 异常的入口和出口处理 如果异常处理程序已经把返回地址拷贝到堆栈,那么可以使用一条 多寄存器传送指令来恢复用户寄存器并实现返回。 中断处理代码的开始部分和退出部分 SUB STMFD LR,LR,#4 SP!,{R0-R3,LR} ;计算返回地址 ;保存使用到的寄存器
支持64位乘法; 支持片上调试;
支持高密度16位的Thumb指令集;
ARM7TDMl处理器的存储器周期有4个基本类型:

内部周期; 非连续的周期; 连续的周期; 协处理器寄存器的传输周期。
2.5 处理器模式
ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模 式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表 所示。这样的好处是可以更好的支持操作系统并提高工作效率。 ARM7TDMl完全支持这七种模式。 表3.1 处理机模式
R2(a3)
R3(a4) R4(v1) R5(v2)
R2
R3 R4 R5 R6 R7 R8 R9 R10 R8_fiq R9 _fiq R10 _fiq
通用寄 存器和 程序计 数器
所有的37个寄存器分 R7(v4)成两大类: R8(v5) 31个通用32位寄存器 R9(SB,v6) 6个状态寄存器 R10(SL,v7)
ARM处理器支持9种基本寻址方式: 寄存器寻址; 立即寻址; 寄存器移位寻址; 寄存器间接寻址; 基址寻址; 多寄存器寻址; 堆栈寻址; 块拷贝寻址; 相对寻址;
ARM指令集按功能可分为5大类指令 分支指令; 数据处理指令; 加载和存储指令; 协处理器指令; 杂项指令。
· 寻址方式分类——寄存器移位寻址
相关文档
最新文档