总复习-嵌入式部分参考PPT_第1页
总复习-嵌入式部分参考PPT_第2页
总复习-嵌入式部分参考PPT_第3页
总复习-嵌入式部分参考PPT_第4页
总复习-嵌入式部分参考PPT_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二部分嵌入式系统及应用,2,课程内容,嵌入式系统硬件基础 ARM简介与ARM体系结构 ARM指令集与程序设计 嵌入式系统软件基础 嵌入式系统开发基础,第一讲嵌入式系统硬件基础,4,OUTLINE,1.1 嵌入式系统硬件组成 1.2 嵌入式微处理器 1.3 嵌入式系统常用总线与接口 1.4 嵌入式系统的常用外设 1.5 本章小结,5,1.1 嵌入式系统硬件组成,1.1.1 嵌入式系统组成原理 1.1.2 嵌入式最小系统 1.1.3 嵌入式系统扩展,6,1.1.1 嵌入式系统组成原理,计算机系统的一般运行原理 嵌入式系统与通用计算机硬件组成的异同 嵌入式系统硬件结构,7,嵌入式系统的硬件结构,嵌

2、入式系统硬件结构的特点: 以嵌入式处理器为核心,集成度高 嵌入式系统的组成结构: 处理器(内核+片内外设)+内存+外围硬件+辅助设备 嵌入式处理器一般除了CPU之外还可以包括很多外部设备,甚至包括内存,8,1.1.2 嵌入式最小系统,嵌入式最小系统的概念 嵌入式最小系统的组成 JTAG接口在最小系统中的应用 实际的嵌入式最小系统,9,嵌入式最小系统的概念,对于同一款嵌入式处理器可以构造成规模不等、复杂程序不同的系统 对于同一款处理器而言,存在着一个最基本的系统 最基本系统的条件: 以某个处理器为核心的嵌入式系统中,处理器可以运行程序,10,嵌入式最小系统的作用,嵌入式最小系统的作用: 构建嵌入

3、式系统的第一步,保证嵌入式处理器可以运行 实际嵌入式系统的基础 逐步增加系统的功能,如:外围硬件扩展、软件及程序设计、操作系统移植、增加各种接口等,最终形成符合需求的完整系统,11,嵌入式最小系统的组成,ARM嵌入式最小系统,12,嵌入式最小系统的组成,嵌入式系统最小系统组成部分: 处理器 内存 时钟 调试接口 电源和复位,13,JTAG接口在最小系统中的应用,使用JTAG的最小系统构建方式,14,实际的嵌入式最小系统,最小系统中的各部件,15,1.1.3 嵌入式系统扩展,内存类芯片 网络芯片 USB芯片,16,1.2.1 嵌入式处理器的基本特征 1.2.2 嵌入式处理器的种类 1.2.3 典

4、型嵌入式处理器 1.2.4 嵌入式处理器的选型方法 1.2.5 嵌入式处理器的发展趋势,1.2 嵌入式微处理器,17,体积小、集成度高、价格较低 可扩展的处理器结构 功耗很低 对实时多任务有很强的支持能力 具有功能很强的存储区保护功能,1.2.1 嵌入式处理器的基本特征,18,嵌入式处理器种类,1.2.2 嵌入式处理器的种类,19,1.2.3 典型嵌入式处理器,8051单片机 ARM 68K/Coldfire PowerPC MIPS X86 国产嵌入式处理器,20,小体积、低功耗、高性能而低成本 RISC(Reduced Instruction Set Computer )体系结构 16/3

5、2位双指令集 16位Thumb指令集:密度高,所占存储空间较小 32位的ARM指令集:处理32位数据时性能较高 全球众多的合作伙伴,ARM内核及ARM处理器的特点,21,1.2.4 嵌入式处理器的选型方法,主要包括以下4项选型原则: (1) 根据具体应用领域选择MPU/MCU/DSP/SoC中的一种 (2) 根据具体应用功能需求、性能指标、运行环境和成本预算等选择芯片的具体型号和配置参数 (3) 关注生产厂商是否提供相应内置硬件调试工具和评估板 (4) 对于32位及以上嵌入式处理器,关注是否有合适的嵌入式操作系统支持,22,1.2.5 嵌入式处理器的发展趋势,(1) 集成化与微型化 (2) 高

6、性能与低成本 (3) 低功耗 (4) 硬件功能实现的可编程化,23,1.3 嵌入式系统的常用接口及总线,1.3.1 外设接口 1.3.2 通信接口,24,1.4 嵌入式系统的常用外设,1.4.1 输入设备 1.4.2 输出设备 1.4.3 存储设备,25,1.5 本章小结,嵌入式最小系统 嵌入式微处理器:硬件系统核心部件 基本特征、种类与典型系列、选型方法、发展趋势 常用接口与总线 外设接口、通信接口 常用外设 输入设备、输出设备,第三讲ARM简介与体系结构,27,OUTLINE,3.1 ARM简介 3.2 RISC体系结构 3.3 ARM编程模型,28,3.1 ARM简介,ARM公司简介,将

7、技术授权给其它芯片厂商,形成各具特色的ARM芯片,29,ARM体系结构,ARM处理器为RISC芯片,简单的结构使得: ARM内核非常小 器件的功耗非常低 具有经典RISC的特点,为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了7种主要的ARM指令集体系结构版本,以版本号v1v7表示 v1v3目前已废弃,30,ARM处理器核简介,ARM公司开发了很多系列的ARM处理器核 如:ARM7、ARM9、ARM10、ARM11等系列 ARM6核以及更早的系列已很少见 目前应用比较广泛的系列是:,ARM7,ARM9,ARM9E,ARM10,SecurCore,Xscale,ARM11,Cor

8、tex,31,注意:“ARM核”并不是芯片 ARM核RAM、ROM、片内外设等组合在一起才能构成现实的芯片,32,一、RISC 的产生和发展,80 20 规律,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技术,3.2 RISC体系结构的继承,33,二、RISC 的主要特征,选用使用频率较高的一些 简单指令 复杂指令的功能由简单指令来组合,指令 长度固定,只有 LOAD / STORE 指令访存,流水技术 一个时钟周期 内完成一条指令,组合逻辑 实现控制器,多个 通用 寄存器

9、,采用 优化 的 编译 程序,34,三、ARM内核RISC架构的特别技术,所有的指令可根据前面的执行结果决定是否 被执行,可用加载/存储指令批量传输数据,可在一条数据处理指令中同时完成逻辑处理 和移位处理,在循环处理中使用地址的自动增减来提高运 行效率,35,ARM7:三级流水,ARM9:五级流水,ARM10:六级流水,四、ARM的流水线技术,36,一、存储数据类型、存储格式,ARM处理器支持下列数据类型: 字节 8位 半字 16位(必须分配为占用两个字节) 字 32位(必须分配为占用4个字节),字对齐、半字对齐,3.3 ARM编程模型,37,存储格式,大端格式,字数据的高字节存储在低地址中,

10、38,小端格式,字数据的高字节存储在高地址中,存储格式,39,ARM体系结构支持下表所列的7种处理器模式,二、处理器模式,40,41,42,三、双指令集与处理器工作状态,双指令集 16位Thumb指令集:密度高,所占存储空间较小 32位的ARM指令集:处理32位数据时性能较高,处理器工作状态 Thumb状态:执行半字对准的Thumb指令 ARM状态 :执行字对准的ARM指令 可以切换,不影响运行模式和寄存器的内容,43,四、寄存器组,31个通用寄存器 6个状态寄存器,44,通用寄存器 未分组寄存器R0R7 所有运行模式下,都指向同一个物理寄存器 分组寄存器R8R14 每一次访问的物理寄存器与处

11、理器当前的运行模式有关 程序计数器R15 ARM状态 :位1:0为0,位31:2用于保存PC; Thumb状态:位0为0,位31:1用于保存PC; 寄存器R16 当前程序状态寄存器,1、ARM状态下的寄存器组,45,46,2、Thumb状态下的寄存器组,47,两种状态下的寄存器组对应关系,48,1个当前程序状态寄存器(CPSR) 5个备份的程序状态寄存器(SPSR,供异常处理使用) 备份的状态程序寄存器功能: 保存ALU中的当前操作信息 控制允许和禁止中断 设置处理器的运行模式,3、程序状态寄存器,49,五、异常与中断处理,1、ARM支持的异常类型 复位 未定义指令 软件中断 中止 指令预取中

12、止 及 数据中止 IRQ FIQ,50,复位 高 数据中止 FIQ IRQ 预取指令中止 未定义指令,SWI 低,2、异常的优先级,51,3、应用程序中的异常处理 在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序。 4、异常的响应过程 将下一条指令的地址存入相应连接寄存器LR 将CPSR复制到相应的SPSR中 根据异常类型,强制设置CPSR的运行模式 强制PC从相关的异常向量地址取下一条指令执行,52,5、异常的返回过程 将连接寄存器LR的值减去相应的偏移量送到PC中 将SPSR复制到相应的CPSR中 若设置了中断禁止位,则清除 复位异常处理程序不需要返回,第四讲ARM指令集和程序

13、设计,54,OUTLINE,4.1 ARM指令基本寻址方式 4.2 ARM指令分类说明 4.3 ARM 汇编语言程序设计 4.4 ARM高级语言程序设计,55,4.1 ARM指令基本寻址方式,确定 本条指令 的 操作数地址 下一条 欲执行 指令 的 指令地址,寻址方式,56,4.2 ARM指令分类说明,数据处理指令 跳转指令 Load/Stroe指令 程序状态寄存器指令 协处理器指令 异常中断指令,ARM指令集,57,4.3 ARM汇编语言程序设计,常用ARM源程序文件类型,58,4.4 ARM高级语言程序设计,一、汇编程序中访问C程序变量,在C中声明的全局变量可以被汇编程序通过地址间接访问,

14、访问方法: 使用IMPORT伪操作声明全局变量 使用LDR指令读取该全局变量的内存地址 根据数据的类型,使用相应的LDR指令读取该全局变 量的值;使用相应的STR指令修改该全局变量的值,59,4.4,二、C程序中内嵌汇编指令,在ARM的C程序中可用关键词_ _asm加入一段汇编程序,格式:,60,4.4,在C语言中嵌入ARM汇编时需注意的几个问题,汇编中不能再使用“;”作为注释行的开头,而应使用C 语言中的“/*/”或者“/”进行注释 不能使用一个物理寄存器去改变一个C变量 对于内嵌的汇编代码用到的寄存器,编译器在编译时 会自动加入保存和恢复这些寄存器的代码而不用用户 去管理 不支持ADR、A

15、DRL伪指令 不能用PC寄存器返回当前指令的地址 不支持内存分配的伪操作,61,4.4,三、汇编、C以及C+的相互调用,1、C程序调用汇编程序,使用extern关键词表明strcopy函数是本文件之外定义的,62,表明该函数是一个全局的函数并可以被其他文件使用,注: 汇编程序使用r0-r3来传递函数的第1-4个参数 若参数多于4个,则多余的参数将被压入堆栈,63,4.4,2、汇编程序调用C程序,64,ARM微处理器系列,ARM7 ARM9 ARM9E ARM10E ARM11 SecurCore Intel的StrongARM、Xscale 目前仍在不断发展,第二讲嵌入式系统软件基础,66,2

16、.1 嵌入式操作系统的种类 2.2 嵌入式实时操作系统 2.3 嵌入式软实时操作系统 2.4 嵌入式操作系统的选择方法 2.5 嵌入式操作系统的发展趋势,OUTLINE,67,1. 按实时性能分类 按能否满足实时性要求,可分为 嵌入式实时操作系统 嵌入式非实时操作系统,2.1 嵌入式操作系统的种类,68,(1) 嵌入式实时操作系统 Real-Time Operating System 也称为嵌入式硬实时操作系统 主要功能:对多个外部事件,尤其是异步事件 进行实时处理,69,典型的嵌入式实时操作系统 VxWorks pSOSystem QNX Nucleus C/OS等,70,(2) 嵌入式非实

17、时操作系统 又称为“嵌入式软实时操作系统” 典型代表是嵌入式分时操作系统 也是一种多任务操作系统 任务调度采用时间片轮转方式 大的任务吞吐量,71,典型的嵌入式软实时操作系统 Window CE Palm EPOC Embedded Linux等,72,2. 按购买方式分类 商用型 免费型,73,3. 按源码是否开放分类 开放源码型 黑箱型,74,4. 按知识产权分类 国外嵌入式操作系统 自主知识产权型嵌入式操作系统,75,2.2 嵌入式实时操作系统,VxWorks pSOSystem C/OS,76,2.3 嵌入式软实时操作系统,PalmOS Windows CE EPOC Embedded

18、 Linux,77,(1) 内核的大小与性能 (2) 外挂模块/组件的丰富性 (3) 可裁减性 (4) 对不同硬件平台的可移植性 (5) 开发环境的完备性 (6) 服务与价格等,2.4 嵌入式操作系统的选择标准,78,2.5 嵌入式操作系统的发展趋势,(1) 嵌入式操作系统的标准化研究 (2) 实时超微内核 (3) 多处理器结构与分布式 (4) 集成与开放的开发环境,79,2.6 本章小结,几种典型的嵌入式实时操作系统和嵌入式软实时操作系统 特色 优缺点 常见应用领域,第六讲嵌入式系统开发基础,81,6.1 嵌入式系统开发基本模式 6.2 嵌入式系统选型原则 6.3 嵌入式系统硬件开发 6.4

19、 嵌入式系统软件开发,OUTLINE,82,6.1 嵌入式系统开发基本模式,一、嵌入式系统开发特点,嵌入式系统开发特点,常规计算机应用项目开发特点,通用性、标准性;软硬件开发相对分离,软硬件协同开发,原因: 专用计算机系统、特定的硬件构成、特定软件 嵌入式产品是软硬件的结合体,83,6.1,二、嵌入式系统开发过程,Yes,No,84,6.2 嵌入式系统选型原则,一、硬件平台选择,主要是嵌入式处理器的选择,85,二、嵌入式操作系统选择,6.2,体积小、执行速度快 具有较好的可裁剪性和可移植性 需要操作系统的支持 支持多任务并具有实时性 强大的联网功能 窗口交互功能,1、对嵌入式软件的要求,86,

20、6.2,2、嵌入式操作系统选择考虑因素,操作系统的硬件支持 是否支持目标硬件平台 可移植性 开发工具的支持程度 能否满足应用需求 对操作系统性能的需求 中文内核支持 标准兼容性 技术支持 源代码还是目标代码 许可 自建操作系统,87,6.3 嵌入式硬件开发,开发流程: 需求分析 软硬件协同设计 软硬件实现 软硬件协同测试和验证,特点:协同设计、协同测试、协同验证,软、硬件协同开发,88,6.4 嵌入式软件开发,嵌入式软件开发工具的分类 嵌入式软件的交叉开发环境 嵌入式软件实现阶段的开发过程 实时软件分析设计方法 嵌入式软件开发工具的发展趋势,89,嵌入式软件的交叉开发环境,交叉开发环境是指用于

21、嵌入式软件开发的所有工具软件的集合,一般包括: 文本编辑器 交叉编译器 交叉调试器 仿真器 下载器等 交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。,6.4,90,交叉开发环境,目标机硬件,目标机应用系统, 应用软件, 应用中间件, 目标机,OS,宿主机硬件,宿主机,OS,调,试,代,理,运,行,库,宿主机开发环境, 编辑, 编译, 连接, 调试,运行平台,Target,开发平台,Host,DownLoad,6.4,91,宿主机(Host) :是用于开发嵌入式系统的计算机。一般为PC机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。 目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。 在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。,6.4,92,物理连接和逻辑连接 物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种: 串口 以太口 OCD(On Chip Debug)方式,如JTAG、BDM等 物理连接是逻辑连接的基础。 逻辑连接指宿主机与目标机间按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论