1. 启动 AXD
先启动 DragonICE Server 程序.
按如下步聚启动 AXD:
开始>所有程序>ARM Developer Suite v1.2>AXD Debugger
2. 装载仿真器库文件
从 AXD 菜单的 Options> Configure Target...启动”Choose Target”目标板配置窗口.
在”Choose Target”窗口中,点击”Add”按钮,选择仿真器的库文件. 我的仿真器服务器程序安装在 c:\DragonICE 下,所以选择项 c:\DragonICE\dragonice.dll 文件.
3. 为 AXD 在线仿真配置仿真器
在"Target Environments"中选中 DragonICE 中,点击右边的"Configure"按钮.
在”FJB DragonICE Release v1.2”窗口点击"This computer..."按钮,再点击"OK"按钮。 回到”Choose Target”窗口,点击"OK"按钮。完成配置.
回到主界面, 在右边的”Target”窗口会出现 ARM920T_0.这表明 AXD 已经进入 ARM 板的在线仿真状态. 点击菜单"System Views">"Controls Monitors".会出现"ARM920TRegister"窗口.此时,会显示当前 ARM 板上所 有寄存器的状态。
4. 配置 ARM 板
如果 ARM 板通电后,没有程序运行并把内存区控制寄存器配置好的说,外部 RAM 是不能使用的. 所以必须 通过仿真器来设置这些寄存器. 如果 ARM 板已经有启动程序并且已经配置好, 这一步可以省略.
首先把 2410cfg.txt 拷贝到 c:\下.
回到 AXD 主界面, 从菜单”System Views” > “Command Line Interface”。会出现一个 Command Line Interface 的调试命令行窗口,并显示如下提示符:
Debug >
输入 obey c:\2410cfg.txt 装载所有配置命令. Debug >obey c:\2410cfg.txt
5. 2410cfg.txt 文件说明 sreg psr, 0x00000013
;设置当前 CPSR 的值, 把 CPU 的模式切换到 SVC 模式和 32 位指令集, 关闭 IRQ 和 FIQ。
smem 0x53000000,0,32
;设置看门狗控制寄存器 WTCON
;禁止看门狗定时器
smem 0x4C000004,((0x74<<12)+(0x3<<4)+0x1),32
;设置主频率设置寄存器 MPLLCON
;目前 CPU 的工作频率 FCLK 是 124.00MHz smem 0x4C000014,0x3,32
;设置时钟分频寄存器 CLKDIVN
;设置 FCLK/HCLK/PCLK 的频率比例 1:2:4
smem 0x48000000,((2<<28)+(2<<24)+(1<<20)+(1<<16)+(1<<12)+(1<<8)+(1<<4)+0),32
;设置内存总线控制 BWSCON
;SDRAM BANK 6&7 is 32 位
;其它 BANK is 16 位
smem 0x48000004,((3<<13)+(3<<11)+(7<<8)+(3<<6)+(3<<4)+(3<<2)+3),32
;设置寄存器区 0 控制寄存器:BANKCON0 smem 0x4800001c,((3<<15)+(1<<2)+1),32
;设置寄存器区 6 控制寄存器: BANKCON6(SDRAM)
;RAS to CAS 延时 3 时钟周期
;列地址是 9 位
smem 0x48000020,((3<<15)+(1<<2)+1),32
;设置寄存器区 7 控制寄存器: BANKCON7(SDRAM)
;RAS to CAS 延时 3 时钟周期
;列地址是 9 位
smem 0x48000024,((1<<23)+(3<<18)+(2<<16)+1113),32
;set 外部 RAM 刷新寄存器:REFRESH
;允许自刷新
;HCLK=FCLK/2, 60MHz,刷新计算器是 1113 smem 0x48000028,0x31,32
;设置寄存器的大小
;禁止 burst 操作
;允许 SDRAM power down 模式
;SCLK 在访问期间仍在活动状态
;SDRAM 模式寄存器设置 smem 0x4800002c,0x30,32 smem 0x48000030,0x30,32
使用 AXD 在线仿真调试程序
1. 装载可执行的文件
AXD 只支持.axf 格式的可执行文件.
启动 AXD, 在菜单的 File 中,选择 Load Image..., 选择 c:\adsbloadter\prj\prj_Data\DebugRel\prj.axf 加载执行 image. 就可以执行并调试了. AXD 提供了非常方便的调试手段, 包括在线单步, 自由设置断点等.