版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统体系结构2007/12/271概况1
您的内容打在这里,或者通过复制您的文本后。概况2
您的内容打在这里,或者通过复制您的文本后。概况3
您的内容打在这里,或者通过复制您的文本后。+++整体概况2嵌入式软件体系结构嵌入式软件系统的体系结构嵌入式软件运行流程嵌入式操作系统概述嵌入式程序的调试嵌入式开发工具2007/12/273软件系统软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。其中:程序是按照事先设计的功能和性能要求执行的指令序列;数据是程序能正常操纵信息的数据结构;文档是与程序开发维护和使用有关的各种图文资料。2007/12/274软件系统软件是一种逻辑实体,具有抽象性。
这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。
软件产品的特性软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以接受时,软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。2007/12/275嵌入式软件系统的分类嵌入式软件系统软件支撑软件应用软件控制、管理计算机系统的资源嵌入式操作系统嵌入式中间件(CORBA、CORBA、Java)等等辅助软件开发的工具系统分析设计工具仿真开发工具交叉开发工具测试工具配置管理工具维护工具等面向应用领域手机软件路由器软件交换机软件飞控软件等CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
2007/12/276嵌入式软件系统的分类从运行平台来分,嵌入式软件可以分为运行在开发平台上的软件:设计、开发、测试工具等。运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。2007/12/277嵌入式软件系统的体系结构2007/12/278嵌入式软件系统的体系结构硬件应用层驱动层操作系统层中间件层板级初始化FLASH驱动RTC/定时器驱动串口驱动以太网驱动LCD驱动键盘驱动其他驱动内核TCP/IP网络系统文件系统嵌入式GUI电源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向应用领域的中间件应用任务1应用任务2……应用任务nMicrosoftDistributedComponentObjectModel(DCOM)(分布式组件对象模式)是ComponentObjectModel(COM)的扩展是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。2007/12/279嵌入式软件系统的体系结构驱动层驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。板级初始化程序这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。与系统软件相关的驱动这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件的要求进行。目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。与应用软件相关的驱动
与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。2007/12/2710嵌入式软件系统的体系结构操作系统层操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。2007/12/2711嵌入式软件系统的体系结构中间件层目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(SoftwareCoreArchitecture)等。2007/12/2712嵌入式软件系统的体系结构应用层应用层软件主要由多个相对独立的应用任务组成每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。2007/12/2713嵌入式软件运行流程2007/12/2714嵌入式软件运行流程上电复位系统升级引导/升级系统系统初始化应用初始化多任务应用板级初始化远程升级本地升级基于多任务操作系统的嵌入式软件的主要运行流程该运行流程主要分为5个阶段2007/12/2715嵌入式软件运行流程(1)上电复位、板级初始化阶段嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(BlockStorageSpace表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回2007/12/2716嵌入式软件运行流程(2)系统引导/升级阶段根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。2007/12/2717嵌入式软件运行流程(3)系统引导阶段系统引导有几种情况:将系统软件从NORFlash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。2007/12/2718嵌入式软件运行流程(4)系统升级阶段进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。远程升级一般支持TFTP、FTP、HTTP等方式。本地升级可通过Console口使用超级终端或特定的升级软件进行。返回2007/12/2719嵌入式软件运行流程(5)系统初始化阶段
在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回2007/12/2720嵌入式软件运行流程(6)应用初始化阶段 在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。多任务应用运行阶段 各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。2007/12/2721嵌入式操作系统概述2007/12/2722 嵌入式操作系统是嵌入式应用软件的基础和开发平台。嵌入式系统的出现,解决了嵌入式软件开发标准化的难题。功能:进程调度内存管理、设备管理、文件管理中断管理系统功能接口(API调用,如网络功能)特点:系统可裁减、可配置系统具有实时性系统稳定、可靠嵌入式操作系统(1)概念2007/12/2723
嵌入式操作系统非实时操作系统实时操作系统硬实时操作系统软实时操作系统嵌入式操作系统(2)分类——12007/12/2724嵌入式操作系统(2)分类——2从实时性的角度来看,嵌入式操作系统可分为嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRONOS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。VxWorks原先对中国区禁止销售,自解禁以来,在我们的军事、通信、工业控制等领域得到了非常广泛的应用。PalmOS操作系统由Palm公司自行开发的,并授权给Handspring、索尼和高通等设备厂家,这种操作系统更倾向于PDA的操作系统。PalmOS在PDA市场占有主导地位。Palm的产品线本身就包括智能手机,又宣布与最早的智能手机开发者Handspring购并,同时将软件部门独立。2007/12/2725嵌入式操作系统(2)分类——3从应用领域来分:面向信息家电的嵌入式操作系统面向智能手机的嵌入式操作系统,如SymbianOS、PalmOS、Smartphone2003、EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统2007/12/2726嵌入式操作系统(2)分类——4从嵌入式系统的商业模式来分类,可以分为商用型和开源型。商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用+版税。开源型:开放源码,只有服务费,没有版税。如Embeddedlinux,RTEMS,eCOS。2007/12/2727
几种主流的嵌入式操作系统µC/OS-II:教学的免费、面向中小型嵌入式系统应用。Vxworks:美国WindRiver公司于1983年开发,具有可靠、实时、可裁减特性。WinCE:它是微软针对个人电脑以外的电脑产品所研发的嵌入式操作系统,而CE则为CustomerEmbedded的缩写。Linux/µCLinux:免费、源码开放的操作系统,µclinux面向没有MMU的硬件平台。PalmOS:Com公司产品,在PDA市场占据很大份额,具有开放的操作系统应用程序接口(API),可让用户灵活方便地定制操作系统。嵌入式操作系统(3)2007/12/2728嵌入式开发工具2007/12/2729ARM主流开发工具Windows操作系统ARMADS/SDT+调试器GNU+Cygwin+调试器ARMSDT+简易电缆Linux操作系统GNU+GDB2007/12/2730KeilIDEforx512007/12/2731UNSPIDEforSPCE061A2007/12/2732嵌入式软件工具技术目前的发展状况嵌入式软件工具技术目前的发展状况:具有集成化的、人机界面友好的开发环境。提供项目管理、编辑、源码级的交叉编译和调试环境。主要支持C,部分支持C++。部分工具能与嵌入式操作系统能有机的结合在一起,提供任务级的调试功能。交叉调试中宿主与目标环境的连接一般采用串口、以太网、JTAG和BDM方式,支持硬件断点。采用C/S方式支持团队作业,允许多个小组在不同的地点采用不同的程序设计方法协同工作。2007/12/2733ADTforARM集成开发系统2007/12/2734嵌入式程序的调试2007/12/2735常用调试方法软件仿真驻留监控程序硬件要求高,一般在硬件稳定之后进行需要占用目标板上的一部分资源不能对程序的全速运行进行完全仿真JTAG仿真器完全非插入式调试,不使用片上资源,无需目标存储器,不占用目标系统的任何端口仿真效果更加接近于目标硬件在线仿真器2007/12/2736嵌入式系统调试的方法SimulatorICE(In-CircuitEmulator)基于JTAG的EmbeddedICEAngel2007/12/2737SimulatorSimulator(模拟器)完全基于主机的软件。在主机上模拟了目标机中处理器的功能和指令,特点简单可行缺乏在线调试功能和实时仿真功能仅能模拟目标处理器,无法模拟处理器有关I/O的功能常作为初步基本调试工具2007/12/2738ICEICE:In-CircuitEmulator(电路内仿真器)传统用于测试印刷电路板的方法。ICE是一种专用的设备,配有专用于特定CPU芯片的接头。将ICE的接头接在CPU芯片上并加以固定,使它的每一条引线与CPU芯片上的对应引线接触,就可以监测CPU芯片各条引线上的逻辑电平。由于集成电路的集成度不断提高,芯片的引脚不断增加;此外,为了缩小体积常常采用表面贴装技术。因此,无法用常规的在线仿真的方式…2007/12/2739EmbeddedICE EmbeddedICE:一组调试寄存器IBCR(InstructionBreakControlRegister)DBAR(DataBreakAddressRegister)…JTAG接口JTAG(JointTestActionGroup)制定了边界扫描标准,只需5根引脚就可以实现在线仿真的功能。ARM架构处理器内含嵌入式在线仿真宏单元,为JTAG调试提供相应的接口。同时,为了能达到实时跟踪调试的功能,ARM架构处理器还内含嵌入式跟踪宏单元,通过逻辑分析仪来实现实时跟踪调试的功能。2007/12/2740AngelAngel是一组运行在目标机上的程序,可以接受主机上调试器发送的命令。功能Debug。接收和解释PC主机的调试命令,显示处理器、存储器和寄存器的状态,也可以通过未定义指令来设置断点。支持Angel调试协议ADP(AngelDebugProtocol),从而实现PC主机与目标机的串行或并行通信,也支持与目标板的网卡通信。支持目标机中应用程序可使用主机PC上的标准C函数库。通过软中断SWI指令来实现。具有多任务调度和处理器模式管理功能。能分配任务优先级并对任务进行管理,也可根据操作需要在不同处理器模式中运行。具有中断功能。从而能实现调试、通信和管理等操作的要求。2007/12/2741Angel(cont’d)具有部分操作系统的功能与EmbeddedICE/JTAG方式比较通过在目标机上常驻Angel也可以实现上述的嵌入式ICE调试的功能,并可以省JTAG的接口和电缆;但是,要占用几十K字节的存储空间,也有也会占用一些中断的资源。对性能比较高、存储量比较大的系统比较适合2007/12/2742ARM的调试系统2007/12/2743嵌入式系统的开发步骤及方法2007/12/2744嵌入式系统的开发步骤2007/12/2745嵌入式系统的开发步骤系统需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中秋节传统故事读后感
- 娱乐活动组织者与参与者责任免除协议书
- 二零二五年度房产证贷款偿还委托代理协议3篇
- 健康医疗业患者信息管理与健康服务平台建设
- 2024年花样滑冰锦标赛赞助合同3篇
- 二零二五年度房产买卖合同合同解除信息公示补充协议书3篇
- 城市智慧交通系统建设及运营维护方案设计
- 电子支付平台交易协议书
- 餐饮外卖平台用户增长及服务质量提升策略
- 古诗里的山水意境读后感
- 零碳智慧园区解决方案
- 2025年林权抵押合同范本
- 服务推广合同协议(2025年)
- 2024年北师大版四年级数学上学期学业水平测试 期末卷(含答案)
- 2024年高考物理一轮复习讲义(新人教版):第七章动量守恒定律
- 浙江省宁波市慈溪市2023-2024学年高三上学期语文期末测试试卷
- 草学类专业生涯发展展示
- 法理学课件马工程
- 《玉米种植技术》课件
- 第47届世界技能大赛江苏省选拔赛计算机软件测试项目技术工作文件
- 2023年湖北省公务员录用考试《行测》答案解析
评论
0/150
提交评论