欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新嵌入式系统软件的开发工具PPT课件.ppt

    • 资源ID:59525016       资源大小:2.80MB        全文页数:110页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新嵌入式系统软件的开发工具PPT课件.ppt

    嵌入式系统软件的开发工嵌入式系统软件的开发工具具第九章第九章嵌入式系统软件的开发嵌入式系统软件的开发嵌入式软件开发工具的分类嵌入式软件开发工具的分类嵌入式嵌入式软软件的开件的开发发可以分可以分为为以下几种以下几种 :编写简单的板级测试软件,主要是辅助硬件的调试 开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序(板级支持包)开发嵌入式系统软件,如:嵌入式操作系统等 开发应用软件嵌入式软件开发工具的分类嵌入式软件开发工具的分类从从以以上上嵌嵌入入式式软软件件开开发发分分类类来来看看,嵌嵌入入式式软软件开件开发发工具可以分工具可以分为为:与嵌入式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 DebuggingSimulatorSimulator方式(非交叉)方式(非交叉)Crash and Burn最早的最早的嵌入式嵌入式应用用软件件调试方法。方法。在宿主机上编写代码在宿主机上编写代码反复检查代码,直到编译反复检查代码,直到编译通过,生成可执行程序通过,生成可执行程序将程序固化(将程序固化(Burn)到目标机的非易失)到目标机的非易失性存储器(性存储器(E2PROM、FLASH等)中等)中在宿主机上反复检查在宿主机上反复检查码,查找问题根源码,查找问题根源改写代码改写代码启动目标机运行,观启动目标机运行,观察程序是否正常工作察程序是否正常工作NY结束结束ROM MonitorROMMonitorROMMonitor是被固化且运行在目是被固化且运行在目标机上的机上的一段程序,一段程序,负责监控目控目标机上被机上被调试程序程序的运行,与宿主机端的的运行,与宿主机端的调试器一起完成器一起完成对应用程序的用程序的调试。调试器与器与ROMMonitorROMMonitor之之间的通信遵循的通信遵循远程程调试协议。ROM Monitor调试方式调试方式调试器调试器Windows或其它桌或其它桌面操作系统面操作系统PC机等硬件机等硬件嵌入式嵌入式硬件硬件监控程监控程序序(ROM Monitor)被调试被调试程序程序宿主机宿主机目标机目标机逻辑上的连接逻辑上的连接物理上的连接物理上的连接ROM Monitor在目在目标标机上机上电电或复位后首先或复位后首先执执行的就是行的就是ROMROMMonitorMonitor,它,它对目目标机机进行一些必要的初始行一些必要的初始化化初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片;初始化用于下载映像的内存系统;初始化中断控制器和安装中断处理程序。初始化自己的程序空初始化自己的程序空间等待宿主机端的命令等待宿主机端的命令ROM MonitorROMMonitorROMMonitor能配合能配合调试器完成:器完成:程序映像下载对目标机系统内存的读写对寄存器的读写设置和清除不同类型的断点单步执行指令复位系统等调试功能ROM Monitor调试过调试过程程(1 1)启)启动目目标机,机,监控器掌握控器掌握对目目标机的控制,等待和机的控制,等待和调试器建立器建立连接;接;(2 2)启)启动调试器,并和器,并和监控器建立起通信控器建立起通信连接;接;(3 3)使用)使用调试器将器将应用程序下用程序下载到目到目标机上的机上的RAMRAM空空间中;中;(4 4)使用)使用调试器器进行行调试,发出各种出各种调试命令,命令,监控器控器解解释并并执行行这些命令,通些命令,通过目目标机上的各种异常来机上的各种异常来获取取对目目标机的控制,将命令机的控制,将命令执行行结果回果回传给调试器;器;(5 5)如果程序有)如果程序有问题,在,在调试器的帮助下定位器的帮助下定位错误;修;修改之后再重新改之后再重新编译链接并下接并下载程序,开始新的程序,开始新的调试,如此反复直至程序正确运行如此反复直至程序正确运行为止。止。ROM Monitor优优点点1)提高提高调试调试程序的效率程序的效率,缩缩短开短开发发周期,周期,降低成本降低成本2)简单简单、方便、方便3)可可扩扩展性展性强强,可支持,可支持许许多高多高级调试级调试功能功能4)成本低廉,不需成本低廉,不需专门专门的的调试调试硬件支持硬件支持5)几乎所有的交叉几乎所有的交叉调试调试器都支持器都支持这这种方式种方式 ROM Monitor缺点缺点1)1)DebugMonitorDebugMonitor需要用需要用CrashandBurnCrashandBurn方法开方法开发。2)2)当当ROMMonitorROMMonitor占用占用CPUCPU时,应用程序不响用程序不响应外部的中断,外部的中断,因此不便因此不便调试有有时间特性的程序。特性的程序。3)3)某些某些调试功能依功能依赖于于CPUCPU硬件的支持(如硬件断点功能)硬件的支持(如硬件断点功能)4)4)ROMMonitorROMMonitor要占用目要占用目标机一定数量的机一定数量的资源,如源,如CPUCPU、RAMRAM、ROMROM和通信和通信设备等等资源。源。5)5)调试环境不同于境不同于实际目目标环境。境。仿真开发方式仿真开发方式嵌入式嵌入式应应用的开用的开发经发经常会遭遇缺少目常会遭遇缺少目标标机机环环境、缺乏目境、缺乏目标标机芯片等机芯片等资资源的源的问题问题,而开而开发过发过程又不可能停止,因此自然就程又不可能停止,因此自然就提出了根据不同的提出了根据不同的应应用需要,利用仿真用需要,利用仿真器件、仿真器件、仿真环环境境进进行开行开发发的方法。的方法。硬件仿真开硬件仿真开发发ROM EmulatorICEOCD软软件仿真开件仿真开发发ROM EmulatorROMEmulatorROMEmulator是一种用于替代目是一种用于替代目标机上的机上的ROMROM芯片的芯片的设备,即,即ROMROM仿真器。利用仿真器。利用这种种设备,目,目标机可以没有机可以没有ROMROM芯片,但目芯片,但目标机机的的CPUCPU可以可以读取取ROMEmulatorROMEmulator设备上上ROMROM芯芯片的内容:片的内容:ROMEmulatorROMEmulator设备上的上的ROMROM芯片芯片的地址可以的地址可以实时地映射到目地映射到目标机的机的ROMROM地址地址空空间,从而仿真(,从而仿真(EmulationEmulation)目)目标机的机的ROMROM。ROM EmulatorROMEmulatorROMEmulator的的调试方式是一种不完全的方式是一种不完全的调试方式:方式:ROMEmulatorROMEmulator设备只是只是为目目标机提供机提供ROMROM芯片和在芯片和在TargetTarget和和HostHost间建立一建立一条高速的通信通道,因此它条高速的通信通道,因此它经常和前面两常和前面两种种调试方式方式结合起来形成一种完合起来形成一种完备的的调试方式。方式。ROMEmulatorROMEmulator的典型的典型应用就是和用就是和ROMROMMonitorMonitor的的调试方式相方式相结合。合。ROM Emulator优优点点目目标机可以没有机可以没有ROMROM芯片、可以使用芯片、可以使用ROMROMEmulatorEmulator提供的提供的ROMROM空空间且不需要用且不需要用别的工的工具来写具来写ROMROM。缺点缺点目目标机必机必须能支持外部能支持外部ROMROM存存储空空间,而且,而且由于其通常要和由于其通常要和ROMMonitorROMMonitor配合使用,因配合使用,因此它此它拥有有ROMMonitorROMMonitor的所有缺点。的所有缺点。ICEICEICE(In-CircuitEmulatorIn-CircuitEmulator)是一种用于)是一种用于替代目替代目标机上机上CPUCPU的的设备,即在,即在线仿真器。仿真器。它比一般的它比一般的CPUCPU有更多的引出有更多的引出线,能,能够将内将内部的信号部的信号输出到被控制的目出到被控制的目标机。机。ICEICE上的上的MemoryMemory也可以被映射到用也可以被映射到用户的程序的程序空空间,这样即使目即使目标机不存在的情形下也机不存在的情形下也可以可以进行代行代码的的调试。宿主开发平台目标平台ICEICE调试结构调试结构连连接接ICEICE和目和目标机机时,一般是将目,一般是将目标机的机的CPUCPU取取下,而将下,而将ICEICE的的CPUCPU引出引出线接到目接到目标机的机的CPUCPU插插槽。槽。用用ICEICE进行行调试时,在,在HostHost端运行的端运行的调试器通器通过ICEICE来控制目来控制目标机上运行的程序。机上运行的程序。ICEICE功能特点功能特点同同时时支持支持软软断点断点和和硬件断点硬件断点的的设设置置设设置各种复置各种复杂杂的断点和触的断点和触发发器器实时实时跟踪目跟踪目标标程序的运行,并可程序的运行,并可实现选择实现选择性的性的跟踪跟踪支持支持“TimeStampTimeStamp”允允许用用户设置置“TimerTimer”提供提供“ShadowRAMShadowRAM”,能在不中断被,能在不中断被调试调试程序程序的运行下的运行下查查看内存和看内存和变变量即非干量即非干扰调试查询扰调试查询ICE适用于:适用于:1)调试实时调试实时的的应应用系用系统统2)调试设备驱动调试设备驱动程序程序3)对对硬件硬件进进行功能和性能的行功能和性能的测试测试4)实时实时性能分析性能分析缺点:缺点:1)价格太昂价格太昂贵贵,不利于,不利于团队团队开开发发2)所仿所仿CPUCPU有限有限OCDOCDOCD(OnChipDebuggingOnChipDebugging)是)是CPUCPU芯片提供芯片提供的一种的一种调试功能(片上功能(片上调试),可以),可以认为是一种廉价的是一种廉价的ICEICE功能:功能:OCDOCD的价格只有的价格只有ICEICE的的20%20%,但提供了,但提供了ICE80%ICE80%的功能。的功能。OCD调试结构调试结构调试器调试器Windows或其它桌或其它桌面操作系统面操作系统PC机等硬件机等硬件被调试程序被调试程序OCD接接口口嵌入式嵌入式硬件硬件宿主机宿主机目标机目标机逻辑上的连接逻辑上的连接物理连接物理连接仿真器仿真器针形连接器针形连接器并口、串口并口、串口或网络接口或网络接口为特定处理为特定处理器而建造器而建造OCD调试调试方法方法1)将将CPUCPU的模式分的模式分为一般模式一般模式和和调试调试模式模式2)一般模式下,一般模式下,CPUCPU从内存从内存读取指令取指令执行行3)3)调试模式下,模式下,CPUCPU首先从首先从调试调试端口端口读读取指令,通取指令,通过调试过调试端口可以控制端口可以控制CPUCPU进入和退出入和退出调试模式;模式;HostHost端的端的调试器可以直接向目器可以直接向目标机机发送要送要执行的指令,行的指令,读写目写目标机的机的内存和各种寄存器,控制目内存和各种寄存器,控制目标程序的运行以及完成各种程序的运行以及完成各种复复杂的的调试功能。功能。OCD优优点点1)不占用目不占用目标标机的机的资资源源2)调试环调试环境和最境和最终终的程序运行的程序运行环环境基本一致境基本一致3)支持支持软软硬断点、硬断点、TraceTrace功能功能4)4)精确精确计量程序的量程序的执行行时间5)5)提供提供时序分析功能序分析功能OCD缺点缺点1)调试调试的的实时实时性不如性不如ICEICE2)2)不支持非干不支持非干扰调试查询3)3)CPUCPU必需具有必需具有OCDOCD功能功能OCD存在各种存在各种实现实现BDM(Background Debugging Mode)JTAG(Joint Test Access Group)(主流方式)(主流方式)OnCE(On Chip Emulation)各种各种OCD仿真器仿真器实实例例边界扫描技术(边界扫描技术(JTAGJTAG)JTAGJTAG标标准准测试访问测试访问接口与接口与边边界界扫扫描描结结构构(StandardTestAccessPortandBoundaryStandardTestAccessPortandBoundaryScanArchitectureScanArchitecture),已被),已被IEEE1149.1IEEE1149.1标准准所采所采纳,是面向用,是面向用户的的测试接口。接口。该接口一般由接口一般由4 4个引脚个引脚组成:成:测试数据输入(TDI)测试数据输出(TDO)测试时钟(TCK)测试模式选择引脚(TMS)异步测试复位引脚(TRST,可选)边界扫描技术(边界扫描技术(JTAGJTAG)优优点点可以通过边界扫描操作测试整个板的电气连接,特别为表面贴元件提供方便 各个引脚信号的采样,并可强制引脚输出用以测试外围芯片 可以软件下载、执行、调试和控制,为复杂的实时跟踪调试提供路径 可以进行多内核和多处理器的板级和芯片级的调试,通过串接,为芯片制造商提供芯片生产、测试的途径 不占用系统资源,能够调试没有外部总线的芯片,代价非常小 边界扫描技术(边界扫描技术(JTAGJTAG)缺点缺点通过串口依次传递数据,速度比较慢 只能进行软件断点级别的调试 不能完成实时跟踪和多种事件触发等复杂调试功能 几种增几种增强强版本版本 ARM芯片的实时调试方案(E-TRACE)背景调试模式BDM片上仿真OnCENexusNexus标准标准 提出一个在提出一个在JTAGJTAG之上的嵌入式之上的嵌入式处理器理器调试的的统一一标准准 将将调试开开发分成四分成四级 第一级使用JTAG的简单静态调试;第二级支持编程跟踪和实时多任务的跟踪,并允许用户用I/O引脚作为多路复用辅助调试口;第三级包括处理器运行时的数据写入跟踪和存储器的读写跟踪;第四级增加了存储替换并触发复杂的硬件断点。NexusNexus标准标准通通过过NexusNexus标准可以解决以下准可以解决以下问题 调试内部总线没有引出的处理器,如含有片内存储器的芯片 传统在线仿真器无法实现的高速调试 深度流水线和有片上Cache的芯片,能够探测具体哪条指令被取指和最终执行可以稳定地进行多内核处理器的调试Simulator交叉开交叉开发发方式存在如下缺点:方式存在如下缺点:硬件支持硬件支持 必必须须有目有目标标机或机或评评估板估板易使用性易使用性普通普通编编程人程人员员不熟悉不熟悉廉价性廉价性成本高成本高可移植性、可可移植性、可扩扩展性展性不高不高团队团队开开发发较难较难开开发发周期周期较长较长Simulator一种一种软软件仿真器,在宿主机上件仿真器,在宿主机上创创建一个虚建一个虚拟拟的的目目标标机机环环境,再将境,再将应应用系用系统统下下载载到到这这个虚个虚拟拟目目标标机上运行机上运行调试调试。软软件仿真的件仿真的对对象象仿真处理器仿真外设仿真环境软软件仿真的件仿真的级别级别指令级仿真开发API级仿真开发应用仿真开发环境示意图应用仿真开发环境示意图结合了仿真的软件开发过程结合了仿真的软件开发过程Simulator优优点点最大好最大好处就是可以不用真正的目就是可以不用真正的目标机,可机,可以在目以在目标机机环境并不存在的条件下开境并不存在的条件下开发目目标机上的机上的应用系用系统,并且在,并且在调试时可以利可以利用用HostHost资源提供更源提供更详细的的错误诊断信息。断信息。Simulator缺点缺点1)和和实际实际的运行的运行环环境差境差别别很大很大2)设备设备模模拟拟的局限性的局限性较较大大3)实时实时特性特性较较差差4)对对HostHost的的资源要求源要求较高高适用范适用范围围对时间特性没有特性没有严格要求、没有特殊外格要求、没有特殊外设、只、只需要需要验证逻辑正确的正确的应用程序。用程序。嵌入式软件的测试嵌入式软件的测试测试测试工具工具:能:能够够用来用来辅辅助助测试测试的工具,主要用的工具,主要用来支持来支持测试测试人人员员的工作,本身不能直接用来的工作,本身不能直接用来进进行行测试测试。测试测试工具一般都是通用工具,工具一般都是通用工具,测试测试人人员应该员应该根据根据实际实际情况情况对对它它们进们进行适当的行适当的调调整。整。嵌入式嵌入式软软件件测试测试中中经经常用到的常用到的测试测试工具有:工具有:内存分析工具性能分析工具覆盖分析工具缺陷跟踪工具等 嵌入式软件的测试嵌入式软件的测试内存分析工具内存分析工具 嵌入式系嵌入式系统统的内存的内存资资源通常是受限的,内存分源通常是受限的,内存分析工具可以用来析工具可以用来处处理在理在进进行行动态动态内存分配内存分配时产时产生的缺陷。当生的缺陷。当动态动态分配的内存被分配的内存被错误错误地引用地引用时时,产产生的生的错误错误通常通常难难以再以再现现,出,出现现的失效的失效难难以追以追踪,使用内存分析工具可以很好地踪,使用内存分析工具可以很好地检测检测出出这类这类缺陷。缺陷。目前常用的内存分析工具有目前常用的内存分析工具有软软件和硬件两种:件和硬件两种:基于基于软软件的内存分析工具可能会件的内存分析工具可能会对对代代码码的的执执行性能行性能带带来很大影响,从而影响系来很大影响,从而影响系统统的的实时实时性;性;基于硬件的内存分析工具基于硬件的内存分析工具对对系系统统性能影响小,但价性能影响小,但价格昂格昂贵贵,并且只能在特定的,并且只能在特定的环环境中使用。境中使用。嵌入式软件的测试嵌入式软件的测试性能分析工具性能分析工具 嵌入式系嵌入式系统统的性能通常是一个非常关的性能通常是一个非常关键键的因素,开的因素,开发发人人员员一般需要一般需要对对系系统统的某的某些关些关键键代代码进码进行行优优化来改化来改进进性能。性能。性能分析工具性能分析工具可以提供有关数据,帮助确定哪些任可以提供有关数据,帮助确定哪些任务务消耗消耗了了过过多的多的执执行行时间时间,从而可以决定如何,从而可以决定如何优优化化软软件,以件,以获获得更好的得更好的时间时间性能。性能。引引导导开开发发人人员发现员发现在系在系统调统调用中存在的用中存在的错误错误以及程序以及程序结结构上的缺陷。构上的缺陷。嵌入式软件的测试嵌入式软件的测试覆盖分析工具覆盖分析工具 在在进进行白盒行白盒测试时测试时,可以使用代,可以使用代码码覆盖分析工覆盖分析工具追踪哪些代具追踪哪些代码码被被执执行行过过分析分析过过程一般通程一般通过过插插桩桩来完成,插来完成,插桩桩可以是在可以是在测试环测试环境中嵌入硬件,也可以是在可境中嵌入硬件,也可以是在可执执行代行代码码中加入中加入软软件,或者是两者的件,或者是两者的结结合。合。开开发发人人员员通通过对过对分析分析结结果果进进行行总结总结,可以确定,可以确定哪些代哪些代码码被被执执行行过过,哪些代,哪些代码码被被遗遗漏了。漏了。目前常用的覆盖分析工具一般都提供有关功能目前常用的覆盖分析工具一般都提供有关功能覆盖、分支覆盖、条件覆盖等信息。覆盖、分支覆盖、条件覆盖等信息。覆盖分析工具实例覆盖分析工具实例测试工具实例:逻辑分析仪测试工具实例:逻辑分析仪工作机理:在工作机理:在不打断被不打断被测测程序运行流程程序运行流程的基的基础础上,上,对对程序运行中的相关信息程序运行中的相关信息进进行采集和分析,然后通行采集和分析,然后通过过真真实实再再现现程序程序运行的运行的逻辑逻辑流程和分析程序运行数据,流程和分析程序运行数据,帮助用帮助用户优户优化系化系统设计统设计和解决出和解决出现现的的问问题题。与与调试调试工具的工具的对对比比调试调试器:照相机器:照相机逻辑逻辑分析分析仪仪:摄摄像机像机测试工具实例:逻辑分析仪测试工具实例:逻辑分析仪主要功能:主要功能:真实再现程序运行流程发现系统死锁及软件造成的死机发现系统内存泄漏指导对任务的合理划分指导关键路径设计与验证指导合理分配任务堆栈CPU使用率统计指导合理设计中断服务程序测试工具实例:逻辑分析仪测试工具实例:逻辑分析仪嵌入式嵌入式应应用用软软件运行的件运行的逻辑逻辑流程流程测试工具实例:逻辑分析仪测试工具实例:逻辑分析仪系系统统堆堆栈栈使用率分析使用率分析嵌入式软件的固化运行嵌入式软件的固化运行当当调调试试完完成成之之后后,程程序序代代码码需需要要被被完完全全烧烧入入到到目目标标板板的的非非易易失失性性存存储储器器(如如ROMROM或或闪存存)中中,并并且且在在真真实的的硬硬件件环境境上上运运行行,这个个过程叫做固化。程叫做固化。调试环境与固化境与固化环境的区境的区别:代代码码定位不同定位不同初始化部分不同初始化部分不同嵌入式软件的固化运行嵌入式软件的固化运行阶段阶段调试环境调试环境固化环境固化环境编译编译目标文件需要调试信息目标文件需要调试信息目标文件不需要调试信息目标文件不需要调试信息链接链接应应用用系系统统目目标标代代码码不不需需要要BootBoot模模块块,此此模模块块已已由由目目标标板板上上的的监控器程序实现。监控器程序实现。应应用用系系统统目目标标代代码码必必须须以以BootBoot模块作为入口模块。模块作为入口模块。定位定位程程序序的的所所有有代代码码段段、数数据据段段都都依依次次被被定定位位到到调调试试空空间间的的RAMRAM中。中。程程序序的的各各逻逻辑辑段段按按照照其其不不同同的的属属性性分分别别定定位位到到非非易易失失性性存存储储空间(空间(ROMROM)或)或RAMRAM中。中。下载下载宿宿主主机机上上的的调调试试器器读读入入被被调调试试文文件件,并并将将其其下下载载到到目目标标机机上上的的调调试试空空间间中中,目目标标机机掉掉电电后后所所有有信信息息全全部部丢丢失。失。在在宿宿主主机机上上利利用用固固化化工工具具将将可可固固化化的的应应用用程程序序写写入入目目标标机机的的非非易易失失性性存存储储器器中中,目目标标机机掉掉电电后后信信息息不不丢丢失。失。运行运行被被调调试试程程序序在在目目标标监监控控器器的的控控制制下下运运行行,并并与与后后者者共共享享某某些些资资源源,如如CPUCPU资资源源、RAMRAM资资源源以以及及通通信信设设备备(如串口、网口等)资源。(如串口、网口等)资源。程程序序在在真真实实的的目目标标硬硬件件环环境境上上运行运行嵌入式软件的固化运行嵌入式软件的固化运行BootBoot模模块:当:当应用程序在真用程序在真实的目的目标环境下运行境下运行时将首先将首先执行行该程序,它至少由系程序,它至少由系统加加电时执行行的代的代码组成。成。BootBoot模模块的主要功能:初始化的主要功能:初始化CPUCPU环境,使目境,使目标机机硬件到已知的状硬件到已知的状态初始化芯片的引脚初始化系统外部控制寄存器初始化基本输入输出设备初始化MMU,包括片选控制寄存器等执行数据拷贝嵌入式软件开发工具发展趋势嵌入式软件开发工具发展趋势向着开放的、集成化的方向向着开放的、集成化的方向发发展展具有系具有系统设计统设计、可、可视视化建模、仿真和化建模、仿真和验证验证功能功能 自自动动生成代生成代码码和文档和文档 具有更高的灵活性具有更高的灵活性 第二节第二节嵌入式系统开发模式嵌入式系统开发模式概述概述处理器及硬件开发平台的选定处理器及硬件开发平台的选定操作系统选定操作系统选定开发环境选定开发环境选定嵌入式系统开发模式概述嵌入式系统开发模式概述 最大特点:最大特点:软软硬件硬件综综合开合开发发。原因:原因:1)1)嵌入式嵌入式产产品是品是软软硬件的硬件的结结合体合体 2)2)软软件件针对针对硬件开硬件开发发、固化,不能、固化,不能进进行任意修改行任意修改 嵌嵌入入式式系系统统开开发发过过程程 系系系系统统统统定定定定义时义时义时义时期期期期符合要求符合要求硬件硬件设计设计制作制作软软件件设计实现设计实现软软硬件集成硬件集成功能性能功能性能测试测试产产品品YesYes系系统总统总体体设计设计NoNo系统总体设计软硬件划分系统总体框架处理器选定操作系统选定开发环境选定硬件硬件设计设计制作制作硬件概要硬件概要设计设计硬件硬件详细设计详细设计硬件制作硬件制作硬件硬件测试测试功能模功能模块图设计块图设计逻辑电逻辑电路路图设计图设计PCBPCB设计设计与制作与制作PCBPCB 测试测试软软件件设计实现设计实现软件概要设计软件详细设计软件实现软件测试软硬件协同开发软硬件协同开发通常的嵌入通常的嵌入式系式系统统开开发发软/硬件硬件协同开同开发嵌入式嵌入式软件开发软件开发嵌入式嵌入式硬件开发硬件开发嵌入式系统嵌入式系统集成、测试、集成、测试、验证验证嵌入式软件开发嵌入式软件开发嵌入式硬件开发嵌入式硬件开发嵌入式系统嵌入式系统协同设计、测试、验证协同设计、测试、验证处理器及硬件开发平台的选定处理器及硬件开发平台的选定选择选择依据:依据:应应用的用的类类型及型及I/OI/O接口接口主主频及功耗及功耗对不同不同类型存型存储器的支持器的支持封装封装产品生命力和厂家品生命力和厂家实力、技力、技术支持及第三支持及第三方方软件的支持件的支持硬件开硬件开发平台的平台的选择操作系统选定操作系统选定选择选择依据:依据:选择选择嵌入式嵌入式OSOS的必要性的必要性自建、自建、购买或使用开源或使用开源软件件对嵌入式操作系嵌入式操作系统的功能、性能要求的功能、性能要求与硬件平台和开与硬件平台和开发工具的关系工具的关系行行业标准准技技术支持支持版税或服版税或服务费操作系统与硬件平台的关系操作系统与硬件平台的关系操作系操作系统应统应支持支持选选定的硬件平台定的硬件平台如果不支持,需考如果不支持,需考虑虑移植工作移植工作不同类型嵌入式微处理器之间的移植:任务上下文切换、时钟、中断等同类型微处理器但不同类型硬件板之间的移植:硬件接口及设备驱动程序操作系统与开发工具的关系操作系统与开发工具的关系工具是否能工具是否能为为基于特定操作系基于特定操作系统统的的应应用开用开发发提供最大支持:提供最大支持:运行库与OS相结合提供应用工程创建和管理功能,构建基于特定操作系统的应用框架对操作系统的剪裁与配置提供高级调试功能提供配套的应用逻辑分析工具、覆盖测试工具等开发环境及工具选定开发环境及工具选定对对硬件平台的支持硬件平台的支持所使用的所使用的编编程程语语言言C/C+汇编语言JAVA与嵌入式操作系与嵌入式操作系统的关系的关系第三节第三节实时软件分析设计方法实时软件分析设计方法DARTS分析设计方法分析设计方法DARTS分析设计方法分析设计方法嵌入式嵌入式实时软实时软件系件系统统的生存周期的生存周期需求分析与需求分析与说说明明系系统设计统设计DARTSDARTS设计方法方法数据流分析数据流分析划分任划分任务务定定义义任任务务接口接口任任务设计务设计模模块块构筑构筑任任务务与系与系统统集成集成嵌入式实时软件系统的生命周期嵌入式实时软件系统的生命周期需求分析与需求分析与详细说明明系系统设计任务分解任务分解,定义任务间接口关系定义任务间接口关系任任务设计按模块方式设计每个任务,定义模块间接口按模块方式设计每个任务,定义模块间接口模模块构筑构筑完成每个模块的详细设计、编码和单元测试完成每个模块的详细设计、编码和单元测试任任务与系与系统集成集成系系统测试实实 例例 说说 明明机器人控制器系机器人控制器系统上电手动停止结束断电运行程序选择控制面板控制面板控制控制设备设备由内部控由内部控制器和外部控制面制器和外部控制面板板组组成成控制器控制六个控制器控制六个转转轴轴,并与数字,并与数字I/OI/O传感器交互作用。感器交互作用。转轴和和I/OI/O由程序由程序控制控制该程序由控制面板程序由控制面板操作启操作启动执行行按下按下“上上电电”按按钮钮,系,系统进统进入了上入了上电电状状态态。上上电电成功后,系成功后,系统进统进入了手入了手动动状状态态。此。此时时,操作,操作者可以通者可以通过过程序程序选择选择开关开关选择选择程序程序按下按下“运行运行”按按钮钮,则选则选定的程序开始运行,系定的程序开始运行,系统统转为转为运行运行态态。程序运行中如果按下程序运行中如果按下“停止停止”键键,程序被挂起。之,程序被挂起。之后,操作者可以按下后,操作者可以按下“运行运行”键键,使程序恢复,使程序恢复执执行,行,也可按下也可按下“结结束束”键键,结结束程序。束程序。按下按下“结结束束”键键后,系后,系统进统进入入终终止止态态。当程序最。当程序最终终终终止止执执行行时时,系,系统统返回手返回手动动状状态态。控制控制执执行行过过程程需求分析与需求分析与说说明明断电态断电态通电态通电态手动态手动态运行态运行态终止态终止态挂起态挂起态上电上电上电上电 成功成功断电断电启动启动程序程序选择选择程序程序 终止终止结束结束启动启动停止停止状状态变态变迁迁图图系系 统 设 计系系统设计说明明该系系统如何被分解成多个如何被分解成多个任任务,如何定,如何定义任任务间的关系的关系任任务划分方法划分方法 DARTSDARTS设计方法方法DARTS设计方法方法 数据流分析:每个数据流数据流分析:每个数据流图都包含:都包含:变换圈,表示系统完成的功能箭头,表示变换间的数据流动数据存储区,表示数据的存储场所数据字典,定义了数据流和数据存储区所包含的数据项机器人控制器数据流机器人控制器数据流图图程序程序面板输入有面板输入有效效性检查性检查解释程序解释程序各语句各语句读传读传感器感器处理面板处理面板输入输入 处理处理I/O命令命令处理动处理动作命令作命令向传感向传感器输出器输出输出动作输出动作轴数据轴数据接收接收确认确认输出到输出到面板面板轴控制轴控制器器读面板读面板 输入输入按下按下按钮按钮面板输入面板输入 有效的有效的面板输入面板输入 运行运行开始开始 结束结束动作动作命令命令动作动作确认确认I/O命令命令传感器值传感器值输入输入传感器输入传感器输入传感器传感器输出输出输出输出面板面板输出输出显示灯显示灯 运行运行 停止停止重启动重启动轴块轴块轴确认轴确认轴输入轴输入轴输出轴输出动作块动作块划分任划分任务务就是就是识别识别出并行性的功能出并行性的功能需要考需要考虑虑的是系的是系统统内功能的异步性。分内功能的异步性。分析数据流析数据流图图中的中的变换变换,确定哪些,确定哪些变换变换可可以并行,哪些以并行,哪些变换变换本本质质上是上是顺顺序的。序的。一个任一个任务务可可对应对应一个一个变换变换,也可,也可对应对应多多个个变换变换。DARTS设计方法方法划分任划分任务原原则I/O 依赖性 功能的时间关键性计算需求功能内聚时间内聚周期执行DARTS设计方法方法 I/O 依依赖性性 DeviceI/O Task App.Task如如果果变换依依赖于于I/O,速速度度受受限限I/O,可可独独立立成成任任务在系在系统统中中创创建与建与I/O设备设备数目相当数目相当的的I/O任任务务I/O任任务务只只实现实现与与设备设备相关的代相关的代码码I/O任任务务的的执执行行只只受受限限于于I/O设设备备的的速速度度,而而不不是是处处理器理器在任在任务中分离中分离设备相关性相关性 功能的功能的时间关关键性性将将有有时时间间关关键键性性(deadline)的的功功能能分分离离出出来来,组组成独立运行的任成独立运行的任务务赋予予这些任些任务高的高的优

    注意事项

    本文(最新嵌入式系统软件的开发工具PPT课件.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开