嵌入式系统及应用Chapter3嵌入式软件系统基础

上传人:仙*** 文档编号:171385351 上传时间:2022-11-26 格式:PPT 页数:100 大小:1.83MB
返回 下载 相关 举报
嵌入式系统及应用Chapter3嵌入式软件系统基础_第1页
第1页 / 共100页
嵌入式系统及应用Chapter3嵌入式软件系统基础_第2页
第2页 / 共100页
嵌入式系统及应用Chapter3嵌入式软件系统基础_第3页
第3页 / 共100页
点击查看更多>>
资源描述
嵌入式系统及应用嵌入式系统及应用第三章第三章嵌入式软件系统基础嵌入式软件系统基础主要内容主要内容 嵌入式软件系统概述嵌入式软件系统概述 嵌入式操作系统嵌入式操作系统 嵌入式软件开发工具嵌入式软件开发工具第一节第一节嵌入式软件系统概述嵌入式软件系统概述软件系统软件系统嵌入式软件系统的分类嵌入式软件系统的分类嵌入式软件系统的体系结构嵌入式软件系统的体系结构嵌入式软件运行流程嵌入式软件运行流程软件系统软件系统软件软件(software)(software)是计算机系统中与硬件是计算机系统中与硬件(hardware)(hardware)相互依存的另一部分,它包括相互依存的另一部分,它包括程序程序(program)(program)、相关数据、相关数据(data)(data)及其说明及其说明文档文档(document)(document)。其中:其中:程序程序是按照事先设计的功能和性能要求执行的指令序列;数据数据是程序能正常操纵信息的数据结构;文档文档是与程序开发维护和使用有关的各种图文资料。软件系统软件系统软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象有着明显的差异。人这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性析、思考、判断,才能了解它的功能、性能等特性。软软件件产产品品的的特特性性软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发本。所以对软件的质量控制,必须着重在软件开发方面下工夫。方面下工夫。软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以升高,从而使的软件退化。当修改的成本变得难以接受时,软件就被抛弃。接受时,软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。提出了很高的要求。软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了非常高,风险也大。现在软件的开销已大大超过了硬件的开销。硬件的开销。软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制和管理方式等问题,许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。为软件开发的困难所在,直接影响到项目的成败。嵌入式软件系统的分类嵌入式软件系统的分类嵌嵌入入式式软软件件系统软件系统软件支撑软件支撑软件应用软件应用软件控制、管理计算控制、管理计算机系统的资源机系统的资源嵌入式操作系统嵌入式操作系统嵌入式中间件(嵌入式中间件(CORBA、Java)等等等等辅助软件开发的辅助软件开发的工具工具系统分析设计工具系统分析设计工具仿真开发工具仿真开发工具交叉开发工具交叉开发工具测试工具测试工具配置管理工具配置管理工具维护工具等维护工具等面向应用领域面向应用领域手机软件手机软件路由器软件路由器软件交换机软件交换机软件飞控软件等飞控软件等嵌入式软件系统的分类嵌入式软件系统的分类从运行平台来分,嵌入式软件可以分为从运行平台来分,嵌入式软件可以分为运行在开发平台上的软件运行在开发平台上的软件:设计、开发、测试工具等。运行在嵌入式系统上的软件运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。嵌入式软件系统的体系结构嵌入式软件系统的体系结构硬件硬件应用层应用层驱动层驱动层操作系统层操作系统层中间件层中间件层板级板级初始化初始化FLASH驱动驱动RTC/定定时器驱动时器驱动串口串口 驱动驱动以太网以太网驱动驱动LCD 驱动驱动键盘键盘驱动驱动其他其他驱动驱动内核内核TCP/IP网络系统网络系统文件文件系统系统嵌入式嵌入式GUI电源电源管理管理嵌入式嵌入式CORBA嵌入式嵌入式JAVA嵌入式嵌入式DCOM面向应用领域面向应用领域的中间件的中间件应用应用任务任务1应用应用任务任务2应用应用任务任务n嵌入式软件系统的体系结构嵌入式软件系统的体系结构 驱动层驱动层 驱动层是直接与硬件打交道的一层,它对驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。该层主要包括三种类型的程序。板级初始化程序板级初始化程序 这些程序在嵌入式系统上电后初始化系统的硬这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断件环境,包括嵌入式微处理器、存储器、中断控制器、控制器、DMA、定时器等的初始化。、定时器等的初始化。与系统软件相关的驱动与系统软件相关的驱动 这类驱动是操作系统和中间件等系统软件所这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件需的驱动程序,它们的开发要按照系统软件的要求进行。的要求进行。目前操作系统内核所需的硬件支持一般都已目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。厂商提供的内核驱动一般不用修改。与应用软件相关的驱动与应用软件相关的驱动 与应用软件相关的驱动不一定需要与操作系统与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。连接,这些驱动的设计和开发由应用决定。嵌入式软件系统的体系结构嵌入式软件系统的体系结构 操作系统层操作系统层操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。嵌入式软件系统的体系结构嵌入式软件系统的体系结构 中间件层中间件层 目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等。嵌入式软件系统的体系结构嵌入式软件系统的体系结构 应用层应用层 应用层软件主要由多个相对独立的应用任务组成每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。嵌入式软件运行流程嵌入式软件运行流程上电复位上电复位系统升级系统升级引导引导/升级系统升级系统系统初始化系统初始化应用初始化应用初始化多任务应用多任务应用板级初始化板级初始化远程升级远程升级本地升级本地升级基于多任务操作系统基于多任务操作系统的嵌入的嵌入式软件的主要运行流程式软件的主要运行流程该运行流程主要分为该运行流程主要分为5 5个阶段个阶段嵌入式软件运行流程嵌入式软件运行流程 上电复位、板级初始化阶段上电复位、板级初始化阶段 嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(Block Storage Space表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回返回嵌入式软件运行流程嵌入式软件运行流程 系统引导系统引导/升级阶段升级阶段根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。嵌入式软件运行流程嵌入式软件运行流程 系统引导阶段系统引导阶段系统引导有几种情况:将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。嵌入式软件运行流程嵌入式软件运行流程 系统升级阶段系统升级阶段 进入系统升级阶段后系统可通过网络进行远程网络进行远程升级升级或通过串口进行本地升级串口进行本地升级。远程升级远程升级一般支持TFTP、FTP、HTTP等方式。本地升级本地升级可通过Console口使用超级终端或特定的升级软件进行。返回返回嵌入式软件运行流程嵌入式软件运行流程 系统初始化阶段系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回返回嵌入式软件运行流程嵌入式软件运行流程 应用初始化阶段应用初始化阶段在该阶段进行应用任务的创建,信号量、在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始消息队列的创建和与应用相关的其它初始化工作。化工作。多任务应用运行阶段多任务应用运行阶段各种初始化工作完成后,系统进入多任务各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功务的调度,各应用任务分别完成特定的功能。能。第二节第二节嵌入式操作系统嵌入式操作系统概述概述嵌入式操作系统的演变嵌入式操作系统的演变嵌入式操作系统分类嵌入式操作系统分类嵌入式操作系统体系结构嵌入式操作系统体系结构嵌入式操作系统的组成嵌入式操作系统的组成概述概述嵌入式操作系统可以统称为应用在嵌入式系统的嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:有嵌入式软件的特点,主要有:可固化可固化 可配置、可剪裁可配置、可剪裁 独立的板级支持包,可修改独立的板级支持包,可修改 不同的不同的CPU有不同的版本有不同的版本 应用的开发需要有集成的交叉开发工具应用的开发需要有集成的交叉开发工具概述概述近十年来,嵌入式操作系统得到飞速的发展近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。随着嵌入式系统应用领域的扩展,目前嵌入式随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提领域的产品,这些产品按领域的要求和标准提供特定的功能。供特定的功能。嵌入式操作系统的演变嵌入式操作系统的演变10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplicationKernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI嵌入式操作系统的演变嵌入式操作系统的演变在嵌入式系统的发展过程中,从操作系统在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:的角度来看,大致经历了以下几个阶段:无操作系统阶段无操作系统阶段 简单操作系统阶段简单操作系统阶段 实时操作系统阶段实时操作系统阶段 面向面向Internet的阶段的阶段嵌入式操作系统的演变嵌入式操作系统的演变 无操作系统阶段无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上系统的概念。这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。嵌入式操作系统的演变嵌入式操作系统的演变 简单操作系统阶段简单操作系统阶段 20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的操作系统开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。嵌入式操作系统的演变嵌入式操作系统的演变 实时操作系统阶段实时操作系统阶段 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。嵌入式操作系统的演变嵌入式操作系统的演变 面向面向InternetInternet的阶段的阶段 21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。嵌入式操作系统的演变嵌入式操作系统的演变目前,嵌入式技术与目前,嵌入式技术与InternetInternet技术的结合正在推技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化:和应用产生了如下新的显著变化:新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式操作系统本身,同时还要提供强大的软件开发支持包。通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA、Java等,嵌入式软件平台得到进一步完善。嵌入式操作系统的演变嵌入式操作系统的演变 各类嵌入式各类嵌入式LinuxLinux操作系统迅速发展,由于具有操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与需要,目前已经形成了能与Windows CEWindows CE、SymbianSymbian等嵌入式操作系统进行有力竞争的局面。等嵌入式操作系统进行有力竞争的局面。网络化、信息化的要求随着网络化、信息化的要求随着InternetInternet技术的成熟技术的成熟和带宽的提高而日益突出,以往功能单一的设备和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。结构变得更加复杂,网络互联成为必然趋势。精简系统内核,优化关键算法,降低功耗和软硬精简系统内核,优化关键算法,降低功耗和软硬件成本。件成本。提供更加友好的多媒体人机交互界面。提供更加友好的多媒体人机交互界面。嵌入式操作系统分类嵌入式操作系统分类从应用领域来分从应用领域来分面向信息家电的嵌入式操作系统面向智能手机的嵌入式操作系统,如SymbianOS、MS Mobile OS、PalmOS、Embedded Linux等面向汽车电子的嵌入式操作系统 面向工业控制的嵌入式操作系统 .从实时性的角度来分从实时性的角度来分嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRON OS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。从嵌入式系统的商业模式来分类从嵌入式系统的商业模式来分类商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用开发费用+版税版税。开源型:开放源码,只收服务费,没有版税。如Embedded linux,RTEMS,eCOS。嵌入式操作系统体系结构嵌入式操作系统体系结构体系结构是操作系统的基础,它定义了硬件与体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、软件的界限、内核与操作系统其它组件(文件、网络、网络、GUIGUI等)的组织关系、系统与应用的接等)的组织关系、系统与应用的接口。口。体系结构是确保系统的性能、可靠性、灵活性、体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。再做一些锦上添花的工作才有意义。目前操作系统的体系结构可分为:目前操作系统的体系结构可分为:单块结构单块结构、层次结构层次结构和和客户客户/服务器(微内核)结构服务器(微内核)结构。嵌入式操作系统体系结构嵌入式操作系统体系结构硬硬 件件系统服务系统服务用户态用户态核心态核心态应用程序应用程序应用程序应用程序单块结构单块结构嵌入式操作系统体系结构嵌入式操作系统体系结构硬件硬件基本进程管理基本进程管理虚存管理虚存管理I/OI/O和设备管理和设备管理进程间通信进程间通信文件系统文件系统用户用户用户模式用户模式内核模式内核模式层次结构层次结构嵌入式操作系统体系结构嵌入式操作系统体系结构硬硬 件件进程服务进程服务用户态用户态核心态核心态应用程序客户应用程序客户内存服务内存服务微内核微内核文件服务文件服务网络服务网络服务显示服务显示服务发送发送应答应答客户客户/服务器结构(微内核结构)服务器结构(微内核结构)嵌入式操作系统体系结构嵌入式操作系统体系结构微内核结构的优点微内核结构的优点提供一致的接口提供一致的接口可扩展性:扩展对新的软件可扩展性:扩展对新的软件/硬件支持硬件支持灵活性:可伸缩灵活性:可伸缩可移植性可移植性分布式系统支持分布式系统支持适用于面向对象操作系统环境适用于面向对象操作系统环境性能问题:性能问题:通过微内核构造和发送信息、接受应答并解码通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多所花费的时间比进行一次系统调用的时间多很大程度取决于微内核的大小和功能很大程度取决于微内核的大小和功能嵌入式操作系统体系结构嵌入式操作系统体系结构目前嵌入式操作系统主要采用分层和模块目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划无关层、硬件抽象层和硬件相关层,每层再划分功能模块。分功能模块。这样移植工作便集中在硬件相关层,与其余两这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。保其具有良好的可移植性和可伸缩性。而采用微内核结构,则可利用其可伸缩的特点而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。适应硬件的发展,便于扩展。嵌入式操作系统体系结构嵌入式操作系统体系结构应用程序应用程序任务管理任务管理硬硬 件件用户扩展处理用户扩展处理调度管理调度管理硬件抽象层硬件抽象层应用编程接口应用编程接口内存管理内存管理中断管理中断管理时钟时钟/定时器管理定时器管理I/OI/O管理管理出错处理出错处理同步、通信管理(消息队列,信号量,事件同步、通信管理(消息队列,信号量,事件,异步信号,异步信号))DeltaCORE的体系结构:层次模块结构的体系结构:层次模块结构分分层层次次模模块块化化嵌入式操作系统体系结构嵌入式操作系统体系结构用户模式用户模式应用应用应用应用应用应用网络管理器网络管理器图形管理器图形管理器设备管理器设备管理器文件系统管理器文件系统管理器网络驱动网络驱动图形驱动图形驱动设备驱动设备驱动文件系统驱动文件系统驱动硬硬件件内核模式内核模式 内核(微内核)内核(微内核)QNX4.25的体系结构:客户的体系结构:客户/服务器结构服务器结构嵌入式操作系统嵌入式操作系统嵌入式内核嵌入式内核嵌入式嵌入式TCP/IP网络系统网络系统嵌入式文件系统嵌入式文件系统嵌入式操作系统的组成嵌入式操作系统的组成嵌入式内核嵌入式内核内核是嵌入式操作系统的基础,也是必备的内核是嵌入式操作系统的基础,也是必备的部分。部分。内核还提供特定的应用编程接口,但目前没内核还提供特定的应用编程接口,但目前没有统一的标准。有统一的标准。任任务务管管理理内内存存管管理理通通信信同同步步与与互互斥斥机机制制中中断断管管理理时时间间管管理理任任务务扩扩展展返回返回嵌入式内核嵌入式内核任务管理任务管理内核的核心部分,具有任务调度、创建任务、内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务删除任务、挂起任务、解挂任务、设置任务优先级等功能。优先级等功能。通用计算机的操作系统追求的是最大的吞吐通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是率,为了达到最佳整体性能,其调度原则是公平,采用公平,采用Round-RobinRound-Robin或可变优先级调度或可变优先级调度算法,调度时机主要以时间片为主驱动。算法,调度时机主要以时间片为主驱动。而嵌入式操作系统多采用基于静态优先级的而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。的任务就绪就马上进行调度。返回返回嵌入式内核嵌入式内核内存管理内存管理嵌入式操作系统的内存管理比较简单。嵌入式操作系统的内存管理比较简单。通常不采用虚拟存储管理,而采用静态内存分通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。大小内存分配)相结合的管理方式。有些内核利用有些内核利用MMUMMU机制提供内存保护功能。机制提供内存保护功能。通用操作系统广泛使用了虚拟内存的技术,为通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。用户提供一个功能强大的虚存管理机制。返回返回嵌入式内核嵌入式内核通信、同步和互斥机制通信、同步和互斥机制这些机制提供任务间、任务与中断处理程序间这些机制提供任务间、任务与中断处理程序间的通信、同步和互斥功能。的通信、同步和互斥功能。一般包括信号量、消息、事件、管道、异步信一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。号和共享内存等功能。与通用操作系统不同的是,嵌入式操作系统需与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转要解决在这些机制的使用中出现的优先级反转问题。问题。返回返回嵌入式内核嵌入式内核中断管理,一般具有以下功能:中断管理,一般具有以下功能:安装中断服务程序安装中断服务程序中断发生时,对中断现场进行保存,并且转到中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行相应的服务程序上执行中断退出前,对中断现场进行恢复中断退出前,对中断现场进行恢复中断栈切换中断栈切换中断退出时的任务调度中断退出时的任务调度 返回返回嵌入式内核嵌入式内核时间管理时间管理提供高精度、应用可设置的系统时钟,该时钟提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。是嵌入式系统的时基,可设置为十毫秒以下。提供日历时间,负责与时间相关的任务管理工提供日历时间,负责与时间相关的任务管理工作如任务对资源有限等待的计时、时间片轮转作如任务对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。调度等,提供软定时器的管理功能等。通用操作系统的系统时钟的精度由操作系统确通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒。定,应用不可调,且一般是几十个毫秒。返回返回嵌入式内核嵌入式内核任务扩展功能任务扩展功能任务扩展功能就是在内核中设置一些任务扩展功能就是在内核中设置一些HookHook的调的调用点,在这些调用点上内核调用应用设置的、用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的应用自己编写的扩展处理程序,以扩展内核的有关功能。有关功能。HookHook调用点有任务创建、任务切换、任务删除、调用点有任务创建、任务切换、任务删除、出错处理等。出错处理等。返回返回嵌入式嵌入式TCP/IPTCP/IP协议已经协议已经广泛地应用于嵌入广泛地应用于嵌入式系统中式系统中嵌入式嵌入式TCP/IP网网络系统提供符合络系统提供符合TCP/IP协议标准协议标准的协议栈,提供的协议栈,提供Socket编程接口。编程接口。Socket Socket 接接 口口 UDP UDP协议协议 TCP TCP协议协议 IP IP 协议协议 ICMP/IGMP ICMP/IGMP协议协议 网络接口层网络接口层 ARP/PPP ARP/PPP协议协议 以太网驱动以太网驱动 异步串口驱动异步串口驱动物物 理理 设设 备备应用程序应用程序/应用协议应用协议嵌入式嵌入式TCP/IP嵌入式嵌入式TCP/IPTCP/IP网络系统具有以下的特点:网络系统具有以下的特点:可剪裁可剪裁:能根据嵌入式系统的功能的要求选择所需的协能根据嵌入式系统的功能的要求选择所需的协议,对完整的议,对完整的TCP/IPTCP/IP协议簇进行剪裁,以满足协议簇进行剪裁,以满足用户的需要。用户的需要。采用“零拷贝零拷贝”(Zero Copy)技术,提高实提高实时性时性 所谓所谓“零拷贝零拷贝”技术,是指技术,是指TCP/IPTCP/IP协议栈没协议栈没有用于各层间数据传递的缓冲区,协议栈各层有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移。进行真正的数据搬移。嵌入式嵌入式TCP/IP采用静态分配技术采用静态分配技术 在网络初始化时就静态分配通信缓冲区,设置在网络初始化时就静态分配通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的等于物理网络上的MTUMTU值),从而确保了每次值),从而确保了每次发送或接收时处理的数据不会超过发送或接收时处理的数据不会超过MTUMTU值,也值,也就避免了数据处理任务的阻塞等待。就避免了数据处理任务的阻塞等待。返回返回嵌入式文件系统嵌入式文件系统通用操作系统的文件系统通常具有以下功通用操作系统的文件系统通常具有以下功能:能:提供用户对文件操作的命令提供用户对文件操作的命令提供用户共享文件的机制提供用户共享文件的机制管理文件的存储介质管理文件的存储介质提供文件的存取控制机制,保障文件及文件系提供文件的存取控制机制,保障文件及文件系统的安全性统的安全性提供文件及文件系统的备份和恢复功能提供文件及文件系统的备份和恢复功能提供对文件的加密和解密功能提供对文件的加密和解密功能嵌入式文件系统嵌入式文件系统嵌入式文件系统相比之下较为简单,主要嵌入式文件系统相比之下较为简单,主要具有文件的存储、检索、更新等功能,一具有文件的存储、检索、更新等功能,一般不提供保护和加密等安全机制。般不提供保护和加密等安全机制。它以系统调用和命令方式提供对文件的各它以系统调用和命令方式提供对文件的各种操作,主要有:种操作,主要有:设置和修改对文件和目录的存取权限设置和修改对文件和目录的存取权限 提供建立、修改、改变、删除目录等服务提供建立、修改、改变、删除目录等服务提供创建、打开、读、写、关闭、撤消文件等提供创建、打开、读、写、关闭、撤消文件等服务服务 第三节第三节嵌入式软件开发工具嵌入式软件开发工具嵌入式软件开发工具分类嵌入式软件开发工具分类嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境嵌入式软件实现阶段的开发过程嵌入式软件实现阶段的开发过程嵌入式软件开发工具的发展趋势嵌入式软件开发工具的发展趋势嵌入式软件开发工具的分类嵌入式软件开发工具的分类嵌入式软件开发阶段嵌入式软件开发阶段 嵌入式软件开发工具的分类嵌入式软件开发工具的分类根据不同的阶段,嵌入式软件开发工具根据不同的阶段,嵌入式软件开发工具可以分为:可以分为:需求分析工具(Requirement Analysis Tools)软件设计工具(Software Design Tools)编码、调试工具(Coding Tools)测试工具(Testing Tools)配置管理工具、维护工具等主要嵌入式软件开发工具产品主要嵌入式软件开发工具产品RequirementAnalysisSoftwareDesignCodingTestReleasePhasesTAUObjectGeodeRational Rose RealTimeRhapsodyTornadopRISM+SpectraWin CE PlatformBuilderCodeWarriorXray DebuggerLogiscopeCodeTESTLambdaTOOL嵌入式软件开发工具的分类嵌入式软件开发工具的分类 嵌入式软件的开发可以分为以下几种嵌入式软件的开发可以分为以下几种 :编写简单的板级测试软件,主要是辅助硬件的调试 开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序(板级支持包)开发嵌入式系统软件,如:嵌入式操作系统等 开发应用软件嵌入式软件开发工具的分类嵌入式软件开发工具的分类 从以上嵌入式软件开发分类来看,嵌入式从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为:软件开发工具可以分为:与嵌入式OS相关的开发工具,用于开发:基于嵌入式OS的应用 部分驱动程序等与嵌入式OS无关的开发工具,用于开发:基本的驱动程序 辅助硬件调试程序 系统软件等嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境 交叉开发环境交叉开发环境是指用于嵌入式软件开发的是指用于嵌入式软件开发的所有工具软件的集合,一般包括:所有工具软件的集合,一般包括:文本编辑器交叉编译器交叉调试器仿真器下载器等 交叉开发环境由交叉开发环境由宿主机宿主机和和目标机目标机组成,宿组成,宿主机与目标机之间在主机与目标机之间在物理连接物理连接的基础上建的基础上建立起立起逻辑连接逻辑连接。交叉开发环境交叉开发环境目标机硬件目标机硬件目标机应用系统目标机应用系统 应用软件 应用中间件 目标机OS宿主机硬件宿主机硬件宿主机宿主机OS调调试试代代理理运运行行库库宿主机开发环境宿主机开发环境 编辑 编译 连接 调试运行平台TargetTarget开发平台Host嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境 宿主机(宿主机(HostHost):是用于开发嵌入式系统的计算:是用于开发嵌入式系统的计算机。一般为机。一般为PCPC机(或者工作站),具备丰富的软机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。硬件资源,为嵌入式软件的开发提供全过程支持。目标机(目标机(TargetTarget):即所开发的嵌入式系统,是:即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应嵌入式软件的运行环境,其硬件软件是为特定应用定制的。用定制的。在开发过程中,目标机端需接收和执行宿主机发在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。将结果返回给宿主机,配合宿主机各方面的工作。嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境 物理连接和逻辑连接物理连接和逻辑连接 物理连接物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口 以太口 OCD(On Chip Debug)方式,如JTAG、BDM等物理连接是逻辑连接的基础。逻辑连接逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。嵌入式软件实现阶段的开发过程嵌入式软件实现阶段的开发过程 设计完成后,嵌入式软件的开发进入实现阶段,设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行。可分为三个步骤:生成、调试和固化运行。软件的生成软件的生成主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。调试调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。固化运行固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。嵌入式软件生成阶段嵌入式软件生成阶段 三个过程三个过程 源代码程序的编写 编译成各个目标模块 链接成可供下载调试或固化的目标程序编辑器编辑器交叉编交叉编译器译器交叉链交叉链接器接器源程序源程序目标目标模块模块可供调可供调试试/固固化化库文件库文件交叉编译交叉编译 把在宿主机上编写的高级语言程序编译成把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机可以运行在目标机上的代码,即在宿主机上能够编译生成另一种上能够编译生成另一种CPUCPU(嵌入式微处理(嵌入式微处理器)上的二进制程序。器)上的二进制程序。嵌入式软件的调试嵌入式软件的调试 交叉调试器交叉调试器是指调试程序和被调试程序运行在不同机器上的调试器调试器通过某种方式能控制目标机上被调试程序的运行方式通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等交叉调试交叉调试非交叉调试非交叉调试调试器和被调试程序运行在不同调试器和被调试程序运行在不同的计算机上的计算机上调试器和被调试程序运行在同一调试器和被调试程序运行在同一台计算机上台计算机上可独立运行,无需操作系统支持可独立运行,无需操作系统支持需要操作系统的支持需要操作系统的支持被调试程序的装载由调试器完成被调试程序的装载由调试器完成被调试程序的装载由专门的被调试程序的装载由专门的LoaderLoader程序完成程序完成需要通过外部通信的方式来控制需要通过外部通信的方式来控制被调试程序被调试程序不需要通过外部通信的方式来控不需要通过外部通信的方式来控制被调试程序制被调试程序可以直接调试不同指令集的程序可以直接调试不同指令集的程序只能直接调试相同指令集的程序只能直接调试相同指令集的程序嵌入式软件的调试嵌入式软件的调试 交叉调试方式交叉调试方式 Crash and Burn Rom Monitor Rom Emulator In Circuit Emulator On Chip Debugging SimulatorSimulator方式(非交叉)方式(非交叉)Crash and Burn 最早的最早的嵌入式嵌入式应用软应用软件调试件调试方法。方法。在宿主机上编写代码在宿主机上编写代码反复检查代码,直到编译反复检查代码,直到编译通过,生成可执行程序通过,生成可执行程序将程序固化(将程序固化(Burn)到目标机的非易失)到目标机的非易失性存储器(性存储器(E2PROM、FLASH等)中等)中在宿主机上反复检查在宿主机上反复检查码,查找问题根源码,查找问题根源改写代码改写代码启动目标机运行,观启动目标机运行,观察程序是否正常工作察程序是否正常工作NY结束结束ROM Monitor ROM MonitorROM Monitor是被固化且运行在目标机上的是被固化且运行在目标机上的一段程序,负责监控目标机上被调试程序一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对的运行,与宿主机端的调试器一起完成对应用程序的调试。应用程序的调试。调试器与调试器与ROM MonitorROM Monitor之间的通信遵循远程之间的通信遵循远程调试协议。调试协议。ROM Monitor调试方式调试方式调试器调试器Windows或其它桌或其它桌面操作系统面操作系统PC机等硬件机等硬件嵌入式嵌入式硬件硬件监控程监控程序序(ROM Monitor)被调试被调试程序程序宿主机宿主机目标机目标机逻辑上的连接逻辑上的连接物理上的连接物理上的连接ROM Monitor 在目标机上电或复位后首先执行的就是在目标机上电或复位后首先执行的就是ROM ROM MonitorMonitor,它对目标机进行一些必要的初始,它对目标机进行一些必要的初始化化 初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片;初始化用于下载映像的内存系统;初始化中断控制器和安装中断处理程序。初始化自己的程序空间初始化自己的程序空间 等待宿主机端的命令等待宿主机端的命令ROM Monitor ROM MonitorROM Monitor能配合调试器完成:能配合调试器完成:程序映像下载 对目标机系统内存的读写 对寄存器的读写 设置和清除不同类型的断点 单步执行指令 复位系统 等调试功能ROM Monitor调试过程调试过程(1 1)启动目标机,监控器掌握对目标机的控制,等待和)启动目标机,监控器掌握对目标机的控制,等待和调试器建立连接;调试器建立连接;(2 2)启动调试器,并和监控器建立起通信连接;)启动调试器,并和监控器建立起通信连接;(3 3)使用调试器将应用程序下载到目标机上的)使用调试器将应用程序下载到目标机上的RAMRAM空间空间中;中;(4 4)使用调试器进行调试,发出各种调试命令,监控器)使用调试器进行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异常来解释并执行这些命令,通过目标机上的各种异常来获取对目标机的控制,将命令执行结果回传给调试获取对目标机的控制,将命令执行结果回传给调试器;器;(5 5)如果程序有问题,在调试器的帮助下定位错误;修)如果程序有问题,在调试器的帮助下定位错误;修改之后再重新编译链接并下载程序,开始新的调试,改之后再重新编译链接并下载程序,开始新的调试,如此反复直至程序正确运行为止。如此反复直至程序正确运行为止。ROM Monitor优点优点1)1)提高调试程序的效率提高调试程序的效率 ,缩短开发周期,缩短开发周期,降低成本降低成本2)2)简单、方便简单、方便3)3)可扩展性强,可支持许多高级调试功能可扩展性强,可支持许多高级调试功能4)4)成本低廉,不需专门的调试硬件支持成本低廉,不需专门的调试硬件支持5)5)几乎所有的交叉调试器都支持这种方式几乎所有的交叉调试器都支持这种方式 ROM Monitor缺点缺点1)1)Debug MonitorDebug Monitor需要用需要用Crash and BurnCrash and Burn方法开发。方法开发。2)2)当当ROM MonitorROM Monitor占用占用CPUCPU时,应用程序不响应外部的中断,时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。因此不便调试有时间特性的程序。3)3)某些调试功能依赖于某些调试功能依赖于CPUCPU硬件的支持(如硬件断点功能)硬件的支持(如硬件断点功能)4)4)ROM MonitorROM Monitor要占用目标机一定数量的资源,如要占用目标机一定数量的资源,如CPUCPU、RAMRAM、ROMROM和通信设备等资源。和通信设备等资源。5)5)调试环境不同于实际目标环境。调试环境不同于实际目标环境。仿真开发方式仿真开发方式嵌入式应用的开发经常会遭遇缺少目标嵌入式应用的开发经常会遭遇缺少目标机环境、缺乏目标机芯片等资源的问题,机环境、缺乏目标机芯片等资源的问题,而开发过程又不可能停止,因此自然就而开发过程又不可能停止,因此自然就提出了根据不同的应用需要,利用仿真提出了根据不同的应用需要,利用仿真器件、仿真环境进行开发的方法。器件、仿真环境进行开发的方法。硬件仿真开发硬件仿真开发ROM EmulatorICEOCD软件仿真开发软件仿真开发ROM EmulatorROM EmulatorROM Emulator是一种用于替代目标机上的是一种用于替代目标机上的ROMROM芯片的设备,即芯片的设备,即ROMROM仿真器。利用这种仿真器。利用这种设备,目标机可以没有设备,目标机可以没有ROMROM芯片,但目标机芯片,但目标机的的CPUCPU可以读取可以读取ROM EmulatorROM Emulator设备上设备上ROMROM芯芯片的内容:片的内容:ROM EmulatorROM Emulator设备上的设备上的ROMROM芯片芯片的地址可以实时地映射到目标机的的地址可以实时地映射到目标机的ROMROM地址地址空间,从而仿真(空间,从而仿真(EmulationEmulation)目标机的)目标机的ROMROM。ROM EmulatorROM EmulatorROM Emulator的调试方式是一种不完全的的调试方式是一种不完全的调试方式:调试方式:ROM EmulatorROM Emulator设备只是为目标设备只是为目标机提供机提供ROMROM芯片和在芯片和在TargetTarget和和HostHost间建立一间建立一条高速的通信通道,因此它经常和前面两条高速的通信通道,因此它经常和前面两种调试方式结合起来形成一种完备的调试种调试方式结合起来形成一种完备的调试方式。方式。ROM EmulatorROM Emulator的典型应用就是和的典型应用就是和ROM ROM MonitorMonitor的调试方式相结合。的调试方式相结合。ROM Emulator 优点优点目标机可以没有目标机可以没有ROMROM芯片、可以使用芯片、可以使用ROM ROM EmulatorEmulator提供的提供的ROMROM空间且不需要用别的工空间且不需要用别的工具来写具来写ROMROM。缺点缺点目标机必须能支持外部目标机必须能支持外部ROMROM存储空间,而且存储空间,而且由于其通常要和由于其通常要和ROM MonitorROM Monitor配合使用,因配合使用,因此它拥有此它拥有ROM MonitorROM Monitor的所有缺点。的所有缺点。ICE ICEICE(In-Circuit EmulatorIn-Circuit Emulator)是一种用于)是一种用于替代目标机上替代目标机上CPUCPU的设备,即在线仿真器。的设备,即在线仿真器。它比一般的它比一般的CPUCPU有更多的引出线,能够将内有更多的引出线,能够将内部的信号输出到被控制的目标机。部的信号输出到被控制的目标机。ICEICE上的上的MemoryMemory也可以被映射到用户的程序也可以被映射到用户的程序空间,这样即使目标机不存在的情形下也空间,这样即使目标机不存在的情形下也可以进行代码的调试。可以进行代码的调试。宿主开发平台目标平台ICEICE调试结构调试结构 连接连接ICEICE和目标机时,一般是将目标机的和目标机时,一般是将目标机的CPUCPU取取下,而将下,而将ICEICE的的CPUCPU引出线接到目标机的引出线接到目标机的CPUCPU插插槽。槽。用用ICEICE进行调试时,在进行调试时,在HostHost端运行的调试器通端运行的调试器通过过ICEICE来控制目标机上运行的程序。来控制目标机上运行的程序。ICEICE功能特点功能特点同时支持同时支持软断点软断点和和硬件断点硬件断点的设置的设置设置各种复杂的断点和触发器设置各种复杂的断点和触发器实时跟踪目标程序的运行,并可实现选择性的实时跟踪目标程序的运行,并可实现选择性的跟踪跟踪支持支持“Time Stamp”Time Stamp”允许用户设置允许用户设置“Timer”Timer”提供提供“Shadow RAM”Shadow RAM”,能在不中断被调试程序,能在不中断被调试程序的运行下查看内存和变量即非干扰调试查询的运行下查看内存和变量即非干扰调试查询ICE适用于:适用于:1)1)调试实时的应用系统调试实时的应用系统2)2)调试设备驱动程序调试设备驱动程序3)3)对硬件进行功能和性能的测试对硬件进行功能和性能的测试4)4)实时性能分析实时性能分析缺点:缺点:1)1)价格太昂贵,不利于团队开发价格太昂贵,不利于团队开发2)2)所仿所仿CPUCPU有限有限OCDOCDOCD(On Chip DebuggingOn Chip Debugging)是)是CPUCPU芯片提供芯片提供的一种调试功能(片上调试),可以认为的一种调试功能(片上调试),可以认为是一种廉价的是一种廉价的ICEICE功能:功能:OCDOCD的价格只有的价格只有ICEICE的的20%20%,但提供了,但提供了ICE 80%ICE 80%的功能。的功能。OCD调试结构调试结构调试器调试器Windows或其它桌或其它桌面操作系统面操
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!