教学课件-嵌入式系统原理及应用开发技术-桑楠.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件-嵌入式系统原理及应用开发技术-桑楠.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 嵌入式 系统 原理 应用 开发 技术 桑楠
- 资源描述:
-
1、嵌入式系统及应用计算机机学院前言 从上个世纪九十年代中期到现在,嵌入式系统已经从一个不起眼的单词,发展成覆盖所有应用领域、家喻户晓的时髦话题。前言 虽然我国已经是嵌入式产品生产、应用和消费的大国,但国内工业界的技术水平、特别是设计水平相当落后。前言 嵌入式开发的新要求:能够使用工具缩短嵌入式产品的开发周期;能够自行规划、选型、设计、并组织开发一个拥有自主知识产权的嵌入式新产品。电子科技大学嵌入式方向 长期从事嵌入式系统技术研究、开发、咨询服务和本科/硕士/博士生培养 所研究内容属计算机应用博士点的主要学术方向之一 承担并完成了国家863、电子发展基金、国防预研等多项嵌入式系统相关的重点课题,开
2、发出具有自主版权的嵌入式实时操作系统CRTOS系列及开发工具。成果获得了多项部级科技进步奖课程目的 理论与实践相结合 以嵌入式软件工程思想为指导,以应用为目的,全面介绍嵌入式系统及其开发技术 对嵌入式系统及开发有一个全景的把握。配套实验:基于ARM的嵌入式系统开发课程目的 从纯软件到硬/软件结合 从“纸”上谈兵(编程序)到“板”上谈兵 从“懂”怎么做到“会”做 从讲/听到讲/听/做。课程的主要内容 嵌入式系统导论(概念、分类、发展历程、特点、应用领域、发展趋势)嵌入式硬件系统(基本组成,嵌入式微处理器,外围电路等)嵌入式软件系统(分类、特点、体系结构、运行流程、操作系统、开发方法)嵌入式系统领
3、域的一些新动态和成果 教材 嵌入式系统原理及应用开发技术(第2版),桑楠等,高教出版社,2008.01参考资料 罗蕾,嵌入式实时操作系统及应用开发,北航出版社.张大波,嵌入式系统原理、设计与应用,机械工业出版社 C.M.Krishna,Kang G.Shin.REAL-TIME SYSTEMS.Tsinghua University Press,McGraw-Hill.A Survey of Real-time Operating Systems参考资料 32位嵌入式系统编程,中国电力出版社 嵌入式Linux设计与应用,清华大学出版社 嵌入式系统的实时概念,北航出版社 嵌入式操作系统综述,ht
4、tp:/ Wikipedia,Embedded System,http:/en.wikipedia.org/wiki/Embedded_system http:/第一章嵌入式系统概论核心内容 无所不在的嵌入式系统 嵌入式系统定义 嵌入式系统的特征 嵌入式系统的分类 嵌入式系统基本结构 嵌入式应用开发1.1 无所不在的嵌入式系统 比尔.盖茨曾经预言:随着后PC时代的到来,PC将无处不在。嵌入式PC科学家的共识 计算机将变得小巧玲珑,藏身在任何地方,又消失在所有地方;功能强大,无影无踪。计算机变得无处不在:例如在墙里、在手腕上、在手写纸上等等,随用随取、伸手可及嵌入式系统应用领域 典型系统:采样控
5、制系统典型系统:飞行控制系统 典型系统:实时信号处理系统 典型应用领域:信息家电 典型应用领域:普适计算 典型应用:车载综合管理系统 小结 嵌入式系统无处不在,桌面系统依然有用 计算机与使用者的比率达到和超过100:1的阶段 95%以上都是嵌入式计算机系统 嵌入式应用带动了产业的迅猛发展1.2 嵌入式系统的定义 不同的定义方式及其起源计算机工业的分类 传统的分类大型计算机、中型机、小型机和微型机 特殊分类PC 新的分类嵌入式计算机和通用计算机定义一:当前国内通用嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统。定义二:早期的定义看
6、不见的计算机,一般不能被用户编程,它有一些专用的I/O设备,对用户的接口是应用专用的。定义三:IEEE定义Device used to control,monitor,or assist the operation of equipment,machinery or plants定义四:跨行业先进的计算机技术、先进的计算机技术、半导体技术和电子技术与半导体技术和电子技术与各个行业的具体应用相结各个行业的具体应用相结合后的产物合后的产物定义五:基于OS由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视、管理等功能 定义六:广义定义作为某
7、种技术过程的一核心处理环节,能直接与宿主环境接口或交互的计算机系统例导弹控制系统实时系统 POSIX 1003.b定义能够在限定响应时间内提供所需水平服务的计算机系统 一般性定义一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间:如果系统的时间约束条件得不到满足,将会发生系统出错。特别注意 实时并不等于快!它是一个相对的概念,确切定义应该是“及时”,即在系统允许的时间范围内完成任务 实时系统衡量指标 响应时间 吞吐量 生存时间 嵌入式系统的实时性 从广义概念上讲,嵌入式系统都可以看成是一个实时系统。1.3 嵌入式系统的特征 技术密集专用紧凑安全可靠多种多样及时相应成
8、本敏感开发困难不可垄断其它技术密集 嵌入式系统是计算机技术、微电子技术和行业技术相结合的产物。专用紧凑 嵌入式系统在体积、功耗、配置、处理能力、电磁兼容性等方面有明显的应用约束。安全可靠 可靠性要求极高网络信息安全防危安全多种多样 嵌入式处理器种类繁多外设随应用领域变化操作系统五花八门嵌入式开发工具不一嵌入式系统实时性多样化应用领域广泛及时响应 嵌入式系统需要实时性保障,能够尽可能快地对外部技术过程的请求发出响应,及时完成。成本敏感 嵌入式产品每一批次的产品数量大,单位成本对产品的市场前景和利润影响极大。开发困难 不可垄断 嵌入式系统是一个分散的工业。没有哪一个系列的处理器和操作系统能够垄断全
9、部市场。其他:确定性 任务个数确定每个任务执行时序确定每个任务所占资源等确定任务间通信延迟确定 1.4 嵌入式系统发展历程 1.5 嵌入式系统的分类 按处理器位数划分 按应用类别划分 按系统的实时性划分 按工业界应用的复杂程度划分按处理器位数划分 按所采用的处理器位数,可以分为4位、8位、16位、32位和64位系统。按系统实时性划分硬实时汽车的ABS和安全气囊系统、飞行控制系统、核电控制系统软实时电视信号、证券交易自适应实时自动调整满足环境需要,保证性能级别按工业界应用的复杂程度划分简单单处理器系统可扩展单处理器系统复杂嵌入式系统制造或过程控制中使用的计算机系统1.6 嵌入式系统基本结构 嵌入
10、式硬件组成嵌入式软件组成1.7 嵌入式系统的设计要求 功能实用、便于升级 并发处理、及时响应 造型自然、结构紧凑 接口方便、操作容易 稳定可靠、维护简便 功耗管理、降低成本1.8 嵌入式系统开发 开发过程设计方法编程测试嵌入式软件的重用开发平台一、嵌入式系统开发过程二、嵌入式系统的设计 软件设计 硬件设计 集成设计三、嵌入式编程四、嵌入式系统测试软件功能的测试依赖于硬件。强壮性测试、可用性测试难。测试用例、测试结果上载困难。测试线程、任务、子系统之间的交互、并发和容错能力难。嵌入式测试困难:常规测试之外,嵌入式系统测试还包括:定期测试微处理器、存储器、以及嵌入式程序占用的存储空间。外围设备的测
11、试。电源测试。耗材的测试,如燃料测试。安全测试。通信电缆测试。五、嵌入式软件的重用 遵循Moore定律,嵌入式软件的规模和复杂性迅速增大。软件多样性迅速增加。开发周期缩短,软件的质量需要保证。嵌入式软件开发面临的问题:嵌入式构件六、嵌入式软件开发平台为用户开发(包括需求分析、规格说明、设计、编码、测试、产品分配和维护等)嵌入式应用程序而提供的高起点、综合的支撑环境。开发平台的构成 面向领域的应用程序基本框架 可重用的组件库 参考设计 应用示例 开发工具集 嵌入式实时操作系统 相关文档等特殊的开发工具 在线仿真器 数学计算工具如MathCAD JTAG和BDM 软件固化工具 实时软件调试测试工具
12、小结理解和掌握嵌入式系统的基本概念,了解嵌入式系统开发过程的轮廓,为进一步的学习奠定基础 第二章ARM嵌入式微处理器核心内容 嵌入式硬件系统基本架构 嵌入式处理器的体系结构 ARM微处理器体系结构 ARM指令系统 基于ARM9的S3C2410X处理器 2.1 嵌入式硬件系统嵌入式硬件系统基本架构嵌入式微处理器体系结构一、嵌入式硬件系统基本架构嵌入式系统的硬件可分为三大部分:核心处理器控制电路外部设备 二、嵌入式微处理器的体系结构冯冯.诺依曼体系结构诺依曼体系结构:数据和指令都存在同一存储器中。处理器体系结构 哈佛体系结构哈佛体系结构:哈佛体系结构的特点是程序存储器和数据存储器分开,程序计数器P
13、C只指向程序存储器而不指向数据存储器。指令系统指令系统:ARM采用RISC指令系统。RISC结构的特点包括:优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;简易的译码指令格式;在单周期内完成指令等。类别类别CISCRISC指令系统指令数量很多相对较少执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器多为单周期指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样寻址方式较简单操作可以对存储器和寄存器进行运算和操作仅Load/Store指令可以对存储器进行操作,其余指令只能对寄存器进行运
14、算和操作编译难以用优化编译器生成高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序 2.2 ARM微处理器体系结构ARM920T的基本结构工作状态 处理器模式 寄存器结构 存储系统 中断和异常 一、ARM920T的基本结构 ARM920T基于ARM9TDMI核,ARM9TDMI核提供简单的总线接口,允许用户设计自己的Cache和存储系统,可以作为单独的核嵌入到目标系统。TDMI的基本含义:T支持16位压缩指令集Thumb;D支持片上Debug;M内嵌硬件乘法器Multiplier;I嵌入式ICE,支持片上断点和调试点。ARM处理器广泛采用AMBA总线结构,它包括ASB/AHB和APB
15、。lAHB直接连接到CPU,用于连接性能高速的片上外设;lAPB假定所有外设均工作在主从方式,用于连接低速外设。二、工作状态 lARM状态:32位,执行字对准的ARM指令;lThumb状态:16位,执行半字对准的Thumb指令。三、处理器模式l7种运行模式l运行模式可以通过软件控制改变l外部中断或异常处理也可以引起模式发生改变 模式模式模式描述模式描述用户(User)ARM处理器正常的程序执行状态快速中断(FIQ)用于高速数据传输或通道处理外部中断(IRQ)用于通用的中断处理管理(Supervisor)操作系统保护模式数据访问中止(Abort)实现虚拟存储器和存储器保护系统(System)运行
16、特权操作系统任务未定义(Undifined)支持硬件协处理器的软件仿真四、寄存器结构l37个32位寄存器:31个通用寄存器,包括程序寄存器(PC);l6个状态寄存器。五、存储系统lARM体系结构采用232个8位字节的单一、线性地址空间。l每个字的地址是字对准的,地址低两位为00。ARM体系结构可以用两种方法存储数据:l大端格式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。l小端格式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。六、中断和异常 lARM内核支持7种中断和异常l不同的中断处于不同的处理模式,具有不同的优先级l而且每个中
17、断都有固定的中断入口地址异常类型异常类型处理器模式处理器模式入口地入口地址址优先级优先级描述描述ResetSupervisor0 x001当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。Undefined InstructionUndefined0 x047当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。Software InterruptSupervisor0 x086该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。Prefetch AbortAbort0 x0c5
18、若处理器预取指令的地址不存在或该地址不允许当前指令访问,存储器向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。Data AbortAbort0 x102若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。IRQIRQ0 x184当ARM外部中断请求管脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。FIQFIQ0 x1c3当ARM快速中断请求管脚有效,且CPSR中的F位为0时,产生FIQ异常。2.3 ARM指令系统lARM指令寻址方式lARM指令集 ARM指令的格式指令的格式ARM指令字长为固定的32位二
19、进制编码基本格式如下:S,其中:opcode:操作码,指令助记符。cond:可选的指令条件码,定义执行条件。S:可选的后缀,表示操作结果对CPSR的影响。若指 定S,则根据操作结果更新条件标志(N、Z、C、V)。Rd:操作结果寄存器。Rn:第一操作数的寄存器。Operand2:第二操作数。一、ARM指令寻址方式 寻址方式:处理器根据指令中给出的地址信息来寻找物理地址的方式。立即寻址 寄存器寻址 寄存器间接寻址 变址寻址 多寄存器寻址 相对寻址 堆栈寻址 立即寻址立即寻址立即寻址也叫立即数寻址,操作数本身就在指令中给出,只要取出指令也就取到了操作数,这个操作数被称为立即数。例如:ADD R0,R
20、0,1 ;R0R01ADD R0,R0,0 x3f ;R0R00 x3f 寄存器寻址寄存器寻址寄存器寻址就是利用寄存器中的数值作为操作数。如:ADD R0,R1,R2 ;R0R1R2 寄存器间接寻址寄存器间接寻址寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。如:ADD R0,R1,R2 ;R0R1R2LDR R0,R1 ;R0R1STR R0,R1 ;R1R0 变址寻址变址寻址变址寻址是将基址寄存器的内容与指令给出的偏移量相加,形成操作数的有效地址,用于访问基址附近的存储单元。如:LDR R0,R1,4 ;R0R14LDR R0,R1,4!;R0R14、R1R1
21、4LDR R0,R1,4 ;R0R1、R1R14LDR R0,R1,R2 ;R0R1R2 多寄存器寻址多寄存器寻址采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。如:LDMIA R0,R1,R2,R3,R4 ;R1R0 ;R2R04 ;R3R08 ;R4R012 相对寻址相对寻址相对寻址以程序计数器 PC 的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。如:BL NEXT ;跳转到子程序NEXT处执行 ;子程序返回到此处NEXT ;子程序入口地址 MOV PC,LR ;子程序返回堆栈寻址堆栈寻址 在ARM指令中,堆栈寻址通过Load/Store指令来
22、实现,如:STMFD SP!,R1-R7,LR ;将R1-R7,LR入栈。LDMFD SP!,R1-R7,LR ;数据出栈,放入R1-R7,LR寄存器。二、ARM指令集 l跳转指令 l数据处理指令 l乘法指令与乘加指令 l程序状态寄存器访问指令 l加载/存储指令 l数据交换指令 l移位指令 l异常产生指令 跳转指令跳转指令跳转指令用于实现程序流程的跳转,有两种方法可以实现程序流程的跳转:直接向程序计数器 PC 写入跳转目的地址值。使用跳转指令直接跳转。如:B Label ;程序无条件跳转到标号Label处执行B 0 x1200 ;跳转到绝对地址0 x1200处数据处理指令数据处理指令 数据传送
23、指令:在寄存器和存储器之间进行数据的双向传输。算术逻辑运算指令:完成常用的算术与逻辑的运算,该类指令在进行运算时会更新CPSR中的相应条件标志位。比较指令:不保存运算结果,只更新CPSR中相应的条件标志位。如:MOV R1,R0 ;将寄存器R0的值传送到寄存器R1MOV PC,R14 ;将寄存器R14的值传送到PC,常用于子程序返回MOV R1,R0,LSL3 ;将寄存器R0的值左移3位后传送到R1乘法指令与乘加指令乘法指令与乘加指令ARM 微处理器支持的乘法指令与乘加指令共有6条,分为运算结果为32位和64位两类,指令中的所有操作数、目的寄存器必须为通用寄存器,且目的寄存器和操作数1必须是不
24、同的寄存器。如:MUL R0,R1,R2 ;R0=R1 R2MULS R0,R1,R2 ;R0=R1 R2,同时设置CPSR中的相关条件标志位程序状态寄存器访问指令程序状态寄存器访问指令程序状态寄存器访问指令用于在程序状态寄存器和通用寄存器之间传送数据。1.读状态寄存器指令读状态寄存器指令如:MRS R0,CPSR ;传送CPSR的内容到R0MRS R0,SPSR ;传送SPSR的内容到R02.写状态寄存器指令写状态寄存器指令如:MSR CPSR_cxsf,R0 ;CPSR=R0MSR CPSR_c,#0 xD3 ;CSPR70=0 xD3,即切换到管理模式加载加载/存储指令存储指令加载/存储
25、指令用于在寄存器和存储器之间传送数据,加载指令用于将存储器中的数据传送到寄存器,存储指令则完成相反的操作。如:LDR R0,R1 ;将存储器地址为R1的字数据读入寄存器R0。LDR R0,R1,8 ;将存储器地址为R1+8的字数据读入寄存器R0。数据交换指令数据交换指令数据交换指令在存储器和寄存器之间交换数据。如:SWP R0,R1,R2 ;将R2所指向的存储器中的字数据传送到R0,同时将R1中的字数据;传送到R2所指向的存储单元。SWP R0,R0,R1 ;该指令完成将R1所指向的存储器中的字数据与R0中的字数据交换。移位指令移位指令ARM 微处理器内嵌的桶型移位器(Barrel Shift
展开阅读全文