好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

11.ADS使用详解.ppt

25页
  • 卖家[上传人]:油条
  • 文档编号:26696305
  • 上传时间:2017-12-30
  • 文档格式:PPT
  • 文档大小:2.94MB
  • / 25 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • ADS1.2应用,实物图,实物说明图,ADS模板,,,由ARM指令的代码生成一个ELF 格式的可执行映象文件,,由ARM指令的代码生成一个armar 格式的目标文件库,,创建一个不包含任何库或者源文件的工程,,将VC的nmake或GNUmake文件转入到Code Warrior IDE 工程文件,,由ARM和Thumb的指令混合代码生成一可执行的ELF格式的映象文件,,由Thumb指令创建一个可执行的ELF格式的映象文件,,由Thumb指令的代码生成一个armar格式的目标,创建工程,一般情况下选择第一项,然后在“Project name:”栏输入工程名称,在“Location:”栏指定路径,例如工程名称为“Hello”,点击确定后工程建立工程管理窗口,工程建立以后将生成一个空的工程管理窗口,如下图所示:,,点击此项添加或新建源文件,鼠标右击此区域进行文件的添加,添加文件到Target,在添加文件的过程中CodeWarrior IDE 为用户建立了三个Target:DebugRel、Realse、Debug 这三个Target 分别表示三种调试方式DebugRel:在生成目标的时候 为每一个源文件生成调试信息。

      Debug:为每一个源文件生成最 完全的调试信息Release :不生成任何调试信息 一般默认选择“DebugRel”配置生成目标,,单击此图标或ALT+F7进行设置,Debug Setting,,改为ARM920T,ARM LINKER设置,0X30000000是开发板SDRAM的真实地址,0X31000000是系统可读写内存的地址,二者之间是只读区域,存放程序的代码段,之后是程序的数据段RO表示只读,RW表示读写,RO栏默认是0x8000,需要根据实际硬件进行更改,一般为FLASH 地址,RO也可以设置在SDRAM 中,启动代码中包含COPY 的部分,会将代码移动到SDRAM中运行Options选项,,Image entry point表示映象文件的入口地址,文件路径必须是纯西文的Layout选项,Layout选项在连接方式位simple时有效,是输入段在映像文件中的位置该项用于指定将某输入段放置在它所运行时域的开头Object/Symbol中指定目标文件的名称init.s,在Section中指定输入段的名称init,确定源文件中的init输入段位指定的输入段ARM from ELF设置,Output file name,参照上图进行输出文件名称和路径的设置,须带上扩展名.bin 或者.hex。

      当工程文件是从别处copy 过来的时候请记得对该路径进行重新设置,不然将出现警告提示 到此为止已经完成基本设置,接下来可以进行编译和链接Remove Object Code操作,如果工程文件是从别处copy过来的,在编译之前还要Remove Object C-ode该选项在“Pr-oject”菜单下面如果红圈内的.c 文件前面没有勾图标,表示该工程已经编译链接通过,如果需要重新编译则需要先进行“Remove Object Code”操作以去除一些和路径、目标文件等有关联的信息AXD调试流程,AXD(ARM eXtended Debugger)是ADS 软件中独立于CodeWarrior IDE 的图形软件,打开AXD 软件,默认是打开的目标是ARMulator这个也是调试时最常用的一种调试工具,即软件仿真 要使用AXD 必须首先要生成包含有调试信息的程序,即*.axf 文件,该类文件包含有调试信息的可执行ELF 格式的映像文件在AXD中打开调试文件,有两种方法打开AXF文件:在make 完成后通过“Project”->“Debug”或者F7 进入AXD;还可以通过“开始”->“程序”->“ARM Developer Suite”->“AXD”打开AXD,然后再在菜单“File”中选择“Load image…”选项,打开Load Image 对话框,找到要装载的.axf 映像文件,点击“打开”按钮,就把映像文件装载到目标内存中了。

      在所打开的映像文件中会有一个蓝色的箭头指示当前执行的位置在菜单Execute 中选Go,将全速运行代码;选Step项或F10进行单步的代码调试,窗口中蓝色箭头会发生相应的移动选择Toggle Breakpoint或F9,会在光标所处出现一个实心圆点,即断点注意事项,选择调试目标,进入AXD 后通过Option->Configure Target…选择调试目标由于当前采用“ARMulator”进行软件仿真,故选择ARMUL,如下图所示:,查看存储器内容,在程序运行前,可以先查看两个宏变量IOPMOD 和IOPDATA 的当前值方法是:从Processor Views 菜单中选择“Memory”选项因为I/O 模式控制寄存器和I/O 数据控制寄存器都是32位的控制寄存器,所以从0x3ff5000 开始的连续四个地址空间存放的是I/O 模式控制寄存器的值,I/O 数据控制寄存器的内容是从地址0x3FF5008 开始的连续四个地址空间存放的内容IODATA 中的初始值为0x E7FF0010,因为用的是小端模式,所以读数据的时候注意高地址中存放的是高字节,低地址存放的是低字节设置断点,将光标定位在欲设置断点语句处,按F9在此处设置断点,按F5 键程序将运行到断点处,想查看某个函数是如何运行的,可在Execute 菜单中选择Step In选项,或按F8 键,进入到子函数内部进行单步程序的调试。

      查看变量,在函数的内部,如果希望查看某个变量的值,可以在Processor Views 菜单中选择“Watch”,会出现如下图所示的watch窗口,然后用鼠标选中变量右击,在快捷菜单中选中“Add to watch”,这样变量添加到watch窗口的Tab1中程序运行过程中可看到变量的值在不断变化Codewarrior使用小技巧,有时双击打开工程文件时,会出现下图这样的错误提示:,说明该工程文件的路径包含了中文,不能双击打开只能通过“file” →“open”来打开最好不要将工程放在中文路径下利用codewarrior快速查找,CodeWarrior是一个优秀的集成开发环境,在Co-deWarrior里查找函数原型,查找包含文件非常方便。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.