通常所说的大致分两类, 一类用于测试芯片的电气特性, 检测芯片是否有问题
;
一类
用于
Debug;
一般支持的
CPU
内都包含了这两个模块。
一个含有
Debug
接口模块的
CPU
,只要时钟正常,就可以通过
JTAG
接口访问
CPU
的内部
寄存器和挂在
CPU
总线上的设备,女口
FLASH ,RAM ,SOC(
比如
4510B ,44Box
,
AT91M
系列
)
内置模块的寄存器,象
UART
,
Timers
,
GPIO
等等的寄存器。上面说的 只是
JTAG
接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能 则由具体的
软件决定。例如下载程序到
RAM
功能。了解
SOC
的都知道,要使用外接 的
RAM
,需要参照
SOCDataSheet
的寄存器说明,设置
RAM
的基地址,总线宽度, 访问速度等等。有的
SOC
则
还需要
Remap
,才能正常工作。运行
Firmware
时,这些 设置由
Firmware
的初始化程序完
成。但如果使用
JTAG
接口,相关的寄存器可能还处 在上电值,甚至时错误值,
RAM
不能正
常工作,所以下载必然要失败。要正常使用, 先要想办法设置
RAM
。在
ADW
中,可以在
Console
窗口通过
Let
命令设置, 在
AXD
中可以在
Console
窗口通过
Set
命令设置。
面是一个设置
AT91M40800
的命令序列,关闭中断,设置
CS0-CS3,
并进行
Remap
,适用于
AXD(ADS
带的
Debug)
setmem 0xfffff124,0xFFFFFFFF,32---
关闭所有中断
setmem 0xffe00000,0x0100253d,32--- CS0
0xffe00004,0x02002021,32---
设置
CS1
setmem 0xffe00008,0x0300253d,32---
setmem 0xffe0000C,0x0400253d,32---
setmem 0xffe00020,1,32---Remap
如果要在
ADW(SDT
带的
DEBUG)
中使用,则要改为:
设置
CS2
设置
CS3