收藏 分享(赏)

03_软件子系统.ppt

上传人:hyngb9260 文档编号:7294505 上传时间:2019-05-14 格式:PPT 页数:98 大小:2.28MB
下载 相关 举报
03_软件子系统.ppt_第1页
第1页 / 共98页
03_软件子系统.ppt_第2页
第2页 / 共98页
03_软件子系统.ppt_第3页
第3页 / 共98页
03_软件子系统.ppt_第4页
第4页 / 共98页
03_软件子系统.ppt_第5页
第5页 / 共98页
点击查看更多>>
资源描述

1、2019/5/14,Embedded System,1,第三章 嵌入式软件系统基础,2019/5/14,Embedded System,2,主要内容,嵌入式软件系统概述嵌入式操作系统嵌入式Java,2019/5/14,Embedded System,3,第一节 嵌入式软件系统概述,软件系统 嵌入式软件系统的分类 嵌入式软件系统的体系结构 嵌入式软件运行流程,2019/5/14,Embedded System,4,软件系统,软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 其中

2、: 程序是按照事先设计的功能和性能要求执行的指令序列; 数据是程序能正常操纵信息的数据结构; 文档是与程序开发维护和使用有关的各种图文资料。,2019/5/14,Embedded System,5,软件系统,软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。,软件产品的特性,软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。,软件在使用过程中,没有磨损、老化的问题

3、。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以接受时,软件就被抛弃。,软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。,软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。,软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。,软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现

4、在软件的开销已大大超过了硬件的开销。,软件工作牵涉到很多社会因素。 许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。,2019/5/14,Embedded System,6,嵌入式软件系统的分类,嵌入式软件,系统软件,支撑软件,应用软件,控制、管理计算机系统的资源,嵌入式操作系统 嵌入式中间件(CORBA、Java) 等等,辅助软件开发的工具,系统分析设计工具 仿真开发工具 交叉开发工具 测试工具 配置管理工具 维护工具等,面向应用领域,手机软件 路由器软件 交换机软件 飞控软件等,2019/5/1

5、4,Embedded System,7,嵌入式软件系统的分类,从运行平台来分,嵌入式软件可以分为 运行在开发平台上的软件:设计、开发、测试工具等。 运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。,2019/5/14,Embedded System,8,嵌入式软件系统的体系结构,硬件,应用层,驱动层,操作系统层,中间件层,2019/5/14,Embedded System,9,嵌入式软件系统的体系结构,驱动层驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。,板级初始化程序BSP介于硬件和OS之间,使OS能更好的适应

6、硬件。尽管实现的功能类似,但不同的OS对应不同定义形式的BSP。一般不建议用户添加自己的程序到BSP中。BSP通常用汇编语言实现,完成系统运行所需的最 小设置.BSP的主要工作:初始化基本硬件设置:处理器工作模式,存储 器地址空间分配,堆栈,中断向量表等;初始化关键I/O接口:串行接口,网络接口等;,与系统软件相关的驱动 这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件的要求进行。 目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。,与应用软件相关的驱动与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的

7、设计和开发由应用决定。,2019/5/14,Embedded System,10,嵌入式软件系统的体系结构,操作系统层 操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。 其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。,2019/5/14,Embedded System,11,嵌入式软件系统的体系结构,中间件层- Middleware介于OS与用户应用软件之间,以解决网络环境的分布异构问题,如网络中环境多变、OS多样、数据分散等不一致性问题。-Middleware对上层应用软件来说具有标准的程序接口和协议。-Mid

8、dleware对下层不同的操作系统和硬件平台来说,可以有多种实现。,2019/5/14,Embedded System,12,嵌入式软件系统的体系结构,中间件层 目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。 如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等。,2019/5/14,Embedded System,13,嵌入式软件系统的体系结构,应用层 应用层软件主要由多个相对独立的应用任务组成 每个应用任务完成特定的工作,如I/O任务、计

9、算的任务、通信任务等,由操作系统调度各个任务的运行。,2019/5/14,Embedded System,14,嵌入式软件运行流程,上电复位,系统升级,引导/升级系统,系统初始化,应用初始化,多任务应用,板级初始化,远程升级,本地升级,基于多任务操作系统的嵌入式软件的主要运行流程 该运行流程主要分为5个阶段,2019/5/14,Embedded System,15,嵌入式软件运行流程,上电复位、板级初始化阶段 嵌入式系统上电复位后完成板级初始化工作。 板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:

10、 CPU中堆栈指针寄存器的初始化。 BSS段(Block Storage Space表示未被初始化的数据)的初始化。 CPU芯片级的初始化:中断控制器、内存等的初始化。,返回,2019/5/14,Embedded System,16,嵌入式软件运行流程,系统引导/升级阶段 根据需要分别进入系统软件引导阶段或系统升级阶段。 软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。,2019/5/14,Embedded System,17,嵌入式软件运行流程,系统引导阶段 系统引导有几种情况: 将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度

11、比RAM慢的问题。软件可压缩存储在Flash中。 不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。 将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。,2019/5/14,Embedded System,18,嵌入式软件运行流程,系统升级阶段 进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。 远程升级一般支持TFTP、FTP、HTTP等方式。 本地升级可通过Console口使用超级终端或特定的升级软件进行。,返回,2019/5/14,Embedded System,19,嵌入式软件运行流

12、程,系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。 系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。,返回,2019/5/14,Embedded System,20,嵌入式软件运行流程,应用初始化阶段在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。 多任务应用运行阶段各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。,2019/5/14,Em

13、bedded System,21,第二节 嵌入式操作系统,概述 嵌入式操作系统的演变 嵌入式操作系统分类 嵌入式操作系统体系结构 嵌入式操作系统的组成 嵌入式实时操作系统C/OS-II简介,2019/5/14,Embedded System,22,概述,嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有: 可固化 可配置、可剪裁 独立的板级支持包,可修改 不同的CPU有不同的版本 应用的开发需要有集成的交叉开发工具,2019/5/14,Embedded System,23,概述,近十年来,嵌入式操作系统得到飞速的发展 从支持8位微处理

14、器到16位、32位甚至64位微处理器; 从支持单一品种的微处理器芯片到支持多品种微处理器芯片; 从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。 随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。,2019/5/14,Embedded System,24,嵌入式操作系统的演变,*Percent of total software supplied by RTOS vendor in a typical embedded device,Application,Appli

15、cation,Application,Application,2019/5/14,Embedded System,25,嵌入式操作系统的演变,在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段: 无操作系统阶段 简单操作系统阶段 实时操作系统阶段 面向Internet的阶段和面向Safety Critical System的高可靠实时操作系统阶段,2019/5/14,Embedded System,26,嵌入式操作系统的演变,无操作系统阶段 嵌入式系统最初的应用是基于单片机的, 大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹

16、等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。 这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上“系统“的概念。,2019/5/14,Embedded System,27,嵌入式操作系统的演变,无操作系统阶段 这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。 由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。,2019

17、/5/14,Embedded System,28,嵌入式操作系统的演变,简单操作系统阶段 20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。 与此同时,嵌入式系统的程序员也开始基于一些简单的“操作系统“开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。,2019/5/14,Embedded System,29,嵌入式操作系统的演变,简单操作系统阶段 这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的

18、嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。,2019/5/14,Embedded System,30,嵌入式操作系统的演变,实时操作系统阶段 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS)

19、,并开始成为嵌入式系统的主流。,2019/5/14,Embedded System,31,嵌入式操作系统的演变,实时操作系统阶段 这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。,2019/5/14,Embedded System,32,嵌入式操作系统的演变,面向Internet的阶段 21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网

20、络环境中去的呼声自然也越来越高。目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。 信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。,2019/5/14,Embedded System,33,嵌入式操作系统的演变,目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化: 新的微处理器层出不穷,嵌入式操作系统自身结构的设计

21、更加便于移植,能够在短时间内支持更多的微处理器。 嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式操作系统本身,同时还要提供强大的软件开发支持包。 通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA、Java等,嵌入式软件平台得到进一步完善。,2019/5/14,Embedded System,34,嵌入式操作系统的演变,各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与Windows CE、Symbian等嵌入式操作系统进行有力竞

22、争的局面。 网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。 精简系统内核,优化关键算法,降低功耗和软硬件成本。 提供更加友好的多媒体人机交互界面。,2019/5/14,Embedded System,35,嵌入式操作系统的演变,面向Safety-Critical System的高可靠嵌入式实时操作系统阶段 安全关键系统:是指出现故障后可能导致人员死亡、造成重大财产损失,或是对环境带来破坏的系统。 在应用领域中有很多实际的例子,比如医疗设备、飞机飞行控制系统、武器和核系

23、统等。 在更加通用的范畴中,很多现代信息系统也正在成为安全关键系统,这些系统出现故障后会导致财力损失,甚至人员伤亡。 随着硬件价格的降低、性能的提升,以及一些其它技术的持续发展,使得属于安全关键范畴的计算机应用领域会进一步扩大。 将来的安全关键系统会更加普遍,2019/5/14,Embedded System,36,Partition OS负责对partition内的应用任务进行调度,并向上层应用任务提供事件,信号量,I/O等系统功能。 core OS主要包括:区间管理和调度、共享对象管理、进程管理、内存管理、中断管理、CACHE管理、出错处理、时钟管理、I/O设备管理、异步信号和系统初始化。

24、,safety,ARINC653 航空电子应用软件标准接口,用以规范航空电子设备和系统的开发,2019/5/14,Embedded System,37,为什么需要操作系统,-多任务运行时,任务调度、内存分配复杂;-系统需要大量协议支持,如网 络协议、USB协议、文件系统-系统需要很好的GUI支持;-系统需要较好的可扩展性和可移植性;,2019/5/14,Embedded System,38,嵌入式操作系统分类,从应用领域来分 面向信息家电的嵌入式操作系统 面向智能手机的嵌入式操作系统,如SymbianOS、MS Mobile OS、PalmOS、Embedded Linux等 面向汽车电子的嵌

25、入式操作系统 面向工业控制的嵌入式操作系统.,从实时性的角度来分 嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRON OS等。 非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。,从嵌入式系统的商业模式来分类 商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用+版税。 开源型:开放源码,只收服务费,没有版税。 如Embedded linux,RTEMS,eCOS。,2019/5/14,Embedded System,39,OS的任务,内存管理、多任务管理、周边资源管理

26、 1。程序载入、系统初始化 2。任务Task管理和调度多个任的运行Executing、就绪Ready、挂起Suspend、睡眠SLEEP等状态的切换;共享资源的互斥访问 3。设备访问,硬件驱动中断处理、内存管理、外设驱动开发和管理 4。多用户或网络中系统访问权限的管理 5。错误检测和反馈 6。提供API及各种开发工具,2019/5/14,Embedded System,40,RTOS的功能,1。有异步I/O和中断处理能力 2。任务管理任务调度策略应允许高级任务抢占低级任务 3。任务间提供同步和通信的手段任务同步:信号量(semaphore)、事件组(event group)、信号(signal

27、) 任务通信:信箱(mailbox)、队列(queue)、管道(pipe) 4。存储器优化管理允许锁定内存内容以保证快速响应时间 5。中断管理允许用户定义中断和任务优先级。,2019/5/14,Embedded System,41,嵌入式RTOS的关键技术指标,1。任务调度算法 2。任务切换时间(上下文切换时间) 包括保存当前任务状态、决定将运行的任务、恢复将运行任务的状态等操作。 3。可确定性(Deterministic) 系统调用的最大时间是可以确定的。 4。最小内存开销 5。最大中断禁止时间 RTOS只有在用户态才响应中断请求,而在内核态或执行某些系统调用时不会响应。,最重要的两个指标,

28、2019/5/14,Embedded System,42,嵌入式操作系统体系结构,体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。 体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。 目前操作系统的体系结构可分为:单块结构、层次结构和客户/服务器(微内核)结构。,2019/5/14,Embedded System,43,嵌入式操作系统体系结构,硬 件,系统服务,用户态,核心态,应用程序,应用程序,单块结构,201

29、9/5/14,Embedded System,44,嵌入式操作系统体系结构,层次结构,2019/5/14,Embedded System,45,嵌入式操作系统体系结构,硬 件,进程服务,用户态,核心态,应用程序客户,内存服务,微内核,文件服务,网络服务,显示服务,发送,应答,客户/服务器结构(微内核结构),2019/5/14,Embedded System,46,嵌入式操作系统体系结构,微内核结构的优点 提供一致的接口 可扩展性:扩展对新的软件/硬件支持 灵活性:可伸缩 可移植性 分布式系统支持 适用于面向对象操作系统环境 性能问题: 通过微内核构造和发送信息、接受应答并解码所花费的时间比进行

30、一次系统调用的时间多 很大程度取决于微内核的大小和功能,2019/5/14,Embedded System,47,嵌入式操作系统体系结构,目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。 分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。 这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。 而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。,2019/5/14,Embedded System,48,嵌入式操作系统体系结构,应用程序,任务管理,硬 件,用户扩展

31、处理,调度管理,硬件抽象层,应用编程接口,内存管理,中断管理,时钟/定时器管理,I/O管理,出错处理,同步、通信管理(消息队列,信号量,事件,异步信号)),DeltaCORE的体系结构:层次模块结构,分层次,模块化,2019/5/14,Embedded System,49,嵌入式操作系统体系结构,用户模式,应用,应用,应用,网络管理器,图形管理器,设备管理器,文件系统管理器,网络驱动,图形驱动,设备驱动,文件系统驱动,硬 件,内核模式 内核(微内核),QNX4.25的体系结构:客户/服务器结构,2019/5/14,Embedded System,50,嵌入式操作系统的组成,2019/5/14,

32、Embedded System,51,嵌入式内核,内核是嵌入式操作系统的基础,也是必备的部分。 内核还提供特定的应用编程接口,但目前没有统一的标准。,任务管理,内存管理,通信同步与互斥机制,中断管理,时间管理,任务扩展, ,返回,2019/5/14,Embedded System,52,嵌入式内核,任务管理 内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。 通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用Round-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。 而嵌入式操作系统多采用基于静态优先

33、级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。,返回,2019/5/14,Embedded System,53,嵌入式内核,内存管理 嵌入式操作系统的内存管理比较简单。 通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。 有些内核利用MMU机制提供内存保护功能。 通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。,返回,2019/5/14,Embedded System,54,嵌入式内核,通信、同步和互斥机制 这些机制提供任务间、任务与中断处理程序

34、间的通信、同步和互斥功能。 一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。 与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。,返回,2019/5/14,Embedded System,55,嵌入式内核,中断管理,一般具有以下功能: 安装中断服务程序 中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行 中断退出前,对中断现场进行恢复 中断栈切换 中断退出时的任务调度,返回,2019/5/14,Embedded System,56,嵌入式内核,时间管理 提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。 提

35、供日历时间,负责与时间相关的任务管理工作如任务对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。 通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒。,返回,2019/5/14,Embedded System,57,嵌入式内核,任务扩展功能 任务扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。 Hook调用点有任务创建、任务切换、任务删除、出错处理等。,返回,2019/5/14,Embedded System,58,嵌入式TCP/IP,TCP/IP协议已经广泛地应用于嵌入式

36、系统中 嵌入式TCP/IP网络系统提供符合TCP/IP协议标准的协议栈,提供Socket编程接口。,Socket 接 口,物 理 设 备,应用程序/应用协议,2019/5/14,Embedded System,59,嵌入式TCP/IP,嵌入式TCP/IP网络系统具有以下的特点: 可剪裁:能根据嵌入式系统的功能的要求选择所需的协议,对完整的TCP/IP协议簇进行剪裁,以满足用户的需要。 采用“零拷贝”(Zero Copy)技术,提高实时性所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时

37、,才进行真正的数据搬移。,2019/5/14,Embedded System,60,嵌入式TCP/IP,采用静态分配技术在网络初始化时就静态分配通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的MTU值),从而确保了每次发送或接收时处理的数据不会超过MTU值,也就避免了数据处理任务的阻塞等待。,返回,2019/5/14,Embedded System,61,嵌入式文件系统,通用操作系统的文件系统通常具有以下功能: 提供用户对文件操作的命令 提供用户共享文件的机制 管理文件的存储介质 提供文件的存取控制机制,保障文件及文件系统的安全性 提供文件及文件系统的备份和恢复功能 提

38、供对文件的加密和解密功能,2019/5/14,Embedded System,62,嵌入式文件系统,嵌入式文件系统相比之下较为简单,主要具有文件的存储、检索、更新等功能,一般不提供保护和加密等安全机制。 它以系统调用和命令方式提供对文件的各种操作,主要有: 设置和修改对文件和目录的存取权限 提供建立、修改、改变、删除目录等服务 提供创建、打开、读、写、关闭、撤消文件等服务,2019/5/14,Embedded System,63,嵌入式实时操作系统C/OS-II简介,C/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理

39、器使用。 至今,从8位到64位,C/OS-II已经在40多种不同架构的微处理器上使用。 使用C/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。,2019/5/14,Embedded System,64,嵌入式实时操作系统C/OS-II简介,C/OS-II全部以源代码的方式提供,大约有5500行。 CPU相关的部分使用的是针对Intel80x86微处理器的代码。 C/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。,2019/5/14,Embedded System,65,嵌入式实时操作系统C/OS-II简介,C/OS-II的特点: 源代码 可移植

40、可固化 可裁减 可抢占性 支持多任务,可确定性 任务栈 系统服务 中断管理 稳定性和可靠性,2019/5/14,Embedded System,66,嵌入式实时操作系统C/OS-II简介,源代码文件介绍 对函数和环境的定义: PC.C 与处理器类型无关部分:OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_MUTEX.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C COS-II.C COS-II.H 与处理器类型相关部分:OS_CPU_A.S OS_CPU_C.C OS_CPU.H 给整个内核库提供总体的include文件:INCL

41、UDES.H 配置文件,定义使用C/OS-II中的哪些功能:OS_CFG.H,2019/5/14,Embedded System,67,嵌入式OS的移植,嵌入式OS的可剪裁性及其硬件相关性要求开发时需针对专门的硬件平台进行移植。移植时主要考虑系统内核加载、任务调度、内存管理、实时性等功能。需要修改的代码主要是与处理器相关的部分或涉及OS剪裁的部分(C的头文件、汇编文件和某些C代码文件),不需或很少需要改动的主要是一些系统函数。如ucLinux的移植就包括OS引导程序Bootloader移植和OS内核移植两步。,2019/5/14,Embedded System,68,嵌入式实时操作系统C/OS

42、-II简介,C/OS-II不是自由软件, 用于商业目的时须取得许可证,2019/5/14,Embedded System,69,第三节 嵌入式Java,概述 为什么需要J2ME J2ME用来做什么 进一步了解J2ME J2ME应用,2019/5/14,Embedded System,70,概述,Java伴随着Write Once, Run Anywhere的美好愿望而诞生,2019/5/14,Embedded System,71,为什么需要Java ME,从PC时代到网络时代:计算无处不在 消费类嵌入式设备拥有庞大的市场: 手机 PDA 机顶盒 重新定义“电脑”计算+娱乐+沟通,2019/5/

43、14,Embedded System,72,为什么需要Java ME,且慢:在美好明天到来之前 竞争的时代: 多样化的硬件 多样化的软件 多样化的网络 运营商、设备制造商、软件开发商所有人都希望取得优势,2019/5/14,Embedded System,73,为什么需要Java ME,电信运营商:提供更多更好的增值服务,寻找新的利润增长点 设备制造商:需要更多的软件支持 软件开发商:需要开发功能更强、更有吸引力的应用 所有人的难题:没有统一的标准,2019/5/14,Embedded System,74,Java ME用来做什么,为不同的硬件/软件/网络环境定义一个统一的Java虚拟机架构及

44、统一的API 在PC上开发应用,在嵌入式设备上运行 应用具备网络交互能力 应用无需移植,也无需重新编译,直接运行于所有平台,2019/5/14,Embedded System,75,进一步了解Java ME,Java Micro Edition (Java ME)含有虚拟机以及由Configuration指定的核心和在Profiles中指定的纵向的或与Optional Package,Mobile Information Device Profile,2019/5/14,Embedded System,76,进一步了解Java ME- Configuration,我们可以根据如下特性对嵌入式设

45、备分类: 内存的类型和数量 处理器的类型和速度 是否具有网络连接及连接类型 Configuration是一套规范,它为具有类似属性的某一类设备定义了J2ME平台应该具有的基本功能,例如Java核心库、Java虚拟机。 目前J2ME规范只有两种Configuration: CLDC(Connected Limited Device Configuration) CDC(Connected Device configuration),2019/5/14,Embedded System,77,进一步了解Java ME- CLDC,CLDC主要是针对那些具有间歇的网络连接,速度较慢的处理器,有限内存的

46、小型设备,如手机、低端PDA等。 CLDC规范假定其目标设备具有如下性质: 使用16或32位处理器 至少拥有160KB内存,其中的128KB将配置给虚拟机和核心类库 具有某种网络连接,通常是无线的、间歇连接的,而且带宽有限,2019/5/14,Embedded System,78,CLDC规范所涉及的范围包含下列五大项: Java语言以及虚拟机的特性 核心类库与输入输出 连网功能 安全性 国际化功能 目前CLDC的版本有: CLDC1.0 CLDC1.1 CLDC使用的虚拟机是KVM(Kilobyte VM),进一步了解Java ME- CLDC,2019/5/14,Embedded Syst

47、em,79,CLDC上的Profile,MIDP(Mobile Information Device Profile)主要是针对手机和低端PDA。 它为移动应用提供了核心功能,包括用户界面、网络连接、局部数据存储和应用管理。 MIDP与CLDC一起为手持设备提供了完整的Java运行环境。 目前MIDP规范的版本有: MIDP1.0 MIDP2.0 MIDP3.0,2019/5/14,Embedded System,80,CLDC Optional Package JTWI Java Technology for the Wireless Industry,Minimize the fragme

48、ntation of mobile Java by defining a predictable and highly interoperable application and service environment for developers.Mandatory: CLDC 1.0 (JSR 30) MIDP 2.0 (JSR 118) WMA 1.1 (JSR 120) JSR120提供了短消息功能的支持 Optional/Conditional: CLDC 1.1 (JSR 139) MMAPI 1.1 (JSR 135) JSR 135提供了对多媒体的全面支持,2019/5/14,

49、Embedded System,81,CLDC Optional Package MSA,Many Operator specifications take MSA/MSA subset as its framework,MSA(Mobile Service Architecture,即移动服务架构,2019/5/14,Embedded System,82,CLDC Optional Package MIDP3.0,Multiple concurrent MIDlets in one VM. Improve UI expressability and extensibility IPv6 MIDlet provision through other means (e.g. OMA (SyncML) DM/DS, Bluetooth, removable media, MMS, JSR-232, etc.) Localization & Internationalization (JSR-238),2019/5/14,Embedded System,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报