源代码浏览器,它保存了在源码中定义的所有符号,能够使用户在源码中快速方便的跳转;
查找和替换功能,用户可以在多个文件中,利用字符串通配符,进行字符串的搜索和替换;
文件比较功能,可以使用户比较路径中的不同文本文件的内容。
ADS的CodeWarrior IDE是基于Metrowerks CodeWarrior IDE 4.2版本的。它经过适当的裁剪以支持ADS工具链。
针对ARM的配置面板为用户提供了在CodeWarrior IDE集成环境下配置各种ARM开发工具的能力。
以ARM为目标平台的工程创建向导,可以使用户以此为基础,快速创建ARM和Thumb工程。
尽管大多数的ARM工具链已经集成在CodeWarrior IDE,但是仍有许多功能在该集成环境中没有实现,这些功能大多数是和调试相关的,因为ARM的调试器没有集成到CodeWarrior IDE中。
由于ARM调试器(AXD)没有集成在CodeWarrior IDE中,这就意味着,用户不能在CodeWarrior IDE中进行断点调试和查看变量。
2、ADS调试器
这里所说的调试器本身是一个软件,用户通过这个软件并配合调试代理(debug agent)可以对包含有调试信息的,正在运行的可执行代码进行比如变量的查看,断点的控制等调试操作。
调试代理执行调试器发出的命令,如:设置断点,单步运行,从存储器中读数据,把数据写到存储器等。调试代理既不是被调试的程序,也不是调试器。在ARM体系中,它可能是下面几种情况中的一个:
1)在线实时仿真器
在线实时仿真器通过JTAG端口与目标机进行连接,可以实现对ARM处理器的在线、实时调试,且不占用系统资源。
Multi-ICE(Multi-processor in-circuit emulator)是ARM公司自己的JTAG在线实时仿真器。它支持全系列的ARM核,通过并口与PC机连接,数据接口为8位。Multi-ICE内部采用FPGA实现并口到JTAG的协议转换,速度很快,下载速度可在120kByte/s左右。
本章下节将要提到的ADT 1000A仿真器也是一种在线实时仿真器。
2)ARMulator
ARMulator即软件模拟器,它独立于处理器硬件,是一种有效的源程序检验和测试工具。但是,模拟器毕竟只是以一种处理器模拟另一种处理器的运行,在指令执行时间、中断响应、定时器等方面与实际处理器有相对大的差别。
ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介)
3)Angel
Angel为一个运行于目标机上的监控程序,它在调试器和目标板之间通过一定的通信方式,如:串口通信,为用户提供各种调试功能。这种方式需要占用目标机系统资源,如串口、ROM、RAM等。
ADS中包含有3个调试器:
1)AXD(ARM eXtended Debugger):ARM扩展调试器;
2)armsd(ARM Symbolic Debugger):ARM符号调试器;
3)与老版本兼容的Windows或Unix下的ARM调试工具,ADW/ADU(Application Debugger Windows/Unix)。
4.3.4 实用程序
此外,ADS还提供了许多实用工具,下面简单的介绍开发中经常用到的程序:
1、fromELF
这是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain binary(BIN格式映像文件), Motorola 32-bit S-record format(Motorola 32位S格式映像文件), Intel Hex 32 format(Intel 32位格式映像文件),和 Verilog-like hex format(Verilog 16进制文件)。FromELF命令也能够为输入映像文件产生文本信息,例如代码和数据长度。
2、armar
ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。
3、Flash downloader
用于把二进制映像文件下载到ARM开发板上的Flash存储器的工具
4.3.5 支持的软件
ADS为用户提供下面的软件,使用户可以在软件仿真的环境下或者在基于ARM的硬件环境调试用户应用程序。
ARMulator
这是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序代码。
4.4 ADT IDE简介
4.4.1 ADT IDE集成开发环境
1. ADT IDE简介
ADT IDE是一套应用于嵌入式软件开发的新一代集成开发环境,它提供高效、清晰、可视化的嵌入式软件开发平台,包括一整套完备的面向嵌入式系统的开发和调试工具:编辑器、编译器、链接器、工程管理器以及调试器等。ADT IDE运行于Windows NT、95、98、2000及XP,采用类Visual Stdio界面风格,其界面如图4-2所示。
ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介)
图4-2 ADT IDE集成开发环境软件界面图
2. ADT IDE主要特性
◆ 中文、英文版本支持
◆ 操作系统支持
★ 支持Vxworks,uCLinux,Linux,Nucleus等操作系统的开发和调试。
◆ 可视化的源码编辑和工程管理功能:
★ 界面友好,使用方便:类似MS Visual Studio的用户界面,支持打印功能,支持文件内查找功能和Find in Files功能。
★ 工程管理器:ADT IDE提供图形化的工程管理工具,以project为单位为用户提供应用源程序的文件组织和管理,管理用户的应用程序,编译链接选项以及调试参数等。
★ 源码编辑器:支持标准的文本编辑功能,支持C语言、汇编语言语法高亮显示。 ★ 辅助编辑工具:提供多剪贴板工具、代码模板工具、头文件和源文件切换工具、注释工具、符号配对书写工具等多种辅助编辑工具。
◆ 交叉编译功能:
★ 支持开发语言:ANSI C;Embedded C++;汇编语言。
★ 编译工具:使用著名优秀自由软件GNU的GCC交叉编译工具,并经过优化和严格测试,支持C语言、汇编语言等。
★ 编译参数设置:完全图形界面方式的编译参数设置,提供可视化的设置功能。支持工程级/文件目录级/文件级编译参数设置。
◆ 强大的源代码级调试功能:
★ 图形和命令行两种调试方式。
ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介)
★ 断点功能:支持软件断点和硬件断点,实现断点设置、断点屏蔽、断点取消、断点列表。
★ 程序的单步执行。
★ 变量监视功能:随程序运行同步更新变量,即时修改变量值,可设置自动刷新方式、十进制/十六进制显示。