配套课件-嵌入式Linux开发入门.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《配套课件-嵌入式Linux开发入门.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配套 课件 嵌入式 Linux 开发 入门
- 资源描述:
-
1、第第1章章 系统概述系统概述 1.1 嵌入式系统 1.2 ARM嵌入式系统 1.1 嵌嵌入入式式系系统统1.1.1 嵌入式系统简述嵌入式系统简述嵌入式系统是一个较为复杂的技术概念,无疑也是当今最热门的技术概念之一。嵌入式系统是指嵌入式计算机(Embedded Computer)及其应用系统。关于嵌入式系统目前尚无严格、统一的定义。根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“用于控制、监视的设备,或者作为仪器、机器或设备的辅助装置”(原文为devices used to control,monitor,or assist the operation of equipment,mach
2、inery or plants),这主要是从应用上定义的。从中可以看出嵌入式系统是软件和硬件的综合体,同时还涵盖了机械等附属装置。需要指出的是,上述定义并不能充分体现出嵌入式系统的精髓,嵌入式的概念根本上应该从应用角度加以阐述。在多数网站和书籍资料中,对嵌入式系统大都有这样的定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。也可以将嵌入式系统理解为:以应用为中心,以计算机技术、微电子技术、控制技术和通信技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
3、可以从以下三方面来认识嵌入式系统:(1)硬件应以嵌入式处理器为基础平台;(2)软件应以嵌入式软件为运行平台;(3)形式应是嵌入在设备中。各种设备有不同的外形及相应的附属配件,嵌入式系统只不过是其中的一个控制核心部件。概括地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。嵌入式系统具有如下特点:嵌入式系统功耗低、体积小、专用性强;为提高系统运行速度和可靠性,嵌入式系统软件一般都固化在存
4、储器芯片中或片内ROM中;嵌入式系统的软硬件设计力求高效、精简;嵌入式系统对代码安全性要求高;嵌入式系统开发需要专门的开发工具及开发环境;嵌入式系统是面向用户、面向产品、面向应用的;嵌入式系统是计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合的产物。1.1.2 嵌入式系统的构成嵌入式系统的构成嵌入式系统是指嵌入于各种设备及应用产品内部的计算机系统,而非PC系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成。它主要完成信号控制功能,体积小,结构紧凑,可作为一个部件埋藏于所控制的装置中。它提供用户接口,管理有关信息的输入/输出,监控设备工作
5、,使设备及应用系统有较高智能和性价比。嵌入式系统可分为硬件和软件两大部分。1.嵌入式系统的硬件嵌入式系统的硬件嵌入式系统的硬件部分包括处理器/微处理器、存储器、外设器件和I/O端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。1)嵌入式微处理器(Embedded Microprocessor Unit,EMPU)嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于比较恶劣的环境中,因此嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处
6、理器高。嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用的要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。与工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点。嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上,从而构成了一个通常所说的单板机系统。嵌入式处理器有8位、16位、32位和64位等不同类型,目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM等系列。嵌入式微处理器是嵌入式系统的核心。嵌入式微处理器一般
7、具备4个特点:(1)对实时和多任务有很强的支持能力。有较短的中断响应时间,从而使实时操作系统的执行时间减少到最低限度。(2)具有功能很强的存储区保护功能。嵌入式系统的软件结构已模块化,为了避免在软件模块之间出现错误的交叉作用,就需要设计强大的存储区保护功能,同时,这样也有利于软件诊断。(3)具有可扩展的处理器结构,能迅速地扩展出满足应用的高性能的嵌入式微处理器。(4)功耗很低,尤其是便携式无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,其功耗达到mW甚至W级。2)嵌入式微控制器(Microcontroller Unit,MCU)嵌入式微控制器又称单片机,它将整个计算机系统集成到一块
8、芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能部件和外设。为适应不同的应用需求,可对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,只是存储器和外设的配置及功能的设置不同。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅
9、度下降,可靠性提高。由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,加之有上述诸多优点,因此决定了微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。3)嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是O(nm),甚至是NP,一般结构的处理器无法实时地完成这些运算。由于DSP处理器对系统结构和指令进行了特殊设计,因此它更适合于实时地进行数字信号处理。在数字滤波、FFT、谱分析等方面,DSP算法正大量进
10、入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。另外,在有关智能方面的应用中,也需要嵌入式DSP处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加/解密算法的键盘,ADSL接入,实时语音压解系统,虚拟现实显示等。这类智能化算法一般运算量都较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的优势所在。嵌入式DSP处理器有两类:(1)DSP处理器经过单片化,EMC改造和增加片上外设,使之成为嵌入式DPS处理器,TI的TMS320C2000/C5000等属于此范畴。(2)在通用单片机或SOC中增加DSP协处理器,例如In
11、tel的MCS-296和Infineon(Siemens)的TriCore。4)嵌入式片上系统(System On Chip,SOC)随着EDI的推广,VLSI设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了SOC技术。各种通用处理器内核将作为SOC设计公司的标准库,和其他许多嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL、Verlog等硬件语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系
12、统电路板将变得很简单,对于减小整个应用系统的体积和功耗、提高可靠性非常有利。SOC可分为通用和专用两类,通用SOC如Infineon(Siemens)的TriCore、Motorola的M-Core,以及某些ARM系列器件,如Echelon和Motorola联合研制的Neuron芯片等;专用SOC一般专用于某个或某类系统中,如Philips的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载Java或C语言的专用SOC,可用于互联网安全方面。2.嵌入式系统的软件嵌入式系统的软件嵌入式系统的软件是嵌入式系统的重要组成部分,它也是计算
13、机软件的一种,同样由程序及其文档组成,可细分成操作系统软件(要求实时和多任务操作)、支撑软件和应用软件三类。操作系统控制着应用程序编程与硬件的交互作用;支撑软件是用于帮助和支持软件开发的软件;应用程序控制着系统的运作和行为。1)嵌入式操作系统嵌入式操作系统(Embedded Operating System,EOS)是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、
14、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统可以分为实时操作系统和分时操作系统两类。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高系统的使用效率。实时操作系统通过任务调度对重要事件在规定时间内作出正确的响应。面向控制、通信等领域的是实时操作系统,如WindRiver公司的VxWorks,ISI公司的pSOS,QNX系统软件公司的QNX,ATI公司的Nucleus等;面向消费电子产
15、品的是分时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。(1)分时操作系统。早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性
16、要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件发生时,不再做任何工作,退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会因在中断服务程序中处理费时的事件而影响后续和其他中断。实际上,前后台系统的实时性比预计的要差,这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队执行的,因而,那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,会使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/RO
17、M的额外开销,因而在简单的嵌入式应用中被广泛使用。(2)实时操作系统。实时操作系统是嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统是能从硬件方面支持实时控制系统工作的操作系统。实现操作的实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有软实时系统和硬实时系统两种类型。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成,如消费类电子产品;在硬实时系统中,不
18、仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理,如工业和军工系统电子产品。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时操作系统具有任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含ROM的管理)、实时时钟服务、中断管理服务等功能。实时操作系统具有规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快等特点。大多数嵌入式操作系统支持多任务。多任务运行实际是靠CPU在多个任务之间切换、调度来实现的。每个任务都有其优先级,不同的任务优先级可能相同也可能不
19、同。根据任务调度方式的不同,实时操作系统可分为可抢占型和不可抢占型两类。可抢占型实时操作系统是指内核可以抢占正在运行任务的CPU的使用权,并将使用权交给进入就绪态的优先级更高的任务。不可抢占型实时操作系统在使用某种算法并决定让某个任务运行后,就把CPU的控制权完全交给了该任务,直到它主动将CPU控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态,而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出CPU的控制权。使用不可抢占型实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这
20、一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占CPU控制权处理不好,会产生系统崩溃、死机等严重后果。可抢占型实时操作系统调度方式灵活,能及时处理紧迫事件,但频繁调度任务和及时计算优先权又会使系统开销增大。不可抢占型实时操作系统调度方式简单,系统开销小,但不能及时处理紧迫事件,不适用于实时任务。在使用中应该综合权衡,
21、以使它们的优势发挥到最大。使用实时操作系统的必要性。嵌入式实时操作系统在目前的嵌入式应用中越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要,如汽车安全气囊等。首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。以往长期使用的前后台系统软件在遇到强干扰时,易使运行的程序产生异常、出错、跑飞,甚至死循环,易造成系统的崩溃。而在实时操作系统管理的系统中,这种干扰可能只是引起若干进程中的一个被破坏,
22、可以通过系统运行的系统监控进程对其进行修复。通常情况下,系统监视进程用来监视各进程的运行状况,遇到异常情况时采取一些利于系统稳定可靠运行的措施,如把有问题的任务清除掉。其次,嵌入式实时操作系统提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。32位CPU比8、16位CPU快,另外,它本来是为运行多用户、多任务操作系统而设计的,故特别适于运行多任务实时系统。
23、32位CPU采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如,CPU运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出CPU的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥32位CPU的优势。从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。实时操作系统的优缺点。在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独
24、立的任务模块,可使应用程序的设计过程大为简化,而且对实时性要求苛刻的事件都可得到快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到了更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2%5%的CPU额外负荷,以及内核的费用。2)嵌入式支撑软件嵌入式支撑软件通常包括数据库和开发工具,其中以数据库最为重要。嵌入式数据库技术已得到广泛的应用,随着移动通信技术的进步,人们对移动数据处理提出了更高的要求,嵌入式数据库技术已经得到了学术、工业、军事、民用部门等各方面的重视。嵌入式移动数据库或简称为移动数据库(EMDBS)是支持移动计算或某种特定计算模式的数据库管
25、理系统,数据库系统与操作系统、具体应用集成在一起,运行在各种智能型嵌入设备或移动设备上。其中,嵌入在移动设备上的数据库系统由于涉及数据库技术、分布式计算技术以及移动通信技术等多个学科领域,目前已经成为一个十分活跃的研究和应用领域。国际上主要的嵌入式移动数据库系统有Sybase、Oracle等。我国嵌入式移动数据库系统以东软集团研究开发的嵌入式数据库系统OpenBASE Mini为代表。3)嵌入式应用软件嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软
展开阅读全文