2.3 嵌入式通信系统的开发工具
通用计算机具有完善的人机接口界面,其系统资源非常丰富,只要增加一些开发的引用程序即可对其自身进行开发。而嵌入式系统本身不具备自足开发的能力,一般情况下其系统资源都不能满足在本系统上进行程序代码调试所需的最低要求。因此,在进行嵌入式系统开发时需要特殊的开发工具,程序员才能调试运行在目录系统中的程序。这些工具最少必须具有以下3种关键能力:
①可方便地控制目标处理器的运行;
②可方便地更新目标系统中的程序代码;
③提供对目标系统无干扰的、实时的运行监控。
当进行嵌入式系统开发时,选择合适的开发工具可以加快开发进度、降低开发成本。因此,一套含有编辑软件、编译软件、汇编软件、连接软件、调试软件、工程管理以及函数库的集成开发环境(Integrated Development Environment,IDE)是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具,则可以根据应用软件规模和开发计划选用。
嵌入式系统的开发工具种类繁多,可以是纯软件的,如指令集模拟器(Instruction Set Simulator,ISS)、调试器;也可以为软硬件结合的,如集成开发环境与在线仿真器。有时还要辅助使用一些通用的或专用的测试设备,如示波器、存储示波器、逻辑分析仪。除了指令集模拟器,嵌入式系统的开发工具由两个部分组成:调试器前段(Debugger Front End,DFE)和目标代理(Target Agent)。
目标代理的作用是控制目标机的运行和搜索目标机的运行状态和运行数据。目标代理可以是一个驻留在目标机中的应用程序、集成在目标处理器中的调试接口或者是一个独立的硬件设备、如Linux下得GDB Server、JTAG、在线仿真器、逻辑分析仪、性能分析仪等。
调试器前段通过通信信道与目标代理进行通信,可控制目标代理进而控制目标机。调试器前段也称为GUI,一般是运行在调试主机上的IDE。一般可分为图形用户界面和命令行界面,现在一般都同时提供这两种界面。
对于开发人员来说,能否熟练和灵活地使用调试器前段是开发成功的前提。而一般不必关心目标代理,除非需要自己来开发或移植。
目前比较常用的嵌入式系统开发工具包括ARM SDT、ARM ADS、Green Hill Tools以及集成了GUN开发工具的IDE开发环境等。