【文档说明】嵌入式软件工程中心-课件.ppt,共(80)页,788.012 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-44969.html
以下为本文档部分文字说明:
电子科技大学嵌入式软件工程中心嵌入式系统及应用电子科技大学嵌入式软件工程中心第三章嵌入式软件系统基础电子科技大学嵌入式软件工程中心主要内容•嵌入式软件系统概述•嵌入式操作系统•嵌入式软件开发工具(在嵌入式系统软件开发一章中介绍)•嵌入式Java电子科技大学
嵌入式软件工程中心第一节嵌入式软件系统概述软件系统嵌入式软件系统的分类嵌入式软件系统的体系结构嵌入式软件运行流程电子科技大学嵌入式软件工程中心软件系统•软件(software)是计算机系统中与硬件(hardware)
相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。其中:–程序是按照事先设计的功能和性能要求执行的指令序列;–数据是程序能正常操纵信息的数据结构;–文档是与程序开发维护和使用有关的各种图文资料。电子科技大学嵌入式软件工程中心软件系统
•软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。软件产品的特性•软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副
本。所以对软件的质量控制,必须着重在软件开发方面下工夫。•软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以
接受时,软件就被抛弃。•软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。•软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。•软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的
各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。•软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。•软件工作牵涉到很多社会因素。许多软件的开发和
运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。电子科技大学嵌入式软件工程中心嵌入式软件系统的分类嵌入式软件系统软件支撑软件应用软件控制、管理计算机系统的资源
嵌入式操作系统嵌入式中间件(CORBA、Java)等等辅助软件开发的工具系统分析设计工具仿真开发工具交叉开发工具测试工具配置管理工具维护工具等面向应用领域手机软件路由器软件交换机软件飞控软件等电子科技大学嵌入式软件工程中心嵌入式软件系统的分类•从
运行平台来分,嵌入式软件可以分为–运行在开发平台上的软件:设计、开发、测试工具等。–运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构硬件应用层驱动层操作系统层中间件层板级初始化FLASH驱动RTC/定时器驱动串
口驱动以太网驱动LCD驱动键盘驱动其他驱动内核TCP/IP网络系统文件系统嵌入式GUI电源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向应用领域的中间件应用任务1应用任务2……应用任务n电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构•驱动层驱动层是
直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。–板级初始化程序这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。–与系统软件相关的驱动•这类驱动是操作系统和中间件等系统软件所需的驱动程序,
它们的开发要按照系统软件的要求进行。•目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。–与应用软件相关的驱动与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由
应用决定。电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构•操作系统层–操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。–其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。电子科技大学嵌入式软件工程
中心嵌入式软件系统的体系结构•中间件层–目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。–如基于嵌入式CORBA的应用于软件无线电台的应用中
间件SCA(SoftwareCoreArchitecture)等。电子科技大学嵌入式软件工程中心嵌入式软件系统的体系结构•应用层–应用层软件主要由多个相对独立的应用任务组成–每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任
务等,由操作系统调度各个任务的运行。电子科技大学嵌入式软件工程中心嵌入式软件运行流程上电复位系统升级引导/升级系统系统初始化应用初始化多任务应用板级初始化远程升级本地升级•基于多任务操作系统的嵌入式软件的主要运行流程
•该运行流程主要分为5个阶段电子科技大学嵌入式软件工程中心嵌入式软件运行流程•上电复位、板级初始化阶段–嵌入式系统上电复位后完成板级初始化工作。–板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完
成的:•CPU中堆栈指针寄存器的初始化。•BSS段(BlockStorageSpace表示未被初始化的数据)的初始化。•CPU芯片级的初始化:中断控制器、内存等的初始化。返回电子科技大学嵌入式软件工程中心嵌入式软件运行流程
•系统引导/升级阶段–根据需要分别进入系统软件引导阶段或系统升级阶段。–软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。电子科技大学嵌入式软件工程中心嵌入式软件运行流程•系统引导阶段系统引导有几种情况:–将系统软件从NORFlash中读取出来加载到RAM中运行:这种方
式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。–不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。–将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。电子科技大学嵌入式软
件工程中心嵌入式软件运行流程•系统升级阶段–进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。–远程升级一般支持TFTP、FTP、HTTP等方式。–本地升级可通过Console口使用超级终端或特定的升级软件进行。返回电子科技大学嵌入式软
件工程中心嵌入式软件运行流程•系统初始化阶段–在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。–系统初始化阶段需要按特定顺序进行,如首先完成内核
的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回电子科技大学嵌入式软件工程中心嵌入式软件运行流程•应用初始化阶段在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。•多任务应用运行阶段各种初始化工作完成后,系统进入多任务状
态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。电子科技大学嵌入式软件工程中心第二节嵌入式操作系统概述嵌入式操作系统的演变嵌入式操作系统分类嵌入式操作系统体系结构嵌入式操作系统的组成嵌入式实时操作系统µC/OS-II简介电子科技大学嵌入式软件工程中
心概述嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:–可固化–可配置、可剪裁–独立的板级支持包,可修改–不同的CPU有不同的版本–应用的开发需要有集成的交叉开发工具电子科技大学
嵌入式软件工程中心概述•近十年来,嵌入式操作系统得到飞速的发展–从支持8位微处理器到16位、32位甚至64位微处理器;–从支持单一品种的微处理器芯片到支持多品种微处理器芯片;–从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网
络系统,窗口图形系统等。•随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。电子科技大学嵌入式软件工程中心嵌入式操作系统
的演变*PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice10%*Kernel30%*KernelNetworkingFileSystem75%*KernelNetworkingFileSystem
MultiprocessingMemoryManagementNetworkingUtilityWindowsAPIApplicationApplicationApplicationApplication90%*KernelNetworkingFileSystemMultiprocessi
ngFaultToleranceDistributedObjectsAdvancedNetworkingAdvancedInterconnectJavaBrowser/GUI电子科技大学嵌入式软件工程中心嵌入式操作系统的演变在嵌入式系统的发展过程中,从操作系统的角度
来看,大致经历了以下几个阶段:–无操作系统阶段–简单操作系统阶段–实时操作系统阶段–面向Internet的阶段电子科技大学嵌入式软件工程中心嵌入式操作系统分类•从应用领域来分–面向信息家电的嵌入式操作系统–面向智能手机的嵌入式操作系统,如SymbianOS、MSMobileOS、PalmOS、E
mbeddedLinux等–面向汽车电子的嵌入式操作系统–面向工业控制的嵌入式操作系统–……….•从实时性的角度来分–嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRONOS等。–非实时嵌入式操作系统:一般
只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。•从嵌入式系统的商业模式来分类–商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用+版税。–开源型:开放源码,只收服务费,没有版税。如Embeddedlinux,RTEMS,eC
OS。电子科技大学嵌入式软件工程中心嵌入式操作系统体系结构•体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。•体系结构是确保系统的性能、可靠性、灵活性、
可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。•目前操作系统的体系结构可分为:单块结构、层次结构和客户/服务器(微内核)结构。电子科技大学嵌入式软件工程中心嵌
入式操作系统体系结构硬件系统服务用户态核心态应用程序应用程序…单块结构电子科技大学嵌入式软件工程中心嵌入式操作系统体系结构硬件基本进程管理虚存管理I/O和设备管理进程间通信文件系统用户用户模式内核模式层次结构电子科技大学嵌入式软件工程中心嵌入式操作系统体系结构硬
件进程服务用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答客户/服务器结构(微内核结构)电子科技大学嵌入式软件工程中心嵌入式操作系统体系结构•微内核结构的优点–提供一致的接口–可扩展性:扩展对新的软件/硬件支持–灵活性:可伸缩–可移植性–分布式系统支持–适用于面向对象操作系统
环境•性能问题:–通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多–很大程度取决于微内核的大小和功能电子科技大学嵌入式软件工程中心嵌入式操作系统体系结构•目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。–分层和模块化结合的结构将操作系统分为硬件无
关层、硬件抽象层和硬件相关层,每层再划分功能模块。–这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。–而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。电子科技大学嵌入式软件工程中
心嵌入式操作系统体系结构应用程序任务管理硬件用户扩展处理调度管理硬件抽象层应用编程接口内存管理中断管理时钟/定时器管理I/O管理出错处理同步、通信管理(消息队列,信号量,事件,异步信号))DeltaCORE的体系结构:层次+模块结构分层次模块化电子科技大学嵌入式软件工程中心
嵌入式操作系统体系结构用户模式应用应用应用网络管理器图形管理器设备管理器文件系统管理器网络驱动图形驱动设备驱动文件系统驱动硬件内核模式内核(微内核)QNX4.25的体系结构:客户/服务器结构电子科技大学嵌入式软件工程中心嵌入式操
作系统嵌入式内核嵌入式TCP/IP网络系统嵌入式文件系统嵌入式操作系统的组成…………电子科技大学嵌入式软件工程中心嵌入式内核–内核是嵌入式操作系统的基础,也是必备的部分。–内核还提供特定的应用编程接口,但目前没有统一的标准。任务管理内存管理通信同步与互斥机制中断管理时间管理任务扩
展…………返回电子科技大学嵌入式软件工程中心嵌入式内核•任务管理–内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。–通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用R
ound-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。–而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。返回电子科技大学嵌入式软件工程中心嵌入式内核•内存管理–嵌入式操作系统的内存
管理比较简单。–通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。–有些内核利用MMU机制提供内存保护功能。–通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。返回电子科技大
学嵌入式软件工程中心嵌入式内核•通信、同步和互斥机制–这些机制提供任务间、任务与中断处理程序间的通信、同步和互斥功能。–一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。–与通用操作系统不同的是,嵌
入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。返回电子科技大学嵌入式软件工程中心嵌入式内核•中断管理,一般具有以下功能:–安装中断服务程序–中断发生时,对中断现场进行保存,并且转到相应的服务程序上执
行–中断退出前,对中断现场进行恢复–中断栈切换–中断退出时的任务调度返回电子科技大学嵌入式软件工程中心嵌入式内核•时间管理–提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。–提供日历时间,负责与时间相关的任务管理工作如任务
对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。–通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒。返回电子科技大学嵌入式软件工程中心嵌入式内核•任务扩展功能–任务
扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。–Hook调用点有任务创建、任务切换、任务删除、出错处理等。返回电子科技大学嵌入式软件工程中心嵌入式TCP/IP•TCP/IP协议已
经广泛地应用于嵌入式系统中•嵌入式TCP/IP网络系统提供符合TCP/IP协议标准的协议栈,提供Socket编程接口。Socket接口UDP协议TCP协议IP协议ICMP/IGMP协议网络接口层ARP/PPP协议
以太网驱动异步串口驱动物理设备应用程序/应用协议电子科技大学嵌入式软件工程中心嵌入式TCP/IP•嵌入式TCP/IP网络系统具有以下的特点:–可剪裁:能根据嵌入式系统的功能的要求选择所需的协议,对完整的TCP/IP协议簇进行剪裁,以满足用户的需要。–采用“零拷贝”(ZeroC
opy)技术,提高实时性所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移。电子科技大学嵌入式软件工程中心嵌入式TCP/IP–采用静态分配技术在网络初始化时就静态分配
通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的MTU值),从而确保了每次发送或接收时处理的数据不会超过MTU值,也就避免了数据处理任务的阻塞等待。返回电子科技大学嵌入式软件工程中心嵌入式文件系统•通用操
作系统的文件系统通常具有以下功能:–提供用户对文件操作的命令–提供用户共享文件的机制–管理文件的存储介质–提供文件的存取控制机制,保障文件及文件系统的安全性–提供文件及文件系统的备份和恢复功能–提供对文件的加密和解密功能电子科技大学嵌入式软件工程中心嵌入式文件系统•嵌入式文件系统相比之下
较为简单,主要具有文件的存储、检索、更新等功能,一般不提供保护和加密等安全机制。•它以系统调用和命令方式提供对文件的各种操作,主要有:–设置和修改对文件和目录的存取权限–提供建立、修改、改变、删除目录等服务–提供创建、打开、读、写、关闭、撤消文件等服务电子科技大学嵌入式
软件工程中心嵌入式实时操作系统µC/OS-II简介•µC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。•至今,从8位到64位,µC/OS-II已经在40多
种不同架构的微处理器上使用。•使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。电子科技大学嵌入式软件工程中心嵌入式实时操作系统µC/OS-II简介•µC/OS-II全部以源代码的方式提
供,大约有5500行。•CPU相关的部分使用的是针对Intel80x86微处理器的代码。•µC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。电子科技大学嵌入式软件工程中心嵌入式实时操作系统µC/OS-II简介•µC
/OS-II的特点:–源代码–可移植–可固化–可裁减–可抢占性–支持多任务–可确定性–任务栈–系统服务–中断管理–稳定性和可靠性电子科技大学嵌入式软件工程中心嵌入式实时操作系统µC/OS-II简介•源代码文件介绍–对函数
和环境的定义:PC.C–与处理器类型无关部分:OS_CORE.COS_FLAG.COS_MBOX.COS_MEM.COS_MUTEX.COS_Q.COS_SEM.COS_TASK.COS_TIME.CµCOS-II.CµCOS-II.H–与处
理器类型相关部分:OS_CPU_A.SOS_CPU_C.COS_CPU.H–给整个内核库提供总体的include文件:INCLUDES.H–配置文件,定义使用µC/OS-II中的哪些功能:OS_CFG.H电子科技大学嵌入式
软件工程中心嵌入式实时操作系统µC/OS-II简介电子科技大学嵌入式软件工程中心第四节嵌入式Java概述为什么需要J2MEJ2ME用来做什么进一步了解J2MEJ2ME应用电子科技大学嵌入式软件工程中心
概述•Java伴随着WriteOnce,RunAnywhere的美好愿望而诞生电子科技大学嵌入式软件工程中心为什么需要JavaME•从PC时代到网络时代:计算无处不在•消费类嵌入式设备拥有庞大的市场:–手机–PDA–机顶盒–……•重新定义“电脑”——计算+娱
乐+沟通电子科技大学嵌入式软件工程中心为什么需要JavaME•且慢:在美好明天到来之前•竞争的时代:–多样化的硬件–多样化的软件–多样化的网络•运营商、设备制造商、软件开发商……所有人都希望取得优势电子科技大学嵌入式软件工程中心为什么需要JavaME•电信运营商:提供更多更好的增
值服务,寻找新的利润增长点•设备制造商:需要更多的软件支持•软件开发商:需要开发功能更强、更有吸引力的应用•所有人的难题:没有统一的标准电子科技大学嵌入式软件工程中心JavaME用来做什么•为不同的硬件/软件/网络环境定义一个统一的Java虚拟机架构及统
一的API•在PC上开发应用,在嵌入式设备上运行•应用具备网络交互能力•应用无需移植,也无需重新编译,直接运行于所有平台电子科技大学嵌入式软件工程中心进一步了解JavaMEJavaMicroEdition(JavaME)含有虚拟机以及由Configuration指定的核心和在Prof
iles中指定的纵向的或与OptionalPackage电子科技大学嵌入式软件工程中心进一步了解JavaME-Configuration•我们可以根据如下特性对嵌入式设备分类:–内存的类型和数量–处理器的类型和速度–是否具
有网络连接及连接类型•Configuration是一套规范,它为具有类似属性的某一类设备定义了J2ME平台应该具有的基本功能,例如Java核心库、Java虚拟机。•目前J2ME规范只有两种Configuration:–CLDC(ConnectedLimitedDeviceConfigurati
on)–CDC(ConnectedDeviceconfiguration)电子科技大学嵌入式软件工程中心进一步了解JavaME-CLDC•CLDC主要是针对那些具有间歇的网络连接,速度较慢的处理器,有限内存的小型设备,如手机、低端PDA等。•CLDC规范假定其目标设备具有如
下性质:–使用16或32位处理器–至少拥有160KB内存,其中的128KB将配置给虚拟机和核心类库–具有某种网络连接,通常是无线的、间歇连接的,而且带宽有限电子科技大学嵌入式软件工程中心•CLDC规范所涉及的范围包含下列五大项:–Java语言以及虚拟机的特性–核心类库与输入输出–连网功能–安全性–
国际化功能•目前CLDC的版本有:–CLDC1.0–CLDC1.1•CLDC使用的虚拟机是KVM(KilobyteVM)进一步了解JavaME-CLDC电子科技大学嵌入式软件工程中心CLDC上的Profile•MI
DP(MobileInformationDeviceProfile)主要是针对手机和低端PDA。•它为移动应用提供了核心功能,包括用户界面、网络连接、局部数据存储和应用管理。•MIDP与CLDC一起为手持设备提供了完整的Java运行环境。•目前MIDP规范的版本
有:–MIDP1.0–MIDP2.0–MIDP3.0今年底推出电子科技大学嵌入式软件工程中心CLDCOptionalPackage-JTWI•MinimizethefragmentationofmobileJavabydefini
ngapredictableandhighlyinteroperableapplicationandserviceenvironmentfordevelopers.–Mandatory:•CLDC1.0(JSR30)•MIDP2.0(JSR118)•WMA1.1(JSR120)
–Optional/Conditional:•CLDC1.1(JSR139)•MMAPI1.1(JSR135)电子科技大学嵌入式软件工程中心CLDCOptionalPackage-MSA•ManyOperatorspecificationstakeMSA/MSAsubsetasitsf
ramework电子科技大学嵌入式软件工程中心CLDCOptionalPackage–MIDP3.0•MultipleconcurrentMIDletsinoneVM.•ImproveUIexpressabilityandextensib
ility•IPv6•MIDletprovisionthroughothermeans(e.g.OMA(SyncML)DM/DS,Bluetooth,removablemedia,MMS,JSR-232,etc.)•Localization&Internationalization(JSR-
238)电子科技大学嵌入式软件工程中心•CDC主要是针对那些具有更多内存、更快速度的处理器和更大网络带宽的设备,如电视机顶盒、高端PDA、汽车通讯系统等。•CDC规范假定其目标设备具有如下性质:–使用32位处理器–提供至少2MB的内存给Java平台–具有网络连通的能
力•CDC中使用的虚拟机是CVM进一步了解JavaME-CDC电子科技大学嵌入式软件工程中心CDC上的Profile•FP(FoundationProfile)–是一套支持资源受限设备,但不包含标准用户图形界面系统的JavaAPI。–FP
+CDC就为J2ME应用程序提供了一套在消费设备和嵌入式设备中运行的完整环境。–FP也是其他Profile的基础。•PBP(PersonalBaseProfile)–提供基本的图形功能•PP(PersonalProfile)–支持
完整、抽象的图形工具(AWT)–还提供了大量的PersonalJava环境功能电子科技大学嵌入式软件工程中心JavaME应用在这个例子中CLDC=KVM+J2ME核心APIs移动信息设备ProfileKVMDSP芯片(如ARM)JavaME核心APIs您的MIDlet黄页、列车时刻
表和票务服务、游戏…用户界面,HTTP网络连接...线程,没有浮点…32-位tRISC,256KROM,256KFlash,64KRAM电子科技大学嵌入式软件工程中心JavaME应用装载过程网页JAM下载应用用户选择应用页面上的应用网络传输Java应用管理器(名称、版本
、大小…)Jar文件描述文件电子科技大学嵌入式软件工程中心JavaME应用装载过程•发现应用•下载和解析JAD文件•下载JAR文件•应用安装电子科技大学嵌入式软件工程中心•启动浏览器访问OTA网站。•登陆成功后,浏览器会获取到JAVA应用的列
表并显示出来。•发现应用•下载和解析JAD文件•下载JAR文件•应用安装电子科技大学嵌入式软件工程中心•点击应用链接,服务器将会把JAVA应用的JAD文件以字节流的形式传送给浏览器。•JAD文件中包含了相应JAR文件的信息:下载JAR文件的UR
L地址、供应商、版本号等,其中有些信息是安装JAVA应用所必须的,所以需要对这个文件进行分析。•发现应用•下载和解析JAD文件•下载JAR文件•应用安装电子科技大学嵌入式软件工程中心•根据JAD文件里保存的JA
R文件下载网址,通过浏览器下载JAR文件。•发现应用•下载和解析JAD文件•下载JAR文件•应用安装电子科技大学嵌入式软件工程中心•JAR下载成功后,安装JAR文件。随后即可运行JAR文件。•发现应用•下载和解析JAD文件•下载JAR文件•应用安装电子科技大学嵌入式软件工程中心J
avaME市场预测Sources:(1)MAPOS2005(2)IDC,May2005(3)ABIResearch,2004Java-enabledmobilehandsetsgrowth(1)Machine-to-Machinegrowth(3)2/3
Javaenabledphones11960204060801001202004E2010EUnits(millions)2004E-2010ECAGR:43%80042241840002004006008001
,0002005E2009EUnits(millions)2005E-2009ECAGR:19%822121834760204060802005E2009EUnits(millions)2005E-2
009ECAGR:18%Set-topboxesgrowth(2)电子科技大学嵌入式软件工程中心嵌入式浏览器HighLowLowHighBrowser特点XHTML+HTMLWAP2.0+HTML电子科技大学嵌入式软件工程中心嵌入式通信协议套件体系结构
图安全模块路由模块配置管理模块升级模块嵌入式操作系统访问控制NATRIPSNMPConsoleTelnetHTTPFTPUDPTCPARP/IP/ICMP/DNS/DHCP硬件抽象层HAL以太网驱动PPP(
LCP/IPCP/CHAP/PAP)PPPOE硬件及板级支持BSPPPTPUPnP电子科技大学嵌入式软件工程中心嵌入式软件技术发展形成行业的标准嵌入式实时操作系统嵌入式开发工具各种软件技术行业性嵌入式软件开发平台:根据应用的不同要求,今后不同行业会定义其嵌入
式操作系统、嵌入式支撑软件等行业标准•高可用(highavailable)•高可靠(highsafety)•支持多处理器和分布式计算•高度集成•编译优化•具有系统设计、可视化建模、仿真和验证功能•Java优化技术•多媒体技术•小型GUI技术•低功耗技术•宽带和无线通信技术电
子科技大学嵌入式软件工程中心谢谢!