您的位置 首页 基础

JTAG和支撑JTAG的CPU

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug。一般支持JTAG的CPU内都包含了这两个模块。一个含有JTAG Debug接口模块的CPU,只

  一般所说的JTAG大致分两类,一类用于测验芯片的电气特性,检测芯片是否有问题;一类用于Debug。一般支撑JTAGCPU内都包括了这两个模块。

  一个含有JTAG Debug接口模块的CPU,只需时钟正常,就能够经过JTAG接口拜访CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比方4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。

  下面是一个设置AT91M40800的指令序列,封闭中止,设置CS0-CS3, 并进行Remap,适用于AXD(ADS带的Debug)

  setmem 0xfffff124,0xFFFFFFFF,32 —封闭一切中止

  setmem 0xffe00000,0x0100253d,32 —设置CS0 0xffe00004,0x02002021,32 —设置CS1

  setmem 0xffe00008,0x0300253d,32 —设置CS2

  setmem 0xffe0000C,0x0400253d,32 —设置CS3

  setmem 0xffe00020,1,32 —Remap

  假如要在ADW(SDT带的DEBUG)中运用,则要改为:

  let 0xfffff124=0xFFFFFFFF —封闭一切中止

  let 0xffe00000=0x0100253d —设置CS0

  let 0xffe00004=0x02002021 —设置CS1

  let 0xffe00008=0x0300253d —设置CS2

  let 0xffe0000C=0x0400253d —设置CS3

  let 0xffe00020=1 —Remap

  为了便利运用,能够将上述指令保存为一个文件config.ini, 在Console窗口输入 ob config.ini 即可履行。

  运用其他debug,大体相似,仅仅指令和指令的格局不同。

  设置RAM时,设置的寄存器以及寄存器的值有必要和要运转程序的设置共同。一般编译生成的方针文件是ELF格局,或相似的格局,包括有方针码运转地址,运转地址在Link时分确认。

  Debug下载程序时依据ELF文件中的地址信息下载程序到指定的地址。假如在把RAM的基地址设置为0x10000000, 而在编译的时分指定Firmware的开端地址在0x02000000, 下载的时分,方针码将被下载到0x02000000,明显下载会失利。

  运用这种办法,比起FlashPGM的写Flash,速度好像要快一些。

  01关于简略JTAG电缆

  现在有各式各样简略JTAG电缆,其实仅仅一个电平转化电路,一起还起到维护效果。JTAG的逻辑则由运转在PC上的软件完结,所以在理论上,任何一个简略JTAG电缆,都能够支撑各种应用软件,如Debug等。

  我就曾运用同一个JTAG电缆写Xilinx CPLD,AXD/ADW调试程序。要害再于软件的支撑,大多数软件都不供给设定功用,因此只能支撑某种JTAG电缆。

  关于简略JTAG电缆的速度。JTAG是串行接口,运用打印口的简略JTAG电缆,运用的是打印口的输出带锁存的特色,运用软件经过I/O发生JTAG时序。

  由JTAG规范决议,经过JTAG写/读一个字节要一系列的操作,依据我的剖析,运用简略JTAG电缆,运用打印口,经过JTAG输出一个字节到方针板,均匀需求43个打印口I/O, 在我机器上(P4 1.7G),每秒大约可进行660K次 I/O 操作,所以下载速度大约在660K/43, 约等于15K Byte/S. 关于其他机器,I/O速度大致相同,一般在600K ~ 800K.

  02关于怎么进步JTAG下载速度

  很明显,运用简略JTAG电缆无法进步速度。要进步速度,大致有两种办法:

  1、运用嵌入式体系供给JTAG接口,嵌入式体系和微机之间经过USB/Ethernet相连,这要求运用MCU。

  2、运用CPLD/FPGA供给JTAG接口,CPLD/FPGA和微机之间运用EPP接口(一般微机打印口都支撑EPP形式),EPP接口完结微机和CPLD/FPGA之间的数据传输,CPLD/FPGA完结JTAG时序。

  这两种办法自己都完结过。

  第一个办法能够到达比较高的速度,实测超过了200KByte/S(留意:是Byte,不是Bit);可是相对来说,硬件杂乱,制作相对杂乱。

  第二种相对来说,下载速度要慢一些,最快时到达96KByte/S,但电路简略,制作便利,并且速度能够满足需求。第二种计划还有一个缺陷,因为进行I/O操作时,CPU不会被开释,因此在下载程序时,微机CPU显得很繁忙。

  总的来说,自己以为,关于个人爱好者来说,第二种办法更可取。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/157672.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部