ARM9嵌入式系统设计基础教程全册配套精品完整课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ARM9嵌入式系统设计基础教程全册配套精品完整课件.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM9 嵌入式 系统 设计 基础教程 配套 精品 完整 课件
- 资源描述:
-
1、ARM9嵌入式系统设计基础教嵌入式系统设计基础教程全册配套精品完整课件程全册配套精品完整课件第第1章章 嵌入式系统基础知识嵌入式系统基础知识1.1 嵌入式系统的定义和组成 n1.1.1 嵌入式系统的定义n根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(原文为devices used to control,monitor,or assist the operation of equipment,machinery or plants)。n目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功
2、能、可靠性、成本、体积、功耗严格要求的专用计算机系统。n北京航空航天大学的何立民教授是这样定义嵌入式系统的:“嵌入到对象体系中的专用计算机系统”。n可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序4个部分组成。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。n嵌入式系统无处不在,在移动电话、数码照相机、MP4、数字电视的机顶盒、微波炉、汽车内部的喷油控制系统、防抱死制动系统等装置或设备都使用了嵌入式系统。n1.1.2 嵌入式系统发展趋势
3、n1嵌入式系统的发展历史嵌入式系统的发展历史n从单片机的出现到今天各种嵌入式微处理器、微控制器的广泛应用,嵌入式系统的应用可以追溯到20世纪60年代中期,例如阿波罗飞船的导航控制系统AGC(Apollo Guidance Computer)。嵌入式系统的发展历程,大致经历了以下4个阶段。n(1)无操作系统阶段n单片机是最早应用的嵌入式系统,单片机作为各类工业控制和飞机、导弹等武器装备中的微控制器,用来执行一些单线程的程序,完成监测、伺服和设备指示等多种功能,一般没有操作系统的支持,程序设计采用汇编语言。由单片机构成的这种嵌入式系统使用简便、价格低廉,在工业控制领域中得到了非常广泛的应用。n(2
4、)简单操作系统阶段n20世纪80年代,出现了大量具有高可靠性、低功耗的嵌入式CPU(如Power PC等),芯片上集成有微处理器、I/O接口、串行接口及RAM、ROM等部件,面向I/O设计的微控制器在嵌入式系统设计应用。一些简单的嵌入式操作系统开始出现并得到迅速发展,程序设计人员也开始基于一些简单的“操作系统”开发嵌入式应用软件。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。n(3)实时操作系统阶段n20世纪90年代,面对分布控制、柔性制造、数字化通信和信息家电等巨大市场的需求,嵌入式系统飞速发展。随着硬件实时性
5、要求的提高,嵌入式系统的软件规模也不断扩大,实时多任务操作 n系统(Real-time Operation System,RTOS)逐渐形成,系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface,GUI)等功能,并提供了大量的应用程序接口Application Programming Interface,API),从而使应用软件的开发变得更加简单。n(4)面向Internet阶段n进入21世纪,Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet技术的结合正在推动着嵌
6、入式系统的飞速发展。n2嵌入式系统的发展趋势嵌入式系统的发展趋势n面对嵌入式技术与Internet技术的结合,嵌入式系统的研究和应用在飞速发展。n(1)新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。提供更加友好的多媒体人机交互界面。n(2)Linux、Windows CE、Palm OS等嵌入式操作系统迅速发展。嵌入式操作系统自身结构的设计更加便于移植,具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,能够在短时间内支持更多的微处理器。计算机的新技术、新观念开始逐步移植到嵌入式系统中,嵌入式软件平台得到进一步完善。n(3)嵌入式系统的开发成了一项系统工程,开
7、发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。n3IP核(核(Intellectual Property Core,知识产权核),知识产权核)nSOC(System On Chip,片上系统)是90年代中期出现的一个概念,并成为现代集成电路设计的发展方向。SOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。IP核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。 nIP核分为用硬件描述语言(hardware
8、Description Language,HDL)文本形式提交给用户,经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息的软核(Soft IP Core);完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节,一般以门级电路网表的形式提供给用户的固核(Firm IP Core);基于物理描述,并经过工艺验证,具有可保证的性能,提供给用户的形式是电路物理结构掩模版图和全套工艺文件的硬核(Hard IP Core)。IP软核以源代码的形式提供的,IP知识产权不易保护。IP硬核易于实现IP保护,缺点是灵活性和可移植性差。n目前全球IP核市场处于快速成长的阶段,EDA联盟、RAP
9、ID联盟、VCX联盟与VSIA联盟等都在积极推动IP核的开发、应用及推广。其中,EDA联盟主要是以如何提供更好的EDA软件工具为主,VSIA联盟主要针对IP核的定义、开发、授权及测试等建立一个公开的共性规范。ARM、Rambus和MIPS在十大IP供应商排行中居前3位。n1.1.3 嵌入式系统的组成n嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。执行装置接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。n1嵌入式计算机系统的
10、硬件层嵌入式计算机系统的硬件层n硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。硬件层通常是一个以嵌入式处理器为中心的,包含有电源电路、时钟电路和存储器电路的电路模块,其中操作系统和应用程序都固化在模块的ROM中。n(1)嵌入式微处理器n嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理器将通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于系统设计趋于小型化、高效率和高可靠性。嵌入式微处理器大多工作在为特定用户群所专门设计的系统中。n嵌入式微处理器的体系结构可以采用冯诺依曼体系结构或哈佛体系结构,指令系统可
11、以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令集系统CISC(Complex Instruction Set Computer, CISC)。n嵌入式微处理器有各种不同的体系,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。即使在同一体系中,也可以具有不同的时钟频率、数据总线宽度、接口和外设。目前没有一种嵌入式微处理器可以主导市场,嵌入式微处理器的选择是根据具体的应用而决定的。n(2)存储器n嵌入式系统的存储器包含Cache、主存储器和辅助存储器,
12、用来存放和执行代码。nCache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读 n取数据,而不是从主存中读取,减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,提高微处理器和主存之间的数据传输速率,使处理速度更快,实时性更强。nCache一般集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的存储容量大小依不同处理器而定。n主存储器用来存放系统和用户的程序及数据,是嵌入式微处理器能直接访问的存储器。主存储器包含有R
13、OM和RAM,可以位于微处理器的内部或外部。常用的ROM类存储器有NOR Flash、EPROM和PROM等,RAM类存储器有SRAM、DRAM和SDRAM等,容量为256KB1GB。n辅助存储器通常指硬盘、NAND Flash、CF卡、MMC和SD卡等,用来存放大数据量的程序代码或信息,一般容量较大,但读取速度与主存相比要慢一些。n(3)通用设备接口和I/O接口n嵌入式系统通常具有与外界交互所需要的通用设备接口,如GPIO、nA/D(模数转换接口)、D/A(数模转换接口)、RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接
14、口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。 n2中间层中间层n中间层也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。nBSP作为上层软件与硬件平台之间的接口,需要为操作系统提供操作和控制具体硬件的方法。不同的操作系统具有各自的软件层次结构,BSP需要为不同的操作系统提供特定的硬件接口形式。BSP使上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。nBSP是一个介于操作系统和底层硬
15、件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。BSP一般包含相关底层硬件的初始化、数据的输入输出操作和硬件设备的配置等功能。n(1)嵌入式系统硬件初始化n系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。n片级初始化是一个纯硬件的初始化过程,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态设置成系统所要求的工作状态。n板级初始化是一个同时包含软硬件两部分在内的初始化过程,完成嵌入式微处理器以外的其他硬件设备的初始化,设
16、置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。 n系统级初始化主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、 n文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。n(2)硬件相关的设备驱动程序nBSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用
17、的设备驱动程序调用,实现对硬件设备的操作。 n3系统软件层系统软件层n系统软件层通常包含有实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。n(1)嵌入式操作系统(Embedded Operating System,EOS)nEOS负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。 nEOS除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点:强实时性;支持开放性和
18、可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口;提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能;嵌入式操作系统的用户接口通过系统的调用命令向用户程序提供服务;嵌入式系统一旦开始运行就不需要用户过多的干预;嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中;具有良好的硬件适应性(可移植性)。n(2)文件系统n嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。嵌入式文件系统通常支持FAT32、JF
19、FS2、YAFFS等几种标准的文件系统,一些嵌入式文件系统还支持自定义的实时文件系 n统,可以根据系统的要求选择所需的文件系统,选择所需的存储介质,配置可同时打开的最大文件数等。同时,嵌入式文件系统可以方便的挂接不同存储设备的驱动程序,支持多种存储设备。n嵌入式文件系统以系统调用和命令方式提供文件的各种操作,如设置、修改对文件和目录的存取权限,提供建立、修改、改变和删除目录等服务,提供创建、打开、读写、关闭和撤销文件等服务。n(3)图形用户接口(GUI)nGUI使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。嵌入式GUI与PC机上的GUI有着明显的不同,嵌入式系统的GUI
20、要求具有轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。n实现嵌入式系统中的图形界面一般采用下面的几种方法:针对特定的图形设备输出接口,自行开发相应的功能函数;购买针对特定嵌入式系统的图形中间软件包;采用源码开放的嵌入式GUI系 n统;使用独立软件开发商提供的嵌入式GUI产品。n4应用软件层应用软件层n应用软件层用来实现对被控对象的控制功能,由所开发的应用程序组成,面向被控对象和用户。为方便用户操作,通常需要提供一个友好的人机界面。n1.1.4 实时系统nRTOS(Real-time operating system,实时系统)在航空、航天、工业过程控制、武器防御系统、自动化导航控
21、制系统、医疗、信息检索、银行、多媒体系统等领域广泛应用。nRTOS与通用计算机系统不同,要求系统中的任务不但执行结果要正确,而且必须在一定的时间约束(Deadline)内完成。在RTOS中,一个逻辑上正确的计算结果,若其产生的时间晚于某个规定的时间,那么也认为系统的行为是不正确的。n1RTOS定义定义nRTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。RTOS的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间。n2RTOS特点特点n(1)约束性nRTOS任务的约束包括时间约束、资源约束、执行
22、顺序约束和性能约束。nRTOS的任务具有时间约束性。时间约束是任何RTOS都固有的约束。时间约束性可分为“硬实时”和“软实时”。硬实时是指在航空航天、军事、核工业等一些关键领域中应用的系统,时间要求必须能够得到完全满足,否则将造成不可预计的结果。软实时通常是指在监控系统、信息采集系统等某些应用中,有时间约束要求,但偶尔违反不会造成严重影响。n资源约束是指多个实时任务共享有限的资源时,必须按照一定的n资源访问控制协议进行同步,以避免死锁和高优先级任务被低优先级任务堵塞的时间(即优先级倒置时间)不可预测。n执行顺序约束是指各任务的启动和执行必须满足一定的时间和顺序约束。例如,在分布式端到端(end
23、-to-end)实时系统中,同一任务的各子任务之间存在前驱后继约束关系,需要执行同步协议来管理子任务的启动和控制子任务的执行,使它们满足时间约束和系统可调度性要求。n性能约束是指必须满足如可靠性、可用性、可预测性、服务质量(Quality of Service,QoS)等性能指标。n(2)可预测性n可预测性是指RTOS完成实时任务所需要的执行时间应是可知的。可预测性是RTOS的一项重要性能要求。可预测性包括硬件时延的可预测性和软件系统的可预测性(包括应用程序的响应时间是可预测的,以及操作系统的可预测性)。在多种任务型RTOS中,不但包括周期任务、偶发任务、非周期任务,还包括非实时任务。 n多种
24、类型任务的混合,使系统的可调度性、可预测性分析更加困难。n(3)可靠性n大多数RTOS要求有较高的可靠性,要求系统在最坏情况下都能正常工作或避免损失。可靠性是RTOS的重要性能指标。 n(4)交互性n外部环境是RTOS不可缺少的一个组成部分,外部环境往往是被控子系统,两者相互作用构成完整的实时系统。嵌入式计算机系统一般作为控制系统,必须在规定的时间内对被控子系统请求做出反应。被控子系统也必须能够正常工作或准备对任何异常行为采取动作。n3RTOS调度调度n给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。而RTOS中调度的目的则是要尽可能地保证每个任务满足它们的时间约束,及
25、时对外部请求做出响应。实时调度技术常用的有以下两种。n(1)抢占式调度和非抢占式调度n抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候n具有最高优先级且已启动的任务先执行。抢占式调度实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用微处理器就必须执行完毕或自愿放弃,其优点是上下文切换少,缺点是微处理器有效资源利用率低,可调度性不好。n(2)静态表驱动策略和优先级驱动策略n静态表驱动策略是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻
展开阅读全文