8.1.2.2库路径结构库路径是在ADS软件安装路径的lib目录下的两个子目录。假设,ADS软件安装在e:\arm\adsv1_2目录,则在e:\arm\adsv1_2\lib目录下的两个子目录armlib和cpplib是ARM的库所在的路径。
armlib
这个子目录包含了ARM
cpplib
这个子目录包含了Rogue
环境变量ARMLIB必须被设置成指向库路径。另外一种指定ARM
无需对armlib和cpplib这两个库路径分开指明,链接器会自动从用户所指明的库路径中找出这两个子目录。
这里需要让读者特别注意的以下几点:
1.ARM
CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。用户可以使用ADS的CodeWarrior
1.全面的项目管理功能;2.子函数的代码导航功能,使得用户迅速找到程序中的子函数。可以在CodeWarrior
在CodeWarrior
目标系统(Target
是特指代码要运行的环境,是基于ARM的硬件。比如,要为ARM开发板上编写要运行在它上面的程序,这个开发板就是目标系统。
生成目标(Build
是指用于生成特定的目标文件的选项设置(包括汇编选项,编译选项,链接选项以及链接后的处理选项)和所用的文件的集合。
CodeWarrior
CodeWarrior
源代码编辑器,它集成在CodeWarrior
源代码浏览器,它保存了在源码中定义的所有符号,能够使用户在源码中快速方便的跳转;
查找和替换功能,用户可以在多个文件中,利用字符串通配符,进行字符串的搜索和替换;
文件比较功能,可以使用户比较路径中的不同文本文件的内容。
ADS的CodeWarrior
针对ARM的配置面板为用户提供了在CodeWarrior
以ARM为目标平台的工程创建向导,可以使用户以此为基础,快速创建ARM和Thumb工程。
尽管大多数的ARM工具链已经集成在CodeWarrior
由于ARM调试器(AXD)没有集成在CodeWarrior
对于熟悉CodeWarrior
在CodeWarrior
1.View菜单下不能使用的菜单选项有:Processes,Expressions,Global
2.Project菜单不能使用的菜单选项:Precompile子菜单。因为ARM编译器不支持预编译的头文件。
3.Debug菜单该菜单中没有一个子菜单是可以使用的。
4.Browser菜单中不能使用的菜单选项:New
5.Help
有关CodeWarrior
8.1.3.2ADS调试器调试器本身是一个软件,用户通过这个软件使用debug
ADS中包含有3个调试器:
AXD(ARM
armsd(ARM
与老版本兼容的Windows或Unix下的ARM调试工具,ADW/ADU(Application
下面对在调试映像文件中所涉及到的一些术语做一个简单的介绍。
Debug
在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。即使调试器和要测试的软件运行在同一台PC上,也可以把目标当作一个独立的硬件来看待。
当然,也可以搭建一个PCB板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。
只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。
调试器能够发送以下指令:
1.装载映像文件到目标内存;2.启动或停止程序的执行;3.显示内存,寄存器或变量的值;4.允许用户改变存储的变量值。Debug
Debug
Debug
AXD可以在Windows
在后面的章节中,会结合具体实例为读者介绍如何使用AXD调试器。
8.1.4实用程序ADS提供以下的实用工具来配合前面介绍的命令行开发工具的使用
fromELF
这是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain
armar
ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。
Flash
用于把二进制映像文件下载到ARM开发板上的Flash存储器的工具
8.1.5支持的软件ADS为用户提供下面的软件,使用户可以在软件仿真的环境下或者在基于ARM的硬件环境调试用户应用程序。
ARMulator
这是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序代码。
8.2使用ADS创建工程本节通过一个具体实例,为读者介绍如何使用该集成开发环境,利用CodeWarrior提供的建立工程的模板建立自己的工程,并学会如何进行编译链接,生成包含调试信息的映像文件和可以直接烧写的Flash中的.bin格式的二进制可执行文件。