该文章转载于:http://blog.csdn.net/shuaishuai80/article/details/6202210

以NandFlash测试程序为例来说明AXD工具使用方法.在CodeWarrior中执行Debug,ADS编译器会自动调用AXD工具.

(一)使用H-JTAG的AXD调试
(1)使用AXD工具前需要指定H-JTAG来调试开发板.
      开发板不上电,在CodeWarrior中执行Debug,ADS编译器自动调用AXD工具.在AXD界面内执行菜单Options/Configure Target,单击Add来添加H-JTAG配置文件.该配置文件是在H-JTAG安装目录下的H-JTAG.dll(常见安装目录c:/Program Files/H-JTAG/H-JTAG.dll).选中H-JTAG,单击Configure,这样就工程配置了AXD工具的H-JTAG.

(2)接入Debug串口线、USB线、JTAG线,打开H-JTAG代理调试软件、SecureCRT,打开开发板电源.注意,如果要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.

(3)在CodeWarrior中执行Debug,ADS编译器会自动调用AXD工具.如果AXD图标变色,说明已成功连接至开发板.

(4)配置SDRAM.由于需要将程序下载到SDRAM中运行,所以使用AXD调试前需要正确配置SDRAM.天祥电子提供了SDRAM的初始化脚本"2440init.txt",用户在运行AXD前应该先运行该初始化脚本.在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到该初始化脚本.注意,初始化脚本"2440init.txt"必须放在英文目录下.注意,再次运行AXD工具时,在AXD界面内的Command Line Interface可以看到AXD是否运行了该初始化脚本.

(5)AXD的简单调试

单击go按钮,可以运行程序.如果正常运行,程序会自动跳到main函数处.当程序没有跳到main函数时,表明程序已跑飞.单击stop按钮,可以停止程序的运行.
   <1>再次单击go按钮,在SecureCRT内会打印出调试信息.
   <2>输入2,选择NandFlash K9F2G08.在SecureCRT内列出测试选项.
   <3>输入0: 读取NandFlash ID号.
   <4>输入1: 复位NandFlash.
   <5>输入2: 擦除NandFlash,并输入要擦除的块.输入1,擦除Block 0.
   <6>输入3: 读取页数据,并输入要读取的块,输入1;输入要读取的页,输入2.
   <7>输入4: 页写入,并输入要写入的块,输入2;输入要写入的页,输入1.

(二)使用J-Link的AXD调试

如果用户的计算机没有并口,也可以使用J-link来连接开发板.

(1)安装J-link驱动.
(2)将J-link的一端接计算机的USB口,另一端接开发板的JTAG端口.
(3)接入Debug串口线、USB线,打开H-JTAG代理调试软件、SecureCRT,打开开发板电源.如果J-link绿灯亮起,表明连接正常.
(4)关闭开发板电源,添加J-link配置文件.
    在AXD界面内执行菜单Options/Configure Target,单击Add来添加J-link配置文件.该配置文件是在J-link安装目录下的JLinkRDI.dll.常见安装目录c:/Program Files/SEGGER/JLinkARM_V402a/JLinkRDI.dll.选中Multi-ICE,单击Configure,这样就配置了AXD工具的J-link.
(5)在CodeWarrior中执行Debug,ADS编译器会调用AXD工具.如果AXD图标变色,说明已成功连接至开发板.注意,如果要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.
(6)配置SDRAM.由于需要将程序下载到SDRAM中运行,所以使用AXD调试前需要正确配置SDRAM.天祥电子提供了SDRAM的初始化脚本"2440init.txt",用户在运行AXD前应该先运行该初始化脚本.在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到该初始化脚本.注意,初始化脚本"2440init.txt"必须放在英文目录下.在AXD界面内的Command Line Interface,可以看到AXD是否运行了该初始化脚本.
(7)单击go按钮,可以运行程序.如果正常运行,程序会自动跳到main函数处.当程序没有跳到main函数时,表明程序已跑飞.单击stop按钮,可以停止程序的运行.再次单击go按钮,在SecureCRT内会打印出调试信息.
    <1>输入2,选择NandFlash K9F2G08.在SecureCRT内列出测试选项.
    <2>输入0: 读取NandFlash ID号.
    <3>输入1: 复位NandFlash.
    <4>输入2: 擦除NandFlash,并输入要擦除的块.输入1,擦除Block 0.
    <5>输入3: 读取页数据,并输入要读取的块,输入1;输入要读取的页,输入2.
    <6>输入4: 页写入,并输入要写入的块,输入2;输入要写入的页,输入1.

(8) 如何查看常用寄存器值?

通过查看内存中寄存器的地址中数据。以查看下面GPFCON和GPFDAT寄存器值为例:

ldr   r0,=GPFCON

ldr   r1,=0x0055

str   r1,[r0]

ldr   r0,=GPFDAT

ldr   r1,=0x00

str   r1,[r0]

已知:GPFCON的地址为0x56000050,GPFDAT的地址为0x56000054,通过AXD的内存查询如下:输入查询寄存器GPFCON地址

由上图可知:(GPFCON)=0x0000 0055 与程序设置值一致  ,(GPFDAT)=0xF0与程序设置不同。原因待查。

(三)AXD常见问题分析
(1)单击debug按钮后进入AXD调试界面,单击go(全速运行),但程序总是跑飞.跑飞的现象是单击停止按钮,出现如下图所示,图中都是汇编语言. 
   解决步骤:
   <1>在AXD界面内执行菜单Options/Configure Target,查看是否添加了H-JTAG配置文件.
   <2>在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到SDRAM初始化脚本"2440init.txt".注意,初始化脚本"2440init.txt"必须放在英文目录下.注意,再次运行AXD工具时,在AXD界面内的Command Line Interface可以看到AXD是否运行了该初始化脚本.
   <3>要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.

之前使用AXD调试,经常出现死机的原因就是nand flash有程序。擦除后,死机次数明显减少。
   <4>如果执行了以上的步骤,程序仍然跑飞,则需要关闭AXD,关闭开发板电源.然后再次上电,再次进行Debug调试.

AXD Debugger相关推荐

  1. 4 CodeWarriorAXD Debugger

    ARM开发环境搭建 1 RVDS2.2 2 JLinkARM_V402d Step 0 安装U-Boot到OK6410 1 启动J-Link GDB Server 2 启动CodeWarrior fo ...

  2. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据

    前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...

  3. ADS1.2开发环境创建与简要介绍

    ADS1.2下建立工程 1.运行ADS1.2集成开发环境(CodeWarrior for ARM Developer Suite),点击File|New,在New对话框中,选择Project栏,其中共 ...

  4. linux boot 缺省状态,Bootload启动过程全描述(uclinux)【转载】

    一.Bootloader 理论上,uClinux引导时并非一定需要一个独立于Kernel Image的Bootloader Image.然而,将Bootloader与Kernel分开设计能够使软件架构 ...

  5. 如何在win10 安装ADS1.2

    小言 因为ADS1.2是比较老旧的版本,所以对于想要在win10下安装ads1.2的骚年会存在种种的问题,本人也是为了做嵌入式实验需要安装ADS,才想办法在win10下安装ADS1.2. (ps.因为 ...

  6. RealView Development Suite 4.0 Professional安装

    我所做的嵌入式系统以ARM为主,用的开发工具是ADS1.2,这套工具说实话不甚好用,尤其是用过了Eclipse编写Java和C的程序以后,对ADS的编辑器CodeWarrior简直到了深恶痛绝的地步, ...

  7. ADS1.2+2440+j-link(亲测)

    一.总括. 首先,偶是十足的一个菜鸟,偶接触 ARM 还不到 4 天时间,所以所书写的文档会 有很多不足之处,希望高人指点. 偶的板上本来可以利用 VIVI 下载程序了,偶是从 AVR 上转过来的,从 ...

  8. CodeWarrior IDE

    (一)ADS介绍      ADS(ARM Developer Suite)是ARM处理器下最主要的开发工具,在1993年由Metrowerks公司开发.ADS只是用于编写无操作系统下的硬件程序,即裸 ...

  9. Jlink在ADS下的配置说明及常见问题解决办法 (转载)

    **原文地址:[Jlink在ADS下的配置说明及常见问题解决办法] (http://www.360doc.com/content/13/1124/23/6844270_331917942.shtml) ...

  10. Jlink在ADS下的配置说明及常见问题解决办法

    阅读1087次 2013/4/2 21:04:37 Jlink在ADS下的配置说明及常见问题解决办法Zhaoxj 参考文档: *1.TQ2440开发板使用手册V3.2_20121203.pdf 2.J ...

最新文章

  1. local_response_normalization 和 batch_normalization
  2. python颜色填充代码_在python tu中用颜色填充形状
  3. linux 下安装JDK
  4. pg_resetxlog清理的pg_xlog下的WAL日志
  5. 全球最大的第一视角视频数据集开源,取自真实生活,还能提升厨艺
  6. 前端-JavaScript1-6——JavaScript之变量类型的转换
  7. Composite UI Application Block(CAB)
  8. SAP FICO财务入门视频教程——适合新手入门学习
  9. 本科计算机的逻辑学,逻辑学本科专业介绍
  10. android时间24小时,安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义...
  11. 【DL】血与泪的炼丹心得
  12. EBS之阻止保存,阻止删除
  13. Fragment懒加载,上岸蚂蚁金服
  14. ElasticSearch快速入门实战
  15. Cordys BOP 4平台开发入门实战演练——会签流程建模开发
  16. 翻译英语的软件-免费翻译软件-各种语言互相翻译
  17. 虚拟主机如何连接MYSQL数据库呢?
  18. javascript代码大全
  19. C1-见习工程师(计算机通识)
  20. 网易云课堂Java入门视频课程

热门文章

  1. 四种平均数的数学公式
  2. 信息学奥赛一本通|1179:奖学金
  3. 家用风扇控制系统c语言程序设计,数字风扇控制系统的设计
  4. 2019-11-29奈奎斯特和香农定理
  5. ESP8266-Arduino编程实例-SHT40温湿度传感器驱动
  6. 【营销学堂】从饥饿营销到口碑营销
  7. HashSet模拟新浪微博用户注册
  8. BIOS修改mbr为gpt的步骤
  9. vs官网下载安装太慢的问题解决
  10. littleVGL开发(8):消息弹窗控件(lv_mbox)