AXD Debugger
该文章转载于: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相关推荐
- 4 CodeWarriorAXD Debugger
ARM开发环境搭建 1 RVDS2.2 2 JLinkARM_V402d Step 0 安装U-Boot到OK6410 1 启动J-Link GDB Server 2 启动CodeWarrior fo ...
- ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据
前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...
- ADS1.2开发环境创建与简要介绍
ADS1.2下建立工程 1.运行ADS1.2集成开发环境(CodeWarrior for ARM Developer Suite),点击File|New,在New对话框中,选择Project栏,其中共 ...
- linux boot 缺省状态,Bootload启动过程全描述(uclinux)【转载】
一.Bootloader 理论上,uClinux引导时并非一定需要一个独立于Kernel Image的Bootloader Image.然而,将Bootloader与Kernel分开设计能够使软件架构 ...
- 如何在win10 安装ADS1.2
小言 因为ADS1.2是比较老旧的版本,所以对于想要在win10下安装ads1.2的骚年会存在种种的问题,本人也是为了做嵌入式实验需要安装ADS,才想办法在win10下安装ADS1.2. (ps.因为 ...
- RealView Development Suite 4.0 Professional安装
我所做的嵌入式系统以ARM为主,用的开发工具是ADS1.2,这套工具说实话不甚好用,尤其是用过了Eclipse编写Java和C的程序以后,对ADS的编辑器CodeWarrior简直到了深恶痛绝的地步, ...
- ADS1.2+2440+j-link(亲测)
一.总括. 首先,偶是十足的一个菜鸟,偶接触 ARM 还不到 4 天时间,所以所书写的文档会 有很多不足之处,希望高人指点. 偶的板上本来可以利用 VIVI 下载程序了,偶是从 AVR 上转过来的,从 ...
- CodeWarrior IDE
(一)ADS介绍 ADS(ARM Developer Suite)是ARM处理器下最主要的开发工具,在1993年由Metrowerks公司开发.ADS只是用于编写无操作系统下的硬件程序,即裸 ...
- Jlink在ADS下的配置说明及常见问题解决办法 (转载)
**原文地址:[Jlink在ADS下的配置说明及常见问题解决办法] (http://www.360doc.com/content/13/1124/23/6844270_331917942.shtml) ...
- Jlink在ADS下的配置说明及常见问题解决办法
阅读1087次 2013/4/2 21:04:37 Jlink在ADS下的配置说明及常见问题解决办法Zhaoxj 参考文档: *1.TQ2440开发板使用手册V3.2_20121203.pdf 2.J ...
最新文章
- local_response_normalization 和 batch_normalization
- python颜色填充代码_在python tu中用颜色填充形状
- linux 下安装JDK
- pg_resetxlog清理的pg_xlog下的WAL日志
- 全球最大的第一视角视频数据集开源,取自真实生活,还能提升厨艺
- 前端-JavaScript1-6——JavaScript之变量类型的转换
- Composite UI Application Block(CAB)
- SAP FICO财务入门视频教程——适合新手入门学习
- 本科计算机的逻辑学,逻辑学本科专业介绍
- android时间24小时,安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义...
- 【DL】血与泪的炼丹心得
- EBS之阻止保存,阻止删除
- Fragment懒加载,上岸蚂蚁金服
- ElasticSearch快速入门实战
- Cordys BOP 4平台开发入门实战演练——会签流程建模开发
- 翻译英语的软件-免费翻译软件-各种语言互相翻译
- 虚拟主机如何连接MYSQL数据库呢?
- javascript代码大全
- C1-见习工程师(计算机通识)
- 网易云课堂Java入门视频课程