http://blog.chinaunix.net/u/26710/showart_257051.html
本文简单介绍如何使用JTAG仿真器将映像文件下载到SRAM中进行调试。
我使用的JTAG仿真器是Banyan-U ARM EMULATOR,该仿真器可以自动检测CPU类型,支持PXA270处理器。另外,随盘附带有FLASH烧写工具(FlashAccess和FlashWrite)。
首先安装JTAG仿真器的上位机后台服务程序,然后连接好仿真器和主机以及ARM处理器,自动安装好设备驱动。通过配置AXD的Configure Target...选项,将该仿真器后台服务程序动态库Banyan.dll加入进来,这样,就可以在AXD环境下使用该仿真器进行程序调试了。
将带调试信息的*.axf映像文件加载到ARM处理器内部的SRAM中进行调试是最简单快捷的方式之一。过程如下:
首先要了解ARM处理器的内部SRAM的地址空间(包括起始地址和大小),一般ARM处理器内部都有几十K~几百K的SRAM,对于PXA270处理器,内部有256K的地址连续的SRAM,分为4个BANK,起始地址为0x 5c 000000。对于一些小型程序的调试,这个空间也已经足够了。
其次,要在CodeWarrior中设置工程的链接属性,在Edit-> DebugRel Settings-> Linker-> ARM Linker中设置映像的RO段基地址为0x 5c 000000,当然也可以设置为SRAM空间的其他地址,不过要注意映像文件大小不要超过SRAM地址空间。
最后,编译工程生成*.axf映像文件,启动AXD,通过File->Load Image...选项加载映像,这样,映像文件就被加载到前面设定的RO BASE为起始地址的SRAM空间中。
如何检查映像文件是否被正确或成功地加载到了SRAM中呢?在AXD的源代码窗口点鼠标右键,选择Interleave Disassembly,如果看到各条代码在SRAM中对应地址的正确的机器码,就说明映像被成功加载了。