ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:661.78KB ,
资源ID:8026685      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8026685.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件概要设计说明书IDE.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件概要设计说明书IDE.docx

1、软件概要设计说明书IDE四川长虹技术中心软件概要设计说明书版权所有,翻版必究文档修订记录版本编号或者更改记录编号*变化状态简要说明(变更内容和变更范围)日期变更人批准日期V1.0C创建2007-4-27展华益2007-6V1.0.1M修改5.1、5.2的描述;增加1.5 设计约束条件2009-7-3赵斌*变化状态:C创建,A增加,M修改,D删除 1引言1.1 编写目的本概要设计说明书是为了指导Apollo Pro IDE的详细设计,同时为本系统的测试提供必要的信息。本概要设计说明书的读者包括本系统的系统分析员、测试人员、概要设计人员、详细设计人员。1.2 背景在当前竞争激烈的嵌入式产品市场,芯

2、片厂商不仅仅要提供高集成化和最优性价比的SoC芯片产品以及基于该SoC芯片的软件整体解决方案,同时还需要向用户提供简单易用的应用程序开发调试工具,使得基于该芯片方案的最终产产品能快速推向市场。本产品定义为嵌入式软件开发平台,用于支持采用虹微公司的Apollo Pro SoC芯片的嵌入式系统的应用软件开发。1.3 运行环境1.3.1 硬件设备列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。1.3.2 软件运行环境列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。1.4 术语定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.5 设计约束条件 列出

3、本设计的约束条件2总体设计Apollo Pro IDE的模块组成如图1所示。图2.1 Apollo Pro IDE模块组成图1应用仓库配置应用仓库配置模块提供给用户良好的用户体验,用于指导用户根据自己的需求快速、准确地开发产品。该模块包含两个字模块:远程仓库配置,本地仓库配置。远程仓库配置:终端从服务器下载配置文件manifest.xml,终端通过解析该文件将服务器所提供的应用展示给用户,用户可根据自身的开发需求选择相应项目模板进行开发,同时用户可选择服务器提供的可选配置项,以进行组件重用,实现快速开发。本地仓库配置:初始情况下本地仓库仅欲置若干应用程序供用户使用,用户从远程服务器获取相应的应

4、用保存在本地,避免了以后进行相同产品开发带来的通信时延。本地仓库的另一功能是当服务器不可达时,用户的需求能够从本地库中得到满足。应用仓库存储的库类型包含以下四种:原子库、模块、解决方案和应用程序。其中,原子库不可再分,模块可包含原子库,解决方案可由若干模块组成,应用程序在解决方案的基础之上实现。3代码分析模块代码分析模块提供静态代码分析和动态代码分析。静态代码分析对某个工程或文件中的函数进行结构检查、静态结构分析和代码质量度量等,方便软件开发人员了解整个工程的函数分布和相互依赖关系,并能够帮助软件开发人员检查一些低级而常见的错误,例如:变量没有初始化、从空指针中读取值、可能的缓冲区溢出、代码的

5、安全性问题、“=和=”误用的问题等。静态代码分析结果以树状图形式显示。动态代码分析可以统计出程序运行过程中各个函数消耗的时间和被调用的次数,这个特性对于用户开发和性能优化密切相关的应用,例如视频编码、解码、数据加密、解密等计算密集型应用而言非常重要。动态代码分析以柱状图形式显示。4Makefile和Configure可视化管理模块Makefile和Configure可视化管理模块为不熟悉Makefile和Configure规则的用户提供了以图形窗口界面形式的Makefile和Configure文件的配置和解析。为IDE提供了广义的Makefile管理能力,一方面允许IDE使用者通过图形化方式自

6、由选择自己所需的选项,然后按照用户选择的选项执行配置脚本,生成对应的Makefile或Configure文件;另一方面可以对已有的Makefile或Configure文件进行解析,以图形化方式显示出各编译选项及库的依赖关系。5调试管理模块调试管理模块提供用户应用程序的多种形式调试功能的选择,包括调试器子模块、Flash烧写子模块和仿真器子模块。(1)调试器模块调试器模块是Apollo Pro IDE与目标板直接通过通讯线路连接时所采用的一种调试方式。调试器模块具备单步、全速运行、CPU复位、设置断点、支持存储器、变量、寄存器查看等功能。调试器面向用户应用程序支持串口、以太网、USB形式的GDB

7、调试协议。(2)Flash烧写模块由于Flash芯片的多样性,只要求实现将长虹提供的Flash烧写驱动程序集成到Apollo Pro IDE中。(3)仿真器模块仿真器模块是Apollo Pro IDE与仿真器相连再与目标板相连时所采用的一种调试方式。仿真器模块需要支持LPT和USB两种接口的仿真器,当前版本要求为LPT接口的Multi-ICE仿真器和USB接口的Multi-ICE仿真器、盗版J-LINK、FT2232(OPEN JTAG)电缆。为了降低一个开发团队为其中的每个开发人员重复购买多个JTAG仿真器而增加的开销,Apollo Pro IDE提供了仿真器共享调试功能,将与仿真器相连的P

8、C机作为服务器,其他需要共享仿真器支持的PC机作为Client与服务器以以太网相连,通过服务器提供共享仿真器调试的功能,方便同一个开发团队的不同用户协同开发。6配置管理模块配置管理模块提供对工具集和支持库的管理功能,使用户能够根据自己的应用需求选择所需要的工具集和支持库,形成个性化的应用程序开发环境。7工具集工具集由长虹公司或其他第三方公司提供。8支持库支持库由长虹公司或其他第三方公司提供。3接口设计3.1 用户接口以图形用户方式为用户提供一个类MFC或Eclipse的软件开发环境,用户可以通过菜单或快捷键实现对Apollo Pro IDE的操作。3.2 外部接口Apollo Pro IDE需

9、要的外部接口如下:1通过串口、以太网口或USB与目标板相连实现调试器功能;2通过LPT或USB与仿真器相连实现仿真器功能;3通过以太网口与其他计算机相连实现仿真器的共享调试。3.3 内部接口Apollo Pro IDE基于Eclipse平台设计,内部的各模块(如代码分析、调试管理、GUI设计器等)都以插件形式集成到系统中。4系统数据结构设计4.1 数据结构设计要点配置管理模块的数据结构如表4-1所示。数据类型数据描述库文件基类基类主要设置了库文件的共同属性,如所属分类,初始化信息,相关属性等支撑库类支撑库类都继承自库文件基类,同时又根据各自实现的功能来实现不同的接口引用库通过引用库可以进一步把

10、库文件中的类加载到系统中XML文件XML文件包含了加载入系统的库文件的描述信息,从而定义了该文件如何与系统进行交互4.2 数据结构与程序的关系说明各个数据结构与访问这些数据结构的各个程序之间的对应关系。程序1程序2程序m数据结构1数据结构2数据结构n5各软件子模块的概要描述对系统中的各个软件子模块进行概要描述,描述方法可以是流程图、结构框图、调用关系图等等。5.1 应用仓库配置模块应用仓库配置模块包含两个字模块:远程仓库配置,本地仓库配置。远程仓库配置用户可与远程服务器连接,并从服务器下载相应解决方案及可选库进行快速开发。5.1.1 远程仓库配置1流程图远程仓库子模块的流程图如图5.1.1所示

11、: 图5.1.1 远程仓库配置远程仓库配置子模块:在服务器可达的情况下,解析从服务器下载的manifest.xml,以工程向导方式指导用户完成工程配置建立。在用户选定工程类型和可选配置后向服务器请求所有文件,并下载到本地仓库中保存。之后对于用户的同样需求可直接读取本地仓库中的数据。本地仓库子模块的流程图如图5.1.2所示: 图5.1.2 本地仓库配置本地仓库配置子模块:解析本地配置文件manifest.xml。根据解析内容生成工程向导。用户依据向导流程完成工程配置及新建。2结构图应用仓库配置模块的结构图如图5.1.3所示。 图5.1.3 结构图1)工程向导向服务器请求manifest.xml配

12、置文件2) 解析manifest.xml文件,生成工程向导页面指导用户完成工程配置建立3) 向服务器请求用户所选工程及配置,并下载到本地仓库中。4) 将用户工程相关文件复制到Eclipse workspace下,配置工程属性。3调用关系图应用仓库配置模块的调用关系图如图5.1.4所示。 图5.1.4 调用关系图工程向导得到manifest.xml文件(两种途径:从服务器获得或从本地文件系统获得)、用户工程的模板文件以及可选库文件后,解析manifest.xml文件。依据Eclipse工程项目规范建立工程,并将模板文件及库文件拷贝到Eclipse workspace下,若模板文件中存在扩展点,向

13、导将扩展程序添加到扩展点,同时根据环境变量读取系统库文件并添加到工程属性中。最终在IDE视图、编辑器中显示完整工程。5.2 代码分析模块5.2.1动态代码分析1结构框图图5.2.1动态代码分析模块组成结构图动态分析模块中各子功能块的功能作用说明:(1)输入模块,完成动态模块输入参数的接受和发送,接受待分析代码的路径和文件,用户设置和选择参数。(2)GCC模块完成对目标代码文件的动态编译,为动态性能分析做准备。(3)Gprof模块Gprof模块则完成代码的统计分析,并生成相应的Gmon.out动态性能数据文件,Gmon.out文件包含代码动态分析数据结果。然后Gprof对性能数据文件的解析,并从

14、数据文件中析取出所需的性能统计数据。(4)(Gprof_out)输出模块 接受从Gprof模块析取出的数据,经本模块处理后完成对工程中各源文件中各个函数块运行时间的柱状化图形输出及运行次数输出。(5)跳转模块跳转模块主要完成从用户柱状输出跳转到对应的源代码中对应函数的定义处的跳转定位功能。(6)源代码输出模块完成选中文件源代码的文件跳转输出。2流程图图5.2.2 动态代码分析流程图3调用关系图图5.2.3 动态代码分析调用关系图5.2.2静态代码分析1结构框图5.2.4 静态代码分析总体设计图通过静态代码分析的用户接口,用户可选择查看函数关系调用图和对代码质量进行量度。函数调用关系树状图是通过

15、graphviz画出树状图,这个树状图是由calltree分析得来。cppcheck分析工程文件,将得到的警告信息反馈给用户。函数调用关系图流程:从用户所给的工程的头文件及源文件目录,得到-I选项;利用calltree gb m的参数获得字符界面的函数调用关系;进一步生成.dot文件;再利用graphviz画出树状的函数调用图。图5.2.5 静态代码分析流程图代码检测流程:获得用户所给的工程的头文件及源文件目录,得到-I选项;利用cppcheck -a的参数获得程序中存在的一些警告信息;将警告信息展现给用户。5.2.3用户接口1静态分析接口1)用户接口函数关系调用图 接口名称接口标记实现功能工

16、程头文件所在目录头文件路径(-I)用来指定要分析的头文件的路径工程源文件所在目录源文件路径从该目录下获得所有要分析的源文件 工程头文件所在目录:建议把工程头文件统一放在一个目录下,如Include。工程源文件所在目录:建议将要分析的工程的源文件放在一个目录下,如Src。注:只分析c语言编写的工程文件。用户还可以通过浏览按钮选择某个工程文件所在的目录。当用户选择代码质量量度时,出现如下对话框。接口名称接口标记实现功能变量没有初始化uninitialized检测声明但没有赋初值的变量= =和=误用parentheses检测条件语句中常见的= =和=误用问题可能的缓冲区溢出Over buffer检测

17、程序中可能的缓冲区溢出问题从空指针读值Null pointer检测程序中读取空指针的情况内存泄露Memory leak检测程序中的分配内存后未释放的问题变量没有初始化:如int a;/a没有赋初值= =和=无用:如if(a=5) printf(“. ”)可能的缓冲区溢出:如char a10,a10=v从空指针读值:如char *p=”abcdefg”;.free(p);.printf(“%sn”,p)内存泄露:如char *a=(char *)malloc(sizeof(char)*10);.程序结束时却没有free(a)用户可选择要检测的项目(建议全选)。2)外部接口(1)Eclipse上的

18、calltree插件对calltree进行裁剪,选择我们所需的功能,并把裁剪后的calltree写成插件安装在Eclipse上。(2)Eclipse上的cppcheck插件 对cppcheck进行裁剪,选择我们所需的功能,并把裁剪后的cppcheck写成插件安装在Eclipse上。(3)函数结构分析:calltree与graphviz之间的接口利用calltree工具,使用命令(calltree -I/root/Test/Include -gb m /roo/Test/*.c temp.c)。将得到的temp.c解析,生成合适的.dot文件:Temp.dot。用dot工具执行命令:dot Tp

19、ng temp.dot -o temp.png,生成png文件的函数调用图。(只分析c语言工程,且必须包含定义main函数的文件)。(4)代码质量量度:gcc/g+的-Wuninitialized:自动变量没有初始(必须与-O一起使用);gcc/g+的-Wparentheses:= =和=误用;cppcheck检测c/c+程序中存在的内存泄露及看、可能的堆栈溢出、读空指针。2动态代码分析接口1)外部接口与eclipse平台的接口:将gcc,gprof以插件的形式集成到eclipse平台下面 Start_dynamic()::在eclipse平台下启动动态代码分析功能2)内部接口(1) gcc

20、与gprof的接口:在gcc编译的时候加参数 pg,执行程序,生成供gprof分析的gmon.out文件。使用gprof 程序分析你的应用程序生成的数据(即使用命令:gprof b a.out gmon.out|less).(2)gmon.out与输出柱状图的接口:接口标记:Qt_gmon( ) ;/l利用qt的绘图函数来调用gmon.out中的数据画出柱状图5.3 Makefile和Configure可视化配置和解析模块Makefile和Configure可视化配置和解析模块分成两个子模块,即Makefile可视化配置和解析子模块和Configure文件可视化配置和解析子模块。5.3.1 M

21、akefile可视化配置和解析子模块1流程图Makefile可视化配置和解析子模块的流程图如图5.3.1、5.3.2所示。图5.3.1 Makefile配置Makefile可视化配置:由用户在GUI上添加或删除规则,根据GUI上的改动改变DOM中对应的数据,然后根据DOM生成记录构建规则的xml文件,最后使用Makefile生成器从xml生成Makefile。图5.3.2 Makefile解析Makefile可视化解析:使用Makefile分析器将Makefile转换为xml,然后加载xml生成DOM树,最后使用DOM数据生成GUI来显示Makefile。2结构图Makefile可视化配置和解

22、析子模块的结构图如图5.3.3所示。图5.3.3 结构图1) GUI根据DOM数据来显示Makefile构建规则,并将用户改动反映到DOM树中。2) DOM树通过加载xml文件来生成,并在用户完成操作后重新生成xml文件。3) 在生成阶段,Makefile作为最终产品,通过Makefile生成器读取xml文件来生成;在显示阶段,Makefile则由Makefile分析器转换为xml格式供上层模块使用。3调用关系图Makefile可视化配置和解析子模块的结构图如图5.3.4所示。图5.3.4 调用关系图GUI显示在Makefile处理过程中转化过的DOM数据,用户通过GUI所作的改动也在处理之后

23、转化到DOM数据中;xml文件是DOM生成的依据,同时DOM中数据变化后在保存时也要更新xml文件;xml文件作为数据转化的中介,在生成Makefile时要将xml格式的内容转化为Makefile,在显示Makefile时要从Makefile文件通过分析生成xml格式文件。5.3.2 Configure文件可视化配置和解析子模块1流程图Configure文件可视化配置和解析子模块的流程图如图5.3.5、5.3.6所示。图5.3.5 Configure配置Configure配置提供GUI供用户设置Configure,根据用户操作改变DOM数据,将Configure设置以xml文件格式保存。图5.

24、3.6 Configure显示Configure解析加载xml文件生成DOM树,根据DOM数据生成GUI显示Configure设置。2结构图Configure文件可视化配置和解析子模块的结构图如图5.3.7所示。图5.3.7 Configure结构框图GUI根据DOM数据来显示Configure设置,并将用户改动反映到DOM树中,DOM树通过读取xml文件来生成,并在改动产生之后由DOM树重新的生成xml文件,Configure设置直接保存为xml格式。3调用关系图Configure文件可视化配置和解析子模块的调用关系图如图5.3.8所示。图5.3.8 Configure调用关系图GUI显示由

25、Configure处理过程转化的DOM数据,用户通过GUI所作的改动也在处理之后转化到DOM数据中;xml文件是DOM生成的依据,同时DOM中数据变化后在保存时也要更新xml文件,Configure设置的内容以xml格式保存。5.4 调试管理模块5.4.1 结构框图1系统硬件结构图 系统硬件结构图如图5.4.1所示。错误!未指定应用程序。图5.4.1 系统硬件结构图调试通过两种方式实现,软件调试和仿真器调试。软件调试首先需要将调试主机(ICE_HOST)通过USB ,网线,RS232电缆与目标板直接相连。调试主机(ICE_HOST)上的调试器与目标板上的GDB server 通信,完成调试功能

26、。仿真调试通过ICE_server共享在线仿真器。ICE_HOST端的调试器与ICE_server连接成功后,ICE_HOST通过ICE_server 控制在线仿真器(ICE)对目标板进行调试。2系统功能结构图 系统功能结构图如图5.4.2所示。错误!未指定应用程序。图5.4.2 功能结构图3系统逻辑结构图 系统逻辑结构图如图5.4.3所示。错误!未指定应用程序。图5.4.3 系统逻辑结构图5.4.2 接口描述1用户接口本系统通过GUI接供用户与IDE交互的接口。可以分成三部分:(1)调试控制:接口名称接口标记实现功能运行run全速运行,忽略断点单步跟踪step_over不进入函数单步执行每条

27、语句单步步进step_in进入函数单步执行单步跳出step_out跳出函数或循环继续执行continue从断点处继续执行重新开始restart程序重新执行,遇断点会停下程序下载download将程序下载到目标板上(2)断点设置:接口名称接口标记实现功能增加断点break在指定行添加断点删除断点clear_break删除指定的断点清除所有clear_all清除所有断点显示断点break_info显示所有断点的位置和其它信息(3)窗口设置:(变量,寄存器,内存,表达式显示窗口)接口名称接口标记实现功能窗口切换window_switch共享寄存器窗口,实现切换格式选择format_select选择数

28、值的格式(oct, dec, hex)信息排列display_sort按名称,出现顺序等排列(4)配置选择:接口名称接口标记实现功能连接设置link_mode选择PC与目标机的连接方式(RS232,Ethernet, USB).显示设置display_config选择哪些窗口会出现在透视图中2外部接口(1)软件接口 接口名称接口标记实现功能启动debugger_start在IDE开发环境中启动调试器关闭debugger_close调试完成后,在IDE中关闭调试器(2)硬件接口接口名称接口标记实现功能串行接口debug_RS232与目标板之间通过RS232协议通信网络接口debug_ethern

29、et与目标板通过以太网通信USB接口1debug_usb1与目标板通过USB通信LPT接口debut_lpt实现ICE_server与仿真器的连接USB接口2debug_usb2实现ICE_server与仿真器的连接以及网接口debug_ethernet实现调试主机与ICE_server的连接3内部接口内部接口分成两大部分,GUI通过GDB/MI调用GDB内核的接口,以及GDB通过RSP协议与目标板通信的接口。GDB调用接口分成3大类:指令解析,数据传送,配置选项;接口名称接口标记实现功能指令传送MI_transt_inst实现GUI调试操作到GDB指令的解析数据传送MI_transt_data实现GUI中信息与GDB中信息的交互配置选项MI_config将GUI的配置选项解析后配置到GDB 通信接口:接口名称接口标记实现功能指令传送RSP_transt_inst实现GDB与目标板之间的指令传送数据传送RSP_transt_data实现GDB与目标板之间的数据传送

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1