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