欢迎来到天天文库
浏览记录
ID:37340786
大小:722.60 KB
页数:94页
时间:2019-05-12
《嵌入式系统软件及操作系统基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章嵌入式系统软件及操作系统基础主讲人:吴贵芳8/25/20218.1嵌入式软件基础8.1.1嵌入式软件的特点应用在嵌入式计算机系统当中的各种软件统称为嵌入式软件,作为嵌入式系统的一个组成部分,目前嵌入式软件的种类和规模都得到了极大的发展,形成了一个完整、独立的体系。除了具有通用软件的一般特性,同时还具有一些与嵌入式系统密切相关的特点,如:(l)规模较小在一般情况下,嵌入式系统的资源多是比较有限的,要求嵌入式软件必须尽可能地精简,多数的嵌入式软件都在几MB以内。2(2)开发难度大嵌入式系统由于硬件资源的有限,使得嵌入式软件在时间和空间上都受
2、到严格的限制,需要开发人员对编程语言、编译器和操作系统有深刻的了解,才有可能开发出运行速度快、存储空间少、维护成本低的软件。嵌入式软件一般都要涉及到底层软件的开发,应用软件的开发也是直接基于操作系统的,这就要求开发人员具有扎实的软、硬件基础,能灵活运用不同的开发手段和工具,具有较丰富的开发经验。嵌入式软件的运行环境和开发环境比PC机复杂,嵌入式软件是在目标系统上运行的,而嵌入式软件的开发工作则是在另外的开发系统中进行,当应用软件调试无误后,再把它放到目标系统上去。3(3)高实时性和可靠性要求具有实时处理的能力是许多嵌入式系统的基本要求,实时性
3、要求软件对外部事件做出反应的时间必须要快,在某些情况下还要求是确定的、可重复实现的,不管系统当时的内部状态如何,都是可以预测的。同时,对于事件的处理一定要在限定的时间期限之前完成,否则就有可能引起系统的崩溃。在航天控制、核电站、工业机器人等实时系统对嵌入式软件的可靠性要求是非常高的,一旦软件出了问题,其后果是非常严重的。(4)软件固化存储为了提高系统的启动速度、执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或微处理器中。48.1.2嵌入式软件的分类1.系统软件系统软件控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备
4、驱动程序、嵌入式操作系统、嵌入式中间件等。2.应用软件应用软件是嵌入式系统中的上层软件,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互。应用软件是嵌入式系统功能的体现,如飞行控制软件、手机软件、MP3播放软件、电子地图软件等,一般面向于特定的应用领域,。3.支撑软件支撑软件指辅助软件开发的工具软件,如系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理工具等。在嵌入式系统当中,系统软件和应用软件运行在目标平台的(即嵌入式设备上),而对于各种软件开发工具来说,它们大部分都运行在开发平台(PC机)上,运行Windows或L
5、inux操作系统。58.1.3嵌入式软件的体系结构1.无操作系统的嵌入式软件早期在嵌入式系统的应用范围主要集中在控制领域,硬件的配置比较低,嵌入式软件的设计主要是以应用为核心,应用软件直接建立在硬件上,没有专门的操作系统,软件的规模也很小。无操作系统的嵌入式软件主要采用循环轮转和中断(前后台)两种实现方式。(1)循环轮转方式循环轮转方式的基本设计思想是:把系统的功能分解为若干个不同的任务,放置在一个永不结束的循环语句当中,按照时间顺序逐一执行。当程序执行完一轮后,又回到程序的开头重新执行,循环不断。6循环轮转方式的程序简单、直观、开销小、可预
6、测。软件的开发可以按照自顶向下、逐步求精的方式,将系统要完成的功能逐级划分成若干个小的功能模块进行编程,最后组合在一起。循环轮转方式的软件系统只有一条执行流程和一个地址空间,不需要任务之间的调度和切换,其程序的代码都是固定的,函数之间的调用关系也是明确的,整个系统的执行过程是可预测的。循环轮转方式的缺点是程序必须按顺序执行,无法处理异步事件,缺乏并行处理的能力。缺乏硬件上的时间控制机制,无法实现定时功能。7(2)中断方式中断方式又称为前后台系统形式,系统在循环轮转方式的基础上增加了中断处理功能。ISR(InterruptServiceRout
7、ine,中断服务程序)负责处理异步事件,即前台程序(foreground),也称为事件处理级程序。而后台程序(background)是一个系统管理调度程序,一般采用的是一个无限的循环形式,负责掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度。后台程序也称为任务级程序。一般情形下,后台程序会检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。而一些对实时性有要求的操作通常由中断服务程序来完成,大多数的中断服务程序只做一些最基本的操作,如标记中断事件的发生等,其余的事情会延迟到后台程序去完成。82.有操作系统的嵌入式软件从2
8、0世纪80年代开始,操作系统出现在嵌入式系统上。如今,嵌入式操作系统在嵌入式系统中广泛应用,尤其是在功能复杂、系统庞大的应用中显得愈来愈重要。在应用软件开发时,程序
此文档下载收益归作者所有