本站小编为你精心准备了集成系统开造环境设计及实践参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
总体设计
BWDSP100集成开发环境是一种功能完善和方便的集成调试开发软件平台。它通过可视化的图形界面和用户进行交互,程序开发人员可以在此界面中进行高效的文件、工程管理,灵活地在编辑、调试等不同工作模式间进行切换,实现高效率的程序开发。调试器能够将性能统计信息以图形化的方式显示出来,使程序员能够迅速发现程序运行的瓶颈所在和需要进一步优化的程序块。集成开发环境包括图形化界面、C编译器、宏预处理器、规则检查器、汇编器、链接器、反汇编器、库生成器、加载器、一个精确到时钟周期的指令级模拟器和一个内容丰富的DSP算法库。软件的总体结构如图1所示。
◆图形化界面通过可视化的图形界面和用户交互,程序开发人员可以在此界面中进行高效的工程管理,灵活地在编辑,调试等不同工作模式间进行切换,实现高效率的程序开发。调试器能够将性能统计信息以图形化的方式显示出来,使程序员能够迅速发现程序的瓶颈所在和需要进一步优化的程序块;
◆统一的调试界面与多处理器支持为软件模拟器(Simulator)和硬件仿真器(Emulator)提供一致的Debugger界面。在进行软件模拟时,在后台可以同时运行多个ISS(InstructionSetSimulator),每个ISS对应一个虚拟处理器,Debugger界面可以使用TCP/IP协议连接至其中某个ISS进行调试,并可以在不同ISS间进行切换,以实现多处理器调试的功能。在硬件仿真时,Debugger同样可以通过JTAG链实现多处理器的调试;
◆支持高级语言编程和调试支持汇编语言编程和C语言编程,对C语言的支持一方面可以大大缩短程序开发周期,提高代码的可重用性;
◆联机帮助功能联机帮助将提供搜索和索引功能,可以迅速查找一些关键词和命令的用法,同时也会集成一些相关的应用文档和手册资料等。
图形化操作界面
为了高效且高质量的设计开发BWDSP100应用系统,优秀的集成开发环境至关重要。BWDSP100集成开发环境具有强大的工程管理和编辑功能模块;编译模块;调试模块;寄存器管理模块;内存管理模块;流水线管理模块;性能统计模块。其具体功能模块结构图如图2所示。
1工程管理和编辑器模块
在一个工作空间(workspace)中可以建立多个工程,每个工程对应多片调试中的一片处理器,在每个工程中可以建立多个源文件,包括汇编以及链接描述文件,并可以随时添加、删除、修改选定的文件,并可以对整个工程进行编译链接。编辑器能够自动识别关键字、注释等,并以不同的颜色显示出来,也可以设置不同的颜色来加以区分,支持其他标准的编辑操作,还可以设置字体的大小,TAB键的宽度以及工具链中参数的设置。
2编译模块
支持BWDSP100格式汇编语言和标准C语言的源文件编译,并能够提供详细的准确的编译信息,如错误文件名、行号、错误原因等。
3调试管理模块
调试器(Debugger)集成了指令集模拟器(Simulator)、硬件仿真器(Emulator)等,而且采用了相同了功能和统一的图形交互界面。调试器支持汇编级和C级代码调试,可以同时查看编辑窗口、输出窗口、反汇编窗口、跟踪变量等。在调试源文件时,可以在标号或地址上设置断点,也可以在寄存器、存储器、堆栈的位置上设置条件观察点等。
支持多处理器调试,在统一界面上最多可以支持8片处理器的同时调试。多处理器可以同时操作,如指令单步,周期单步、连续运行,设置断点和挂起等,也可以只在某一个处理器上进行调试,查看其寄存器窗口和存储器,反汇编窗口,流水线观察窗口等等。图形界面的调试器支持汇编源代码级调试,可进行纯软件的模拟,也可以进行基于目标板的仿真,同时还可以模拟并行的I/O接口,外部中断和控制信号。同时,调试器提供了大量的性能统计工具,程序员可以用来分析和验证算法,如强大的绘图功能增强了数据的可视化能力,可以分析算法的正确性。
程序员可以在不干扰处理器运行的情况下访问处理器,这一独特功能是程序员能以被动方式获取重要代码的执行情况而不中断程序的实时操作,可以快速而有效的找出软件的瓶颈所在。通过使用性能统计工具,程序员可以将注意力集中到影响程序性能的区域并采取相应补救措施。整个调试器有输出、编辑、反汇编、表达式、局部变量、统计分析、寄存器、存储器、存储器映射、多处理器、目标载入、画图等功能窗口构成。在汇编程序时,程序员可以进行以下操作:
◆查看汇编代码;
◆插入断点,定制寄存器窗口;
◆根据寄存器,存储器和堆栈设置条件断点;
◆跟踪指令执行,查看指令流水;
◆对执行的程序进行统计性能分析;
◆对存储器进行Fill、Dump和绘图操作;
◆比较图的绘制,数据来源于文件或内存;
◆执行源程序级调试;
◆查看标准的输入输出信息。
4内存管理模块
◆较丰富的内存查看窗口,用户可以输入任何一个有效的地址或标签,内存查看窗口自动切换到输入地址处;
◆提供用户程序中的全局标签及对应地址,方便用户调试使用:
◆提供了导入导出功能,并提供了丰富的导入导出数据格式,如16进制,8进制等等,功能使用指南详见本章第四节开发步骤;
◆提供较丰富的二维和三维绘图功能。
5寄存器管理模块
◆提供一个全部寄存器选择窗口,供用户自己选择,方便简单,一次既可以选择一个组,也可选择多个或其中一个;
◆用户自定义寄存器组,一次配置,自动保存,用户不需重复配置;
◆把常用的寄存器组提出来放在菜单项上,便于用户快速查看寄存器。
6流水线管理模块
BWDSP100共有11级流水线,分别为取指3级、指令缓冲池3级、译码2级、取操作数一级、执行一级及写回一级,采用多级取指支持分支预测,减少流水线的性能开销。流水线的基本结构如图3所示。
7性能统计模块
调试器能够随机采样目标处理器并将采样结果数据以图形化的方式显示出来。通过跟踪、时间统计,程序员能够迅速发现DSP程序中什么地方最耗时间以及发现程序的瓶颈和需要进一步优化的程序块。也可以用调试产生中断、I/O输出、I/O输入等来仿真真实的应用环境。在程序运行过程中能够查看寄存器,存储器中数值的变化。性能统计模块主要功能如下:
◆统计每个执行宏中各运算单元的瞬间使用率;
◆统计每个执行宏中各运算单元的总使用率;
◆以图形化方式直观显示统计数据。
编译器
BWDSP100编译器(BWCC)采用的编译器基础设施是openimpact。移植过后的编译器能够用于处理支持ISO/C89标准的C程序生成BWDSP100可执行的代码;且BWCC支持通过编译制导支持C语言扩展,这些扩展是为了更好利用BWDSP100的底层体系结构。主要特性如下:
◆支持-O0,-O1优化选项;
◆支持-g选项下stabs格式调试信息的生成;
◆支持intrinsic内建函数;
◆支持pragma编译制导;
◆支持Windows2000和WindowsXP操作系统;
◆支持为BWDSP100定制的嵌入式汇编。BWCC基本数据类型如表1所示。
调试器
BWDSP100集成开发环境调试器提供两种调试模式:一是基于软件模拟器,称为模拟器调试模式(简称Simulator调试);二是基于硬件仿真器,称为仿真器调试模式(简称Emulator调试)。该调试器不仅支持单片调试,而且支持多处理器调试,多处理器调试的功能包括:管理多个处理器、控制多个处理器运行、同步运行多个处理器、访问一个处理器的状态信息等。支持多处理器调试的调试器是用户开发多处理器应用系统的高效工具。
1软件调试器
软件模拟调试是用软件模拟器(Simulator)模拟目标机,并在模拟器上调试目标程序的调试方法。模拟器核心是对目标机进行指令级或机器周期级模拟。软件模拟器与调试器一起运行在宿主机上,相当于虚拟的目标机,模拟器运行程序的行为与实际目标机一致。被调试的程序运行在模拟器上。集成开发环境集成了机器周期级指令集模拟器BWISS。BWISS可精确模拟每个时钟周期处理器的工作行为,包括分支预测、数据相关、中断和异常的处理等。BWISS使得用户在硬件板卡尚不具备之前就可以开展DSP的软件开发工作。
2硬件仿真器
硬件仿真调试是借助JTAG片上调试技术实现的,是完全基于硬件逻辑的调试。片上调试是在处理器内部加入额外的硬件调试模块,处理器的工作模式被分为正常模式和调试模式。当满足一定的条件时,处理器就进入调试模式。在调试模式下,处理器由硬件调试模块控制。调试器通过向硬件调试模块发送特定的调试命令实现相应调试操作。片上调试采用在线测试技术实现。调试中所获得的系统状态和故障是系统的真实反映,能够达到最大的调试准确性和调试效率。整个调试系统由三部分组成:调试器、在线仿真器(In-CircuitEmulator,ICE)和目标板。如图4所示。
集成开发环境中的调试器运行在主机上,用户借助调试器实现硬件仿真调试。在线仿真器(ICE)主要负责协议转换。调试器与ICE间通信可采用串口、USB或者以太网(Ethernet)。应用程序运行在目标板的DSP上,目标板上的被调试的DSP都被串联在JTAG链上。仿真调试系统支持最多4片DSP系统的调试。在调试前,用户需保证目标板和ICE正确上电启动、调试器与ICE间的物理通信成功连接。
应用
目前在集成开发环境下完成了处理器的一系列函数库的编写,包括常规库函数库和雷达信号处理函数库,编程语言采用BWDSP100相对应的汇编语言,编写的函数遵循C语言和BWDSP100汇编语言的统一接口规范,可以按C语言直接调用,编写的函数首先能被集成开发环境提供的软件模拟器中通过验证并完成所需要的功能。运行结果精度能达到一定的要求,执行效率能达到最高,并最终能在实际的处理器芯片上通过验证。其中32位浮点复数FFT运算和ADI公司的TS201芯片运算周期数对比如表2所示。
结束语
本文介绍的集成开发环境系统已经实现针对BWDSP100芯片的软件模拟和硬件仿真,在此平台上可以针对BWDSP100芯片进行应用开发和调试,系统已进行实际应用,效果较好,同时也反馈了一些非常好的建议和想法,为下一款升级版本提供了改进的思路。
作者:余锋林刘小明朱艳鲍华单位:中国电子科技集团第38研究所