连风大神都没用过这个ADS1.2,什么破玩意儿啊,好像板子里面的资料也没有找到有这个软件,但是网上有滴,ADS1.2 集成开发环境的使用还是要会的,,,
ARM ADS 全称为ARM Developer Suite 。是ARM 公司推出的新一代ARM 集成开发工具。除了可以安装在WindowsNT4 、Windows 2000 、Windows 98 和Windows
95 操作系统之外,还支持Windows XP 和Windows Me 操作系统。就是没有win7,但是咨询大神,说是可以的,吓了我一跳呢。还好可以。
命令行开发工具:
ADS 提供下面的命令行开发工具:armcc(ARM C 编译器,用于将用ANSI C 编写的程序编译成32 位ARM 指令代码)
-c :表示只进行编译不链接文件;
-C : ( 注意:这是大写的C) 禁止预编译器将注释行移走;
-D<symbol> :定义预处理宏,相当于在源程序开头使用了宏定义语句#define symbol,这里symbol 默认为1 ;
-E :仅仅是对C 源代码进行预处理就停止;
-g<options> :指定是否在生成的目标文件中包含调试信息表;
-I<directory> :将directory 所指的路径添加到#include 的搜索路径列表中去;
-J<directory> :用directory 所指的路径代替默认的对#include 的搜索路径;
-o<file> :指定编译器最终生成的输出文件名。
-O0 :不优化;
-O1 :这是控制代码优化的编译选项,大写字母O 后面跟的数字不同,表示的优化级别就不同,-O1 关闭了影响调试结果的优化功能;
-O2 :该优化级别提供了最大的优化功能;
-S :对源程序进行预处理和编译,自动生成汇编文件而不是目标文件;
-U<symbol> :取消预处理宏名,相当于在源文件开头,使用语句#undef symbol;
-W<options> :关闭所有的或被选择的警告信息;
GUI 开发环境(Code Warrior 和AXD) :
1、CodeWarrior 集成开发环境
在CodeWarrior IDE 中所涉及到的target 有两种不同的语义。
目标系统(Target system)【是特指代码要运行的环境,是基于ARM 的硬件。比如,要为ARM 开发板上编写要运行在它上面的程序,这个开发板就是目标系统。】
生成目标(Build target)【是指用于生成特定的目标文件的选项设置( 包括汇编选项,编译选项,链接选项以及链接后的处理选项) 和所用的文件的集合。】
2、ADS 调试器(调试器本身是一个软件,用户通过这个软件使用debug agent 可以对包含有调试信息的,正在运行的可执行代码进行比如变量的查看,断点的控制等调试操 作。)
AXD(ARM eXtended Debugger) : ARM 扩展调试器;
armsd(ARM Symbolic Debugger) : ARM 符号调试器;
与老版本兼容的Windows 或Unix 下的ARM 调试工具, ADW/ADU(Application DebuggerWindows/Unix)。
下面对在调试映像文件中所涉及到的一些术语做一个简单的介绍。
Debug target
在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。即使调试器和要测试的软件运行在同一台PC 上,也可以把目标当作一个独立的硬件来看待。当然,也可以搭建一个PCB 板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。
调试器能够发送以下指令:
1)装载映像文件到目标内存;
2)启动或停止程序的执行;
3)显示内存,寄存器或变量的值;
4)允许用户改变存储的变量值。
Debug agentDebug agent 执行调试器发出的命令动作,比如:设置断点,从存储器中读数据,把数据写到存储器等。Debug agent 既不是被调试的程序,也不是调试器。在ARM 体系中,它有这几种方式: Multi-ICE(Multi-processor in-circuit emulator) , ARMulator 和Angel 。其中Multi-ICE 是一个独立的产品,是ARM 公司自己的JTAG 在线仿真器,不是由ADS 提供的。AXD 可以在Windows 和UNIX 下,进行程序的调试。它为用C , C++ ,和汇编语言编写的源代码提供了一个全面的Windows 和UNIX 环境。