嵌入式软件工程中心-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式软件工程中心-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件工程 中心 课件
- 资源描述:
-
1、电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式系统及应用嵌入式系统及应用电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心第三章第三章嵌入式软件系统基础嵌入式软件系统基础电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心主要内容主要内容 嵌入式软件系统概述嵌入式软件系统概述 嵌入式操作系统嵌入式操作系统 嵌入式软件开发工具嵌入式软件开发工具(在嵌入式系统软在嵌入式系统软件开发一章中介绍件开发一章中介绍)嵌入式嵌入式JavaJava电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心第一节第一节嵌入式软件系统概述嵌入式软件系统概述软件系统软件系统嵌
2、入式软件系统的分类嵌入式软件系统的分类嵌入式软件系统的体系结构嵌入式软件系统的体系结构嵌入式软件运行流程嵌入式软件运行流程电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心软件系统软件系统软件软件(software)(software)是计算机系统中与硬件是计算机系统中与硬件(hardware)(hardware)相互依存的另一部分,它包括相互依存的另一部分,它包括程序程序(program)(program)、相关数据相关数据(data)(data)及其说明及其说明文档文档(document)(document)。其中:其中:程序程序是按照事先设计的功能和性能要求执行的指令序列;数据
3、数据是程序能正常操纵信息的数据结构;文档文档是与程序开发维护和使用有关的各种图文资料。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心软件系统软件系统软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象有着明显的差异。人这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性析、思考、判断,才能了解它的功能、性能等特性。软软件件产产品品的的特特性性软件没有明显的制造过程。
4、一旦研制开发成功,就可以大量拷贝同一内容的副一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发本。所以对软件的质量控制,必须着重在软件开发方面下工夫。方面下工夫。软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以升高,从而使的软件退化。当修改的成本变得难以接受时,
5、软件就被抛弃。接受时,软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。提出了很高的要求。软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本软件开发需要投入大量、高强度的脑力劳动,
6、成本非常高,风险也大。现在软件的开销已大大超过了非常高,风险也大。现在软件的开销已大大超过了硬件的开销。硬件的开销。软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制和管理方式等问题,许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。为软件开发的困难所在,直接影响到项目的成败。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的分类嵌入式软件系统的分类嵌嵌入入式式软软件件系统软件系统软件支撑软件支撑软件应用软件应用软件
7、控制、管理计算控制、管理计算机系统的资源机系统的资源嵌入式操作系统嵌入式操作系统嵌入式中间件(嵌入式中间件(CORBA、Java)等等等等辅助软件开发的辅助软件开发的工具工具系统分析设计工具系统分析设计工具仿真开发工具仿真开发工具交叉开发工具交叉开发工具测试工具测试工具配置管理工具配置管理工具维护工具等维护工具等面向应用领域面向应用领域手机软件手机软件路由器软件路由器软件交换机软件交换机软件飞控软件等飞控软件等电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的分类嵌入式软件系统的分类从运行平台来分,嵌入式软件可以分为从运行平台来分,嵌入式软件可以分为运行在开发平台上的
8、软件运行在开发平台上的软件:设计、开发、测试工具等。运行在嵌入式系统上的软件运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构嵌入式软件系统的体系结构硬件硬件应用层应用层驱动层驱动层操作系统层操作系统层中间件层中间件层板级板级初始化初始化FLASH驱动驱动RTC/定定时器驱动时器驱动串口串口 驱动驱动以太网以太网驱动驱动LCD 驱动驱动键盘键盘驱动驱动其他其他驱动驱动内核内核TCP/IP网络系统网络系统文件文件系统系统嵌入式嵌入式GUI电源电源管理管理嵌入式嵌入式CORBA嵌入式嵌入式
9、JAVA嵌入式嵌入式DCOM面向应用领域面向应用领域的中间件的中间件应用应用任务任务1应用应用任务任务2应用应用任务任务n电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构嵌入式软件系统的体系结构 驱动层驱动层 驱动层是直接与硬件打交道的一层,它对驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。该层主要包括三种类型的程序。板级初始化程序板级初始化程序 这些程序在嵌入式系统上电后初始化系统的硬这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断件环
10、境,包括嵌入式微处理器、存储器、中断控制器、控制器、DMA、定时器等的初始化。、定时器等的初始化。与系统软件相关的驱动与系统软件相关的驱动 这类驱动是操作系统和中间件等系统软件所这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件需的驱动程序,它们的开发要按照系统软件的要求进行。的要求进行。目前操作系统内核所需的硬件支持一般都已目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。厂商提供的内核驱动一般不用修改。与应用软件相关的驱动与应用软件相关的驱动 与应用软件相关的驱动不一定
11、需要与操作系统与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。连接,这些驱动的设计和开发由应用决定。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构嵌入式软件系统的体系结构 操作系统层操作系统层操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构嵌入式软件系统的体系结构 中间件层中间件层 目前在一些复杂的嵌入式系统中也开始采
12、用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构嵌入式软件系统的体系结构 应用层应用层 应用层软件主要由多个相对独立的应用任务组成每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程上电复位上电复位系统升级
13、系统升级引导引导/升级系统升级系统系统初始化系统初始化应用初始化应用初始化多任务应用多任务应用板级初始化板级初始化远程升级远程升级本地升级本地升级基于多任务操作系统基于多任务操作系统的嵌入的嵌入式软件的主要运行流程式软件的主要运行流程该运行流程主要分为该运行流程主要分为5 5个阶段个阶段电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 上电复位、板级初始化阶段上电复位、板级初始化阶段 嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工
14、作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(Block Storage Space表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回返回电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 系统引导系统引导/升级阶段升级阶段根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 系统引导阶段系统引导阶段系统引导有几种情况:将系统软件从NOR Fl
15、ash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 系统升级阶段系统升级阶段 进入系统升级阶段后系统可通过网络进行远程网络进行远程升级升级或通过串口进行本地升级串口进行本地升级。远程升级远程升级一般支持TFTP、FTP、HTTP等方式。本地升级本地
16、升级可通过Console口使用超级终端或特定的升级软件进行。返回返回电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 系统初始化阶段系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回返回电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式软件运行流程嵌入式软件运行流程 应用初始化阶段应用初始化阶段在该阶段进行应用任务的创建,信
17、号量、在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始消息队列的创建和与应用相关的其它初始化工作。化工作。多任务应用运行阶段多任务应用运行阶段各种初始化工作完成后,系统进入多任务各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功务的调度,各应用任务分别完成特定的功能。能。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心第二节第二节嵌入式操作系统嵌入式操作系统概述概述嵌入式操作系统的演变嵌入式操作系统的演变嵌入式操作系统分类嵌入式操作系统分类嵌入式操作系统体系结构嵌入
18、式操作系统体系结构嵌入式操作系统的组成嵌入式操作系统的组成嵌入式实时操作系统嵌入式实时操作系统C/OS-II简介简介电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心概述概述嵌入式操作系统可以统称为应用在嵌入式系统的嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:有嵌入式软件的特点,主要有:可固化可固化 可配置、可剪裁可配置、可剪裁 独立的板级支持包,可修改独立的板级支持包,可修改 不同的不同的CPU有不同的版本有不同的版本 应用的开发需要有集成的交叉开发工具应用的开发需要有集成
19、的交叉开发工具电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心概述概述近十年来,嵌入式操作系统得到飞速的发展近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。随着嵌入式系统应用领域的扩展,目前嵌入式随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提领域的产品,这些产品按领域的要求和标准提供
20、特定的功能。供特定的功能。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变嵌入式操作系统的演变10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplicationKernelNetworkingFile SystemMultiprocessingFault ToleranceDis
21、tributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变嵌入式操作系统的演变在嵌入式系统的发展过程中,从操作系统在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:的角度来看,大致经历了以下几个阶段:无操作系统阶段无操作系统阶段 简单操作系统阶段简单操作系统阶段 实时操作系统阶段实时操作系统阶段 面向面向Internet的阶段的阶段电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变
22、嵌入式操作系统的演变 无操作系统阶段无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上系统的概念。这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却
23、无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变嵌入式操作系统的演变 简单操作系统阶段简单操作系统阶段 20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的操作系统开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。这一阶段嵌入式系统的主要特点是:出现了大量高可靠、
24、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变嵌入式操作系统的演变 实时操作系统阶段实时操作系统阶段 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩
25、大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式操作系统的演变嵌入式操作系统的演变 面向面向InternetInternet的阶段的阶段 21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去
展开阅读全文