嵌入式系统及应用-Chapter3-嵌入式软件系统基础.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式系统及应用-Chapter3-嵌入式软件系统基础.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统及应用-Chapter3-嵌入式软件系统基础.ppt(100页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、嵌入式系统及应用-Chapter3-嵌入式软件系统基础 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第三章第三章嵌入式软件系统基础嵌入式软件系统基础主要内容主要内容嵌入式软件系统概述嵌入式软件系统概述嵌入式操作系统嵌入式操作系统嵌入式软件开发工具嵌入式软件开发工具第一节第一节嵌入式软件系统概述嵌入式软件系统概述软件系统软件系统嵌入式软件系统的分类嵌入式软件系统的分类嵌入式软件系统的体系结构嵌入式软件系统的体系结构嵌入式软件运行流程嵌入式软件运行流程软件系统软件系
2、统软软件件(software)(software)是是计计算算机机系系统统中中与与硬硬件件(hardware)(hardware)相相互互依依存存的的另另一一部部分分,它它包包括括程程序序(program)(program)、相相关关数数据据(data)(data)及及其其说说明明文档文档(document)(document)。其中:其中:程程序序是按照事先设计的功能和性能要求执行的指令序列;数据数据是程序能正常操纵信息的数据结构;文文档档是与程序开发维护和使用有关的各种图文资料。软件系统软件系统软件是一种逻辑实体,具有抽象性。这这个个特特点点使使它它与与其其它它工工程程对对象象有有着着明明
3、显显的的差差异异。人人们们可可以以把把它它记记录录在在纸纸上上、内内存存、和和磁磁盘盘、光光盘盘上上,但但却却无无法法看看到到软软件件本本身身的的形形态态,必必须须通通过过观观察察、分分析、思考、判断,才能了解它的功能、性能等特性析、思考、判断,才能了解它的功能、性能等特性。软软件件产产品品的的特特性性软件没有明显的制造过程。一一旦旦研研制制开开发发成成功功,就就可可以以大大量量拷拷贝贝同同一一内内容容的的副副本本。所所以以对对软软件件的的质质量量控控制制,必必须须着着重重在在软软件件开开发发方面下工夫。方面下工夫。软件在使用过程中,没有磨损、老化的问题。软软件件在在生生存存周周期期后后期期不
4、不会会因因为为磨磨损损而而老老化化,但但会会为为了了适适应应硬硬件件、环环境境以以及及需需求求的的变变化化而而进进行行修修改改,而而这这些些修修改改有有不不可可避避免免的的引引入入错错误误,导导致致软软件件失失效效率率升升高高,从从而而使使的的软软件件退退化化。当当修修改改的的成成本本变变得得难难以以接受时,软件就被抛弃。接受时,软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软软件件是是人人类类有有史史以以来来生生产产的的复复杂杂度度最最高高的的工工业业产产品品。软软件件
5、涉涉及及人人类类社社会会的的各各行行各各业业、方方方方面面面面,软软件件开开发发常常常常涉涉及及其其它它领领域域的的专专门门知知识识,这这对对软软件件工工程程师师提出了很高的要求。提出了很高的要求。软件的成本相当昂贵。软软件件开开发发需需要要投投入入大大量量、高高强强度度的的脑脑力力劳劳动动,成成本本非非常常高高,风风险险也也大大。现现在在软软件件的的开开销销已已大大大大超超过过了了硬件的开销。硬件的开销。软件工作牵涉到很多社会因素。许许多多软软件件的的开开发发和和运运行行涉涉及及机机构构、体体制制和和管管理理方方式式等等问问题题,还还会会涉涉及及到到人人们们的的观观念念和和心心理理。这这些些
6、人人的的因因素素,常常常常成成为软件开发的困难所在,直接影响到项目的成败。为软件开发的困难所在,直接影响到项目的成败。嵌入式软件系统的分类嵌入式软件系统的分类嵌嵌入入式式软软件件系统软件系统软件支撑软件支撑软件应用软件应用软件控制、管理计算控制、管理计算机系统的资源机系统的资源嵌入式操作系统嵌入式操作系统嵌入式中间件(嵌入式中间件(CORBA、Java)等等等等辅助软件开发的辅助软件开发的工具工具系统分析设计工具系统分析设计工具仿真开发工具仿真开发工具交叉开发工具交叉开发工具测试工具测试工具配置管理工具配置管理工具维护工具等维护工具等面向应用领域面向应用领域手机软件手机软件路由器软件路由器软件
7、交换机软件交换机软件飞控软件等飞控软件等嵌入式软件系统的分类嵌入式软件系统的分类从运行平台来分,嵌入式软件可以分为从运行平台来分,嵌入式软件可以分为运运行行在在开开发发平平台台上上的的软软件件:设计、开发、测试工具等。运运行行在在嵌嵌入入式式系系统统上上的的软软件件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。嵌入式软件系统的体系结构嵌入式软件系统的体系结构硬件硬件应用层应用层驱动层驱动层操作系统层操作系统层中间件层中间件层板级板级初始化初始化FLASH驱动驱动RTC/定定时器驱动时器驱动串口串口 驱动驱动以太网以太网驱动驱动LCD 驱动驱动键盘键盘驱动驱动其他其他驱动驱动内核内核TCP
8、/IP网络系统网络系统文件文件系统系统嵌入式嵌入式GUI电源电源管理管理嵌入式嵌入式CORBA嵌入式嵌入式JAVA嵌入式嵌入式DCOM面向应用领域面向应用领域的中间件的中间件应用应用任务任务1应用应用任务任务2应用应用任务任务n嵌入式软件系统的体系结构嵌入式软件系统的体系结构驱动层驱动层 驱动层是直接与硬件打交道的一层,它对驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。该层主要包括三种类型的程序。板级初始化程序板级初始化程序 这些程序在嵌入式系统上电后初始化系统的硬这些程序在嵌入式系统上电后初始化系统的硬
9、件环境,包括嵌入式微处理器、存储器、中断件环境,包括嵌入式微处理器、存储器、中断控制器、控制器、DMA、定时器等的初始化。、定时器等的初始化。与系统软件相关的驱动与系统软件相关的驱动这类驱动是操作系统和中间件等系统软件所这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件需的驱动程序,它们的开发要按照系统软件的要求进行。的要求进行。目前操作系统内核所需的硬件支持一般都已目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。厂商提供的内核驱动一般不用修改。与应用软件相关的驱动与应用
10、软件相关的驱动 与应用软件相关的驱动不一定需要与操作系统与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。连接,这些驱动的设计和开发由应用决定。嵌入式软件系统的体系结构嵌入式软件系统的体系结构操作系统层操作系统层操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。嵌入式软件系统的体系结构嵌入式软件系统的体系结构中间件层中间件层 目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领
11、域的中间件软件。如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等。嵌入式软件系统的体系结构嵌入式软件系统的体系结构应用层应用层 应用层软件主要由多个相对独立的应用任务组成每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。嵌入式软件运行流程嵌入式软件运行流程上电复位上电复位系统升级系统升级引导引导/升级系统升级系统系统初始化系统初始化应用初始化应用初始化多任务应用多任务应用板级初始化板级初始化远程升级远程升级本地升级本地升级基于多任务操作系统基于多任务操作系统的嵌入的嵌入式软件的主
12、要运行流程式软件的主要运行流程该运行流程主要分为该运行流程主要分为5 5个阶段个阶段嵌入式软件运行流程嵌入式软件运行流程上电复位、板级初始化阶段上电复位、板级初始化阶段嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(Block Storage Space表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回返回嵌入式软件运行流程嵌入式软件运行流程系统引导系统引导/升级阶段升级阶段根据需要
13、分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。嵌入式软件运行流程嵌入式软件运行流程系统引导阶段系统引导阶段系统引导有几种情况:将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。嵌入式软件运行流程嵌入式软件运行流程系统升级阶段系统升级阶段进入系统升级阶段后系统可通
14、过网络进行远程网络进行远程升级升级或通过串口进行本地升级串口进行本地升级。远程升级远程升级一般支持TFTP、FTP、HTTP等方式。本地升级本地升级可通过Console口使用超级终端或特定的升级软件进行。返回返回嵌入式软件运行流程嵌入式软件运行流程系统初始化阶段系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回返回嵌入式软件运行流程嵌入式软件运行流程应用初始化阶段应用初始化阶段在该阶段进
15、行应用任务的创建,信号量、在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始消息队列的创建和与应用相关的其它初始化工作。化工作。多任务应用运行阶段多任务应用运行阶段各种初始化工作完成后,系统进入多任务各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功务的调度,各应用任务分别完成特定的功能。能。第二节第二节嵌入式操作系统嵌入式操作系统概述概述嵌入式操作系统的演变嵌入式操作系统的演变嵌入式操作系统分类嵌入式操作系统分类嵌入式操作系统体系结构嵌入式操作系统体系结构嵌入式操作系统的组成嵌
16、入式操作系统的组成概述概述嵌嵌入入式式操操作作系系统统可可以以统统称称为为应应用用在在嵌嵌入入式式系系统统的的操操作作系系统统,它它具具有有一一般般操操作作系系统统的的功功能能,同同时时具具有嵌入式软件的特点,主要有:有嵌入式软件的特点,主要有:可固化可固化 可配置、可剪裁可配置、可剪裁 独立的板级支持包,可修改独立的板级支持包,可修改 不同的不同的CPU有不同的版本有不同的版本 应用的开发需要有集成的交叉开发工具应用的开发需要有集成的交叉开发工具概述概述近十年来,嵌入式操作系统得到飞速的发展近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一
17、品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。随着嵌入式系统应用领域的扩展,目前嵌入式随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提领域的产品,这些产品按领域的要求和标准提供特定的功能。供特定的功能。嵌入式操作系统的演变嵌入式操作系统的演变*Percent of total software supplied by RTOS vendor in a typical embedded Perce
18、nt of total software supplied by RTOS vendor in a typical embedded devicedevice10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplication90%*90%*KernelNetworkingFile SystemMultiproc
19、essingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI嵌入式操作系统的演变嵌入式操作系统的演变在嵌入式系统的发展过程中,从操作系统在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:的角度来看,大致经历了以下几个阶段:无操作系统阶段无操作系统阶段简单操作系统阶段简单操作系统阶段实时操作系统阶段实时操作系统阶段面向面向Internet的阶段的阶段嵌入式操作系统分类嵌入式操作系统分类从应用领域来分从应用领域来分面向信息家电的嵌入式操作系统面向智
20、能手机的嵌入式操作系统,如SymbianOS、MS Mobile OS、PalmOS、Embedded Linux等面向汽车电子的嵌入式操作系统 面向工业控制的嵌入式操作系统 .从实时性的角度来分从实时性的角度来分嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRON OS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。从嵌入式系统的商业模式来分类从嵌入式系统的商业模式来分类商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用开发费用+版税版税。开源型:开放源码,只收
21、服务费,没有版税。如Embedded linux,RTEMS,eCOS。嵌入式操作系统体系结构嵌入式操作系统体系结构体系结构是操作系统的基础,它定义了硬件与体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、软件的界限、内核与操作系统其它组件(文件、网络、网络、GUIGUI等)的组织关系、系统与应用的接等)的组织关系、系统与应用的接口。口。体系结构是确保系统的性能、可靠性、灵活性、体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,架,只有梁架搭牢固了才提
22、得上房子的质量,再做一些锦上添花的工作才有意义。再做一些锦上添花的工作才有意义。目目前前操操作作系系统统的的体体系系结结构构可可分分为为:单单块块结结构构、层次结构层次结构和和客户客户/服务器(微内核)结构服务器(微内核)结构。嵌入式操作系统体系结构嵌入式操作系统体系结构硬硬 件件系统服务系统服务用户态用户态核心态核心态应用程序应用程序应用程序应用程序单块结构单块结构嵌入式操作系统体系结构嵌入式操作系统体系结构用户模式用户模式内核模式内核模式层次结构层次结构嵌入式操作系统体系结构嵌入式操作系统体系结构硬硬 件件进程服务进程服务用户态用户态核心态核心态应用程序客户应用程序客户内存服务内存服务微内
23、核微内核文件服务文件服务网络服务网络服务显示服务显示服务发送发送应答应答客户客户/服务器结构(微内核结构)服务器结构(微内核结构)嵌入式操作系统体系结构嵌入式操作系统体系结构微内核结构的优点微内核结构的优点提供一致的接口提供一致的接口可扩展性:扩展对新的软件可扩展性:扩展对新的软件/硬件支持硬件支持灵活性:可伸缩灵活性:可伸缩可移植性可移植性分布式系统支持分布式系统支持适用于面向对象操作系统环境适用于面向对象操作系统环境性能问题:性能问题:通通过过微微内内核核构构造造和和发发送送信信息息、接接受受应应答答并并解解码码所花费的时间比进行一次系统调用的时间多所花费的时间比进行一次系统调用的时间多很
24、大程度取决于微内核的大小和功能很大程度取决于微内核的大小和功能嵌入式操作系统体系结构嵌入式操作系统体系结构目目前前嵌嵌入入式式操操作作系系统统主主要要采采用用分分层层和和模模块块化相结合的结构或微内核结构。化相结合的结构或微内核结构。分分层层和和模模块块化化结结合合的的结结构构将将操操作作系系统统分分为为硬硬件件无无关关层层、硬硬件件抽抽象象层层和和硬硬件件相相关关层层,每每层层再再划划分功能模块。分功能模块。这这样样移移植植工工作作便便集集中中在在硬硬件件相相关关层层,与与其其余余两两层层无无关关,功功能能的的伸伸缩缩则则集集中中在在模模块块上上,从从而而确确保其具有良好的可移植性和可伸缩性
25、。保其具有良好的可移植性和可伸缩性。而而采采用用微微内内核核结结构构,则则可可利利用用其其可可伸伸缩缩的的特特点点适应硬件的发展,便于扩展。适应硬件的发展,便于扩展。嵌入式操作系统体系结构嵌入式操作系统体系结构应用程序应用程序任务管理任务管理硬硬 件件用户扩展处理用户扩展处理调度管理调度管理硬件抽象层硬件抽象层应用编程接口应用编程接口内存管理内存管理中断管理中断管理时钟时钟/定时器管理定时器管理I/OI/O管理管理出错处理出错处理同步、通信管理(消息队列,信号量,事件,同步、通信管理(消息队列,信号量,事件,异步信号异步信号))DeltaCORE的体系结构:层次模块结构的体系结构:层次模块结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 应用 Chapter3 软件 基础
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内