《嵌入式软件开发讲义参考ppt课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式软件开发讲义参考ppt课件.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式系统软件的开发嵌入式系统软件的开发主要讲授内容主要讲授内容 嵌入式软件开发工具 嵌入式系统开发模式 实时软件分析与设计陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件开发工具嵌入式软件开发工具嵌入式软件开发工具的分类嵌入式软件开发工具的分类嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境嵌入式软件实现阶段的开发过程嵌入式软件实现阶段的开发过程嵌入式软件开发工具的发展趋势嵌入式软件开发工具的发展趋势“工欲善其事,必先利其器”嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。陕西飞腾科技发展有限责任公司嵌入式
2、开发环境与开发工具嵌入式软件开发工具的分类嵌入式软件开发工具的分类根据不同的阶段,嵌入式软件开发工具可以分为:1)需求分析工具(Requirement Analysis Tools)2)软件设计工具(Software Design Tools)3)编码、调试工具(Coding Tools)4)测试工具(Testing Tools)5)配置管理工具、维护工具等。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具主要嵌入式软件开发工具产品主要嵌入式软件开发工具产品RequirementAnalysisSoftwareDesignCodingTestReleasePhasesTAUObjectGe
3、odeRational Rose RealTimeRhapsodyTornadopRISM+SpectraWin CE PlatformBuilderCodeWarriorXray DebuggerLogiscopeCodeTESTLambdaTOOL陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件开发工具的分类嵌入式软件开发工具的分类嵌入式软件的开发可以分为以下几种:1)编写简单的板级测试软件,主要是辅助硬件的调试;2)开发基本的驱动程序;3)开发特定嵌入式操作系统的驱动程序(板级支持包);4)开发嵌入式系统软件,如:嵌入式操作系统等;5)开发应用软件陕西飞腾科技发展有限责任公
4、司嵌入式开发环境与开发工具嵌入式软件开发工具的分类嵌入式软件开发工具的分类 从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为:I)与嵌入式OS相关的开发工具,用于开发:基于嵌入式OS的应用部分驱动程序等II)与嵌入式OS无关的开发工具,用于开发:基本的驱动程序辅助硬件调试程序系统软件等陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的交叉开发环境交叉开发环境:是指用于嵌入式软件开发的所有工具软件的集合,一般包括:文本编辑器交叉编译器交叉调试器仿真器下载器等 交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。陕西飞腾科技发展有限责任公司嵌
5、入式开发环境与开发工具交叉开发环境交叉开发环境目标机硬件目标机硬件目标机应用系统目标机应用系统 应用软件 应用中间件 目标机OS宿主机硬件宿主机硬件宿主机宿主机OS调调试试代代理理运运行行库库宿主机开发环境宿主机开发环境 编辑 编译 连接 调试运行平台TargetTarget开发平台Host陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境宿主机(Host):是用于开发嵌入式系统的计算机。一般为PC机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬
6、件软件是为特定应用定制的。在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的交叉开发环境嵌入式软件的交叉开发环境物理连接和逻辑连接 物理连接物理连接:是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口、并口以太口 OCD(On Chip Debug)方式,如JTAG、BDM等物理连接是逻辑连接的基础。逻辑连接:逻辑连接:指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。陕西飞腾科技发展有限责任公司嵌入式
7、开发环境与开发工具嵌入式软件实现阶段的开发过程嵌入式软件实现阶段的开发过程设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行生成、调试和固化运行。软件的生成:软件的生成:主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。调试:调试:通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。固化运行固化运行:先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件生成阶段嵌入式软件生成阶段三
8、个过程:源代码程序的编写编译成各个目标模块链接成可供下载调试或固化的目标程序编辑器编辑器交叉编交叉编译器译器交叉链交叉链接器接器源程序源程序目标模目标模块块可供调可供调试试/固固化化库文件库文件交叉编译交叉编译:在宿主机上编写在宿主机上编写的高级语言程序编译成可以运的高级语言程序编译成可以运行在目标机上的代码,即在宿行在目标机上的代码,即在宿主机上能够编译生成另一种主机上能够编译生成另一种CPU(嵌入式微处理器)上的(嵌入式微处理器)上的二进制程序。二进制程序。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的调试嵌入式软件的调试交叉调试器:是指调试程序和被调试程序运行在不同机器
9、上的调试器。调试器通过某种方式能控制目标机上被调试程序的运行方式,通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具交叉调试交叉调试非交叉调试非交叉调试调试器和被调试程序运行在不同调试器和被调试程序运行在不同的计算机上的计算机上调试器和被调试程序运行在同一调试器和被调试程序运行在同一台计算机上台计算机上可独立运行,无需操作系统支持可独立运行,无需操作系统支持需要操作系统的支持需要操作系统的支持被调试程序的装载由调试器完成被调试程序的装载由调试器完成被调试程序的装载由专门的被调试程序的装载由专门的LoaderLoader程序
10、完成程序完成需要通过外部通信的方式来控制需要通过外部通信的方式来控制被调试程序被调试程序不需要通过外部通信的方式来控不需要通过外部通信的方式来控制被调试程序制被调试程序可以直接调试不同指令集的程序可以直接调试不同指令集的程序只能直接调试相同指令集的程序只能直接调试相同指令集的程序陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的调试嵌入式软件的调试交叉调试方式:Crash and Burn Rom Monitor Rom Emulator In Circuit Emulator(ICE)On Chip Debugging(OCD)Simulator方式(非交叉)陕西飞腾科技发展有
11、限责任公司嵌入式开发环境与开发工具Crash and Burn最早的嵌入式应用软件调试方法。最早的嵌入式应用软件调试方法。在宿主机上编写代码在宿主机上编写代码反复检查代码,直到编译反复检查代码,直到编译通过,生成可执行程序通过,生成可执行程序将程序固化(将程序固化(Burn)到目标机的非易失)到目标机的非易失性存储器(性存储器(E2PROM、FLASH等)中等)中在宿主机上反复检查在宿主机上反复检查码,查找问题根源码,查找问题根源改写代码改写代码启动目标机运行,观启动目标机运行,观察程序是否正常工作察程序是否正常工作NY结束结束陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM Mon
12、itorROM Monitor是被固化且运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试。调试器与调试器与ROM Monitor之间的通信遵循远程调试协之间的通信遵循远程调试协议。议。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM Monitor调试方式调试方式调试器调试器Windows或其它桌或其它桌面操作系统面操作系统PC机等硬件机等硬件嵌入式嵌入式硬件硬件监控程监控程序序(ROM Monitor)被调试被调试程序程序宿主机宿主机目标机目标机逻辑上的连接逻辑上的连接物理上的连接物理上的连接陕西飞腾科技发展有限责任公司嵌入式开
13、发环境与开发工具ROM MonitorROM Monitor工作原理:在目标机上电或复位后首先执行ROM Monitor,它对目标机进行一些必要的初始化:-初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片;-初始化用于下载映像的内存系统;-初始化中断控制器和安装中断处理程序。初始化自己的程序空间 等待宿主机端的命令陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM MonitorROM MonitorROM Monitor能配合调试器完成:-程序映像下载-对目标机系统内存的读写-对寄存器的读写-设置和清除不同类型的断点-单步执行指令-复位系统等调试功能陕西飞腾科技发展
14、有限责任公司嵌入式开发环境与开发工具ROM Monitor调试过程:调试过程:(1)启动目标机,监控器掌握对目标机的控制,等待和调试器建立连接;(2)启动调试器,并和监控器建立起通信连接;(3)使用调试器将应用程序下载到目标机上的RAM空间中;(4)使用调试器进行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异常来获取对目标机的控制,将命令执行结果回传给调试器;(5)如果程序有问题,在调试器的帮助下定位错误;修改之后再重新编译链接并下载程序,开始新的调试,如此反复直至程序正确运行为止。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM Monitor优点:优点:1
15、)提高调试程序的效率,缩短开发周期,降低成本 2)简单、方便 3)可扩展性强,可支持许多高级调试功能 4)成本低廉,不需专门的调试硬件支持 5)几乎所有的交叉调试器都支持这种方式 缺点:缺点:1)需要用Crash and Burn方法开发。2)当ROM Monitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。3)某些调试功能依赖于CPU硬件的支持(如硬件断点功能)4)ROM Monitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源。5)调试环境不同于实际目标环境。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具仿真开发方式仿真开发方式嵌
16、入式应用的开发经常会遭遇缺少目标机环境、缺乏目标机芯片等资源的问题,而开发过程又不可能停止,因此自然就提出了根据不同的应用需要,利用仿真器件、仿真环境进行开发的方法。硬件仿真开发硬件仿真开发ROM EmulatorICEOCD软件仿真开发软件仿真开发陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM EmulatorROM Emulator是一种用于替代目标机上的ROM芯片的设备,即ROM仿真器。利用这种设备,目标机可以没有ROM芯片,但目标机的CPU可以读取ROMEmulator设备上ROM芯片的内容:ROM Emulator设备上的ROM芯片的地址可以实时地映射到目标机的ROM地址
17、空间,从而仿真(Emulation)目标机的ROM。ROM Emulator的调试方式是一种不完全的调试方式:ROM Emulator设备只是为目标机提供ROM芯片和在Target和Host间建立一条高速的通信通道,因此它经常和前面两种调试方式结合起来形成一种完备的调试方式。ROM Emulator的典型应用就是和ROM Monitor的调试方式相结合。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ROM Emulator优点:优点:目标机可以没有ROM芯片、可以使用ROM Emulator提供的ROM空间且不需要用别的工具来写ROM。缺点:缺点:目标机必须能支持外部ROM存储空间,而且
18、由于其通常要和ROM Monitor配合使用,因此它拥有ROM Monitor的所有缺点。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ICEICE(In-Circuit Emulator):是一种用于替代目标机上CPU的设备,即在线仿真器。它比一般的CPU有更多的引出线,能够将内部的信号输出到被控制的目标机。ICE上的Memory也可以被映射到用户的程序空间,这样即使目标机不存在的情形下也可以进行代码的调试。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具宿主开发平台目标平台ICEICE调试结构调试结构 连接ICE和目标机时,一般是将目标机的CPU取下,而将ICE的CPU引出线接到
19、目标机的CPU插槽。用ICE进行调试时,在Host端运行的调试器通过ICE来控制目标机上运行的程序。ICE陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具功能特点:-同时支持软断点和硬件断点的设置 -设置各种复杂的断点和触发器 -实时跟踪目标程序的运行,并可实现选择性的跟踪 -支持“Time Stamp”-允许用户设置“Timer”-提供“Shadow RAM”,能在不中断被调试程序的运行下查看内存和变量即非干扰调试查询。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具ICE适用于:适用于:1)调试实时的应用系统 2)调试设备驱动程序 3)对硬件进行功能和性能的测试 4)实时性能分析缺
20、点:缺点:1)价格太昂贵,不利于团队开发 2)所仿CPU有限陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具OCDOCD(On Chip Debugging):是CPU芯片提供的一种调试功能(片上调试),可以认为是一种廉价的ICE功能:OCD的价格只有ICE的20%,但提供了ICE 80%的功能。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具OCD调试结构调试结构调试器调试器Windows或其它桌或其它桌面操作系统面操作系统PC机等硬件机等硬件被调试程序被调试程序OCD接接口口嵌入式嵌入式硬件硬件宿主机宿主机目标机目标机逻辑上的连接逻辑上的连接物理连接物理连接仿真器仿真器针形连接器针
21、形连接器并并口、串口口、串口或网络接口或网络接口为为特定处理特定处理器而建造器而建造陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具OCD调试方法:调试方法:1)将CPU的模式分为一般模式和调试模式 2)一般模式下,CPU从内存读取指令执行 3)调试模式下,CPU首先从调试端口读取指令,通过调试端口可以控制CPU进入和退出调试模式;Host端的调试器可以直接向目标机发送要执行的指令,读写目标机的内存和各种寄存器,控制目标程序的运行以及完成各种复杂的调试功能。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具OCD优点:1)不占用目标机的资源 2)调试环境和最终的程序运行环境基本一致 3)
22、支持软硬断点、Trace功能 4)精确计量程序的执行时间 5)提供时序分析功能缺点:1)调试的实时性不如ICE 2)不支持非干扰调试查询 3)CPU必需具有OCD功能陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具OCD实现方式:BDM(Background Debugging Mode)JTAG(Joint Test Access Group)()(主流方式)主流方式)OnCE(On Chip Emulation)陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具各种OCD仿真器实例陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具边界扫描技术(边界扫描技术(JTAGJTAG)JTA
23、G标准测试访问接口与边界扫描结构(Standard Test Access Port and Boundary Scan Architecture),已被IEEE1149.1标准所采纳,是面向用户的测试接口。该接口一般由4个引脚组成:测试数据输入(TDI)测试数据输出(TDO)测试时钟(TCK)测试模式选择引脚(TMS)异步测试复位引脚(TRST,可选)陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具边界扫描技术(边界扫描技术(JTAGJTAG)优点:优点:-可以通过边界扫描操作测试整个板的电气连接,特别为表面贴元件提供方便-各个引脚信号的采样,并可强制引脚输出用以测试外围芯片-可以软件下
24、载、执行、调试和控制,为复杂的实时跟踪调试提供路径-可以进行多内核和多处理器的板级和芯片级的调试,通过串接,为芯片制造商提供芯片生产、测试的途径-不占用系统资源,能够调试没有外部总线的芯片,代价非常小 陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具边界扫描技术(边界扫描技术(JTAGJTAG)缺点缺点:-通过串口依次传递数据,速度比较慢-只能进行软件断点级别的调试 不能完成实时跟踪和多种事件触发等复杂调试功能不能完成实时跟踪和多种事件触发等复杂调试功能 几种增强版本:几种增强版本:-ARM芯片的实时调试方案(E-TRACE)-背景调试模式BDM-片上仿真OnCE 陕西飞腾科技发展有限责任
25、公司嵌入式开发环境与开发工具NexusNexus标准标准 提出一个在JTAG之上的嵌入式处理器调试的统一标准,将调试开发分成四级:-第一级使用JTAG的简单静态调试;-第二级支持编程跟踪和实时多任务的跟踪,并允许用户用I/O引脚作为多路复用辅助调试口;-第三级包括处理器运行时的数据写入跟踪和存储器的读写跟踪;-第四级增加了存储替换并触发复杂的硬件断点。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具Nexus标准通过Nexus 标准可以解决以下问题:-调试内部总线没有引出的处理器,如含有片内存储器的芯片-传统在线仿真器无法实现的高速调试-深度流水线和有片上Cache的芯片,能够探测具体哪条
26、指令被取指和最终执行-可以稳定地进行多内核处理器的调试 陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具Simulator交叉开发方式存在如下缺点:硬件支持:必须有目标机或评估板 易使用性:普通编程人员不熟悉 廉价性:成本高 可移植性、可扩展性:不高 团队开发:较难 开发周期:较长陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具Simulator一种软件仿真器,在宿主机上创建一个虚拟的目标机环境,再将应用系统下载到这个虚拟目标机上运行调试。软件仿真的对象:-仿真处理器-仿真外设-仿真环境软件仿真的级别:-指令级仿真开发-API级仿真开发陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工
27、具应用仿真开发环境示意图应用仿真开发环境示意图陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具结合仿真的软件开发过程结合仿真的软件开发过程陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具Simulator优点:最大好处就是可以不用真正的目标机,可以在目标机环境并不存在的条件下开发目标机上的应用系统,并且在调试时可以利用Host资源提供更详细的错误诊断信息。缺点:1)和实际的运行环境差别很大 2)设备模拟的局限性较大 3)实时特性较差 4)对Host的资源要求较高适用范围 对时间特性没有严格要求、没有特殊外设、只需要验证逻辑正确的应用程序。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发
28、工具嵌入式软件的测试嵌入式软件的测试测试工具:能够用来辅助测试的工具,主要用来支持测试人员的工作,本身不能直接用来进行测试。测试工具一般都是通用工具,测试人员应该根据实际情况对它们进行适当的调整。嵌入式软件测试中经常用到的测试工具有:-内存分析工具-性能分析工具-覆盖分析工具-缺陷跟踪工具等 陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的固化运行嵌入式软件的固化运行当调试完成之后,程序代码需要被完全烧入到目标板的非易失性存储器(如ROM或闪存)中,并且在真实的硬件环境上运行,这个过程叫做固化固化。调试环境与固化环境的区别:-代码定位不同代码定位不同-初始化部分不同初始化部分不
29、同陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的固化运行阶段阶段调试环境调试环境固化环境固化环境编译编译目标文件需要调试信息目标文件需要调试信息目标文件不需要调试信息目标文件不需要调试信息链接链接应应用用系系统统目目标标代代码码不不需需要要BootBoot模模块块,此此模模块块已已由由目目标标板板上上的的监监控控器程序实现。器程序实现。应应用用系系统统目目标标代代码码必必须须以以BootBoot模模块作为入口模块。块作为入口模块。定位定位程程序序的的所所有有代代码码段段、数数据据段段都都依依次被定位到调试空间的次被定位到调试空间的RAMRAM中。中。程序的各逻辑段按照其不同的
30、属程序的各逻辑段按照其不同的属性分别定位到非易失性存储空间性分别定位到非易失性存储空间(ROMROM)或)或RAMRAM中。中。下载下载宿宿主主机机上上的的调调试试器器读读入入被被调调试试文文件件,并并将将其其下下载载到到目目标标机机上上的的调调试试空空间间中中,目标机掉电后所有信息全部丢失。目标机掉电后所有信息全部丢失。在在宿宿主主机机上上利利用用固固化化工工具具将将可可固固化化的的应应用用程程序序写写入入目目标标机机的的非非易易失失性性存存储储器中,目标机掉电后信息不丢失。器中,目标机掉电后信息不丢失。运行运行被被调调试试程程序序在在目目标标监监控控器器的的控控制制下下运运行行,并并与与后
31、后者者共共享享某某些些资资源源,如如CPUCPU资资源源、RAMRAM资资源源以以及及通通信信设设备备(如如串串口、网口等)资源。口、网口等)资源。程程序序在在真真实实的的目目标标硬硬件件环环境境上上运运行行陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式软件的固化运行Boot模块:当应用程序在真实的目标环境下运行时将首先执行该程序,它至少由系统加电时执行的代码组成。Boot模块的主要功能:初始化CPU环境,使目标机硬件进入已知的状态。-初始化芯片的引脚-初始化系统外部控制寄存器-初始化基本输入输出设备-初始化MMU,包括片选控制寄存器等-执行数据拷贝 陕西飞腾科技发展有限责任公司嵌
32、入式开发环境与开发工具嵌入式软件开发工具发展趋势向着开放的、集成化的方向发展具有系统设计、可视化建模、仿真和验证功能 自动生成代码和文档 具有更高的灵活性 陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式系统开发模式嵌入式系统开发模式概述概述处理器及硬件开发平台的选定处理器及硬件开发平台的选定操作系统选定操作系统选定开发环境选定开发环境选定陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式系统开发模式概述 最大特点:最大特点:软硬件综合开发软硬件综合开发原因:原因:1)嵌入式产品是软硬件的结合体嵌入式产品是软硬件的结合体 2)软件针对硬件开发、固化,不能进行任意修改软件针对硬
33、件开发、固化,不能进行任意修改 陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌嵌入入式式系系统统开开发发过过程程 系统定义系统定义系统定义系统定义符合要求符合要求硬件设计制作硬件设计制作软件设计实现软件设计实现软硬件集成软硬件集成功能性能测试功能性能测试产品产品YesYes系统总体设计系统总体设计NoNo陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具系统总体设计软硬件划分系统总体框架处理器选定操作系统选定开发环境选定陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具硬件设计制作硬件设计制作硬件概要设计硬件概要设计硬件详细设计硬件详细设计硬件制作硬件制作硬件测试硬件测试功能模块图
34、设计功能模块图设计逻辑电路图设计逻辑电路图设计PCBPCB设计与制作设计与制作PCBPCB 测试测试陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具软件设计实现软件设计实现软件概要设计软件详细设计软件实现软件测试陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具通常的嵌入式系统开发软/硬件协同开发嵌入式嵌入式软件开发软件开发嵌入式嵌入式硬件开发硬件开发嵌入式系统嵌入式系统集成、测试、集成、测试、验证验证嵌入式软件开发嵌入式软件开发嵌入式硬件开发嵌入式硬件开发嵌入式系统嵌入式系统协同设计、测试、验证协同设计、测试、验证陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具处理器及硬件开发平台
35、的选定选择依据:应用的类型及I/O接口 主频及功耗 对不同类型存储器的支持 封装 产品生命力和厂家实力、技术支持及第三方软件的支持 硬件开发平台的选择陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具操作系统选定选择依据:选择嵌入式OS的必要性 自建、购买或使用开源软件 对嵌入式操作系统的功能、性能要求 与硬件平台和开发工具的关系 行业标准 技术支持 版税或服务费陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具操作系统与硬件平台的关系操作系统与硬件平台的关系操作系统应支持选定的硬件平台如果不支持,需考虑移植工作-不同类型嵌入式微处理器之间的移植:任务上下文切换、时钟、中断等;-同类型微处
36、理器但不同类型硬件板之间的移植:硬件接口及设备驱动程序陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具操作系统与开发工具的关系操作系统与开发工具的关系工具是否能为基于特定操作系统的应用开发提供最大支持:-运行库与OS相结合-提供应用工程创建和管理功能,构建基于特定操作系统的应用框架-对操作系统的剪裁与配置-提供高级调试功能-提供配套的应用逻辑分析工具、覆盖测试工具等陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具开发环境及工具选定开发环境及工具选定对硬件平台的支持所使用的编程语言C/C+汇编语言JAVA与嵌入式操作系统的关系陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具实时软件分
37、析设计方法实时软件分析设计方法嵌入式实时软件系统的生存周期需求分析与说明系统设计-数据流分析数据流分析-划分任务划分任务-定义任务接口定义任务接口任务设计模块构筑任务与系统集成陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具嵌入式实时软件系统的生命周期嵌入式实时软件系统的生命周期需求分析与详细说明系统设计 任务分解任务分解,定义任务间接口关系定义任务间接口关系任务设计 按模块方式设计每个任务,定义模块间接口按模块方式设计每个任务,定义模块间接口模块构筑 完成每个模块的详细设计、编码和单元测试完成每个模块的详细设计、编码和单元测试任务与系统集成系统测试陕西飞腾科技发展有限责任公司嵌入式开发环
38、境与开发工具划分任务就是识别出并行性的功能;需要考虑的是系统内功能的异步性。分析系统工作流程的变换,确定哪些变换可以并行,哪些变换本质上是顺序的。划分任务原则:-I/O 依赖性-功能的时间关键性-计算需求-功能内聚-时间内聚-周期执行陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具 I/O 依赖性依赖性 DeviceI/O Task App.Task如果变换依赖于I/O,速度受限I/O,可独立成任务;在系统中创建与I/O设备数目相当的I/O任务;I/O任务只实现与设备相关的代码 I/O任务的执行只受限于I/O设备的速度,而不是处理器在任务中分离设备相关性陕西飞腾科技发展有限责任公司嵌入式开
39、发环境与开发工具 功能的时间关键性功能的时间关键性将有时间关键性(deadline)的功能分离出来,组成独立运行的任务;赋予这些任务高的优先级,以满足对时间的需要。event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline 2陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具计算量大的功能占用CPU的时间多,把计算功能捆绑成任务,以消耗CPU的剩余时间;赋予计算任务较低优先级,能被高优先级的任务抢占,保持高优先级的任务是轻量级的;多个计算任务可安排成同优先级,按时间片循环轮转 计算需求计算需求陕西飞腾科技发展有限责任公司嵌入式开发环境与开
40、发工具功能内聚功能内聚将紧密相关的功能变换组成一个任务,减少通信的开销;把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚。event 1F1(x)+F3(x)event 2F2(x)陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具时间内聚将在同一时间内完成的各功能(即使这些功能是不相关的)形成一个任务;功能组的各功能是由相同的外部事件驱动的(如时钟等),这样每次任务接收到一个事件,它们都可以同时执行;由于减少了任务调度及切换的次数,减少了系统的开销。Clock TickeventF1(x)+F2(y)+F3(z)F4(x)+F5(y)陕西飞腾
41、科技发展有限责任公司嵌入式开发环境与开发工具周期执行一个需要周期执行的变换可以作为一个独立的任务,按一定的时间间隔被激活;将在相同周期内执行的各功能组成一个任务,频率高的任务赋予高优先级。F1F2F110HZ10HZ15HZ15HZF2陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具 任务设计任务体系结构:任务体系结构:详细定义任务包含的子模块和模块详细定义任务包含的子模块和模块间的关系间的关系任务执行流程:任务执行流程:尽可能详细地描述任务的处理过程尽可能详细地描述任务的处理过程任务内数据结构任务内数据结构任务内模块间接口任务内模块间接口详细说明系统中各任务的设计考虑和执行流程,以利详细
42、说明系统中各任务的设计考虑和执行流程,以利于程序员编制程序。于程序员编制程序。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具模块设计模块设计系统和任务设计完成后,进行每个模块的详细设计,直到每个具体的函数;在单元测试前不必编完模块全部程序,可以分阶段编码和测试;模块的详细设计应一气呵成,避免系统以非结构化方式形成。陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具函数设计函数描述函数描述给出对该函数的简要描述,说明设给出对该函数的简要描述,说明设计目的、意义以及特点计目的、意义以及特点功能功能说明该函数应具有的功能,可采用说明该函数应具有的功能,可采用IPOIPO图图(输入一处理一输出
43、图)形式(输入一处理一输出图)形式性能性能说明对该函数的性能要求,包括精度、说明对该函数的性能要求,包括精度、灵活性和时间特性等灵活性和时间特性等输入输入定义每个输入项的特性,包括名称、标定义每个输入项的特性,包括名称、标识、数据类型和格式、取值范围、输入方式、识、数据类型和格式、取值范围、输入方式、数据来源、保密方式等数据来源、保密方式等输出输出定义每个输入项的特性,特征同输入定义每个输入项的特性,特征同输入陕西飞腾科技发展有限责任公司嵌入式开发环境与开发工具算法算法详细说明本函数所选用的算法,具体的计算公式和计详细说明本函数所选用的算法,具体的计算公式和计算步骤算步骤流程流程用流程图辅以必要的说明来表示本函数的逻辑流程用流程图辅以必要的说明来表示本函数的逻辑流程接口接口说明本函数与其他函数的调用关系,包括说明参数赋说明本函数与其他函数的调用关系,包括说明参数赋值和调用方式以及相关数据结构(如数据库、文件)。值和调用方式以及相关数据结构(如数据库、文件)。存储分配存储分配说明本函数的存储分配说明本函数的存储分配限制条件限制条件说明本函数运行所受限制说明本函数运行所受限制 测试计划测试计划说明对本函数的测试计划,包括技术要求、输入说明对本函数的测试计划,包括技术要求、输入数据、预期结果、人员安排等数据、预期结果、人员安排等函数设计