一个含有JTAG Debug接口模块的CPU

电子设计 2018-06-12 09:38 次阅读

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

一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UARTTimers,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 ---设置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,显然下载会失败。

通过JTAG下载程序前应关闭所有中断,这一点和Firmware初始化时关闭中断的原因相同。在使用JTAG接口的时候,各中断的使能未知,尤其是FLASH里有可执行码的情况,可能会有一些中断被使能。使用JTAG下载完代码,要执行时,有可能因为未完成初始化就产生了中断,导致程序异常。所以,需要先关闭中断,一般通过设置SOC的中断控制寄存器完成。使用JTAG写Flash。在理论上,通过JTAG可以访问CPU总线上的所有设备,所以应该可以写FLASH,但是FLASH写入方式和RAM大不相同,需要特殊的命令,而且不同的FLASH擦除,编程命令不同,而且块的大小,数量也不同,很难提供这一项功能。所以一般Debug不提供写Flash功能,或者仅支持少量几种Flash。目前就我知道的,针对arm,只有FlashPGM这个软件提供写FLASH功能,但使用也非常麻烦。AXD,ADW都不提供写FLASH功能。我写Flash的方法时是,自己写一个简单的程序,专门用于写目标板的FLASH,利用JTAG接口,下载到目标板,再把要烧写的目标码装成BIN格式,也下到目标板(地址和烧FLASH的程序的地址不同),然后运行已经下载的烧FLASH的程序。使用这种方式,比起FlashPGM的写Flash,速度似乎要快一些。

关于简单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.

关于如何提高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显得很繁忙。

总的来说,本人认为,对于个人爱好者来说,第二种方法更可取。


收藏 人收藏
分享:

评论

相关推荐

ARM嵌入式入门基础教程详细资料免费下载

嵌入式系统( Embedded System)在于结合微处理器或为控制器的系统电路与其专用的软件,来....

发表于 10-15 17:09 13次 阅读
ARM嵌入式入门基础教程详细资料免费下载

嵌入式的定义和举例分析

嵌入式应用工程师:编写业务逻辑程序,调用驱动工程师提供的接口控制设备,软件开发过程所涉内容范围非常广....

的头像 嵌入式资讯精选 发表于 10-15 16:57 55次 阅读
嵌入式的定义和举例分析

单片机与嵌入式软件工程基础-西安电子科技大学课件

单片机与嵌入式软件工程基础-西安电子科技大学课件 ...

发表于 10-15 16:23 111次 阅读
单片机与嵌入式软件工程基础-西安电子科技大学课件

江波龙电子宣称公司已完成股份制改造

江波龙电子从1999年成立至今19年来,始终坚持聚焦存储产业,连续多年居于国内存储企业的领先位置。从....

的头像 OFweek工控 发表于 10-15 14:21 69次 阅读
江波龙电子宣称公司已完成股份制改造

MY-IMX28-EK283 启动手册

MY-IMX28-EK283 启动手册 串口的配置如下 开机准备 针对MY-I.MX28-DEMO-V3.1版本 1)拿到评估...

发表于 10-15 10:01 53次 阅读
MY-IMX28-EK283 启动手册

嵌入式Linux C的基本知识点详解

嵌入式系统专业是综合了计算机硬件技术、计算机软件技术以及电子电路技术的一门综合学科,所涉及的内涵和知....

的头像 嵌入式ARM 发表于 10-15 09:20 258次 阅读
嵌入式Linux C的基本知识点详解

请问谁有嵌入式Linux系统开发完全手册全手册_基于4412_上册吗?

各位大神,给个能下载 嵌入式Linux系统开发完全手册全手册_基于4412_上册 的链接 或上传一下...

发表于 10-15 09:02 122次 阅读
请问谁有嵌入式Linux系统开发完全手册全手册_基于4412_上册吗?

iNAND Standard嵌入式闪存驱动器的特性与应用介绍

闪迪公司(SanDisk)面向中国及其他高速增长市场的入门级平板电脑和智能手机发布一款理想的存储解决....

的头像 电子设计 发表于 10-15 08:30 134次 阅读
iNAND Standard嵌入式闪存驱动器的特性与应用介绍

新手学习嵌入式开发要学什么?

嵌入式开发要学哪些,嵌入式可以简单分为硬件与软件,然而其中的知识体系却是异常的庞大,这也是众多新手望而却步的一个原因,那...

发表于 10-14 17:17 143次 阅读
新手学习嵌入式开发要学什么?

嵌入式视觉中的处理器分类与区别联系

在嵌入式视觉领域中,处理器有许多分类,SoC, SoM,SBC,FCD分别是什么?他们之间有什么区别....

发表于 10-14 09:36 39次 阅读
嵌入式视觉中的处理器分类与区别联系

嵌入式视觉领域中MIPI CSI-2接口有何优势

相机接口在上述嵌入式视觉系统的设置中扮演着关键作用,因为它承担着将相机模块与主机连接在一起的重任。

发表于 10-14 09:23 27次 阅读
嵌入式视觉领域中MIPI CSI-2接口有何优势

C语言内存对齐

[table=98%] [tr][td] [/td][td=832] [/td][/tr] [/table]   class A   {    ...

发表于 10-13 17:35 89次 阅读
C语言内存对齐

什么是嵌入式开发?

 近几年,计算机嵌入式受到越来越多的人青睐,那么什么是嵌入式开发呢,嵌入式开发有很多个层次,大致有以下步骤:   硬件道...

发表于 10-13 15:27 305次 阅读
什么是嵌入式开发?

关于嵌入式开发道路上的一些选择

大家好,本人从事智能家居一年多,负责的工作都是裸机和无线协议栈上的开发;现在正在学习ARM Linux方向,是自己的兴趣和想往...

发表于 10-12 20:16 111次 阅读
关于嵌入式开发道路上的一些选择

ISE做工程,CHIPSCOPE做下测试,一开始可以正常使用,后来突然不能用了,求助555

impact上可以检测到JTAG接口。下载线接线应该没问题,下载器的灯也是绿色的也没问题,在网上查的诸如关防火墙,调节时区到美...

发表于 10-12 18:08 56次 阅读
ISE做工程,CHIPSCOPE做下测试,一开始可以正常使用,后来突然不能用了,求助555

E36105A怎么支持TCP/IP上的SCPI?

我订购了E36105A电源,令我惊讶的是它不支持通过TCP / IP(端口5025)的SCPI。 它仅支持VXI11上的SCPI。 是...

发表于 10-12 17:21 17次 阅读
E36105A怎么支持TCP/IP上的SCPI?

如何设计基于FPGA的嵌入式以太网与Matlab通信平台的数据传送交互系统

着FPGA单片可编程容量的日益增大,传统的嵌入式系统设计正在逐渐被片上系统所取代,用于数据通信的以太....

发表于 10-12 16:14 21次 阅读
如何设计基于FPGA的嵌入式以太网与Matlab通信平台的数据传送交互系统

嵌入式开发必知技巧,易操作且可长久使用

技巧1——用已知值填充ROM 软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行 就可以了,仅此而已...

发表于 10-11 15:18 165次 阅读
嵌入式开发必知技巧,易操作且可长久使用

基于嵌入式设计的BGA封装技术解读

嵌入式设计师的首要任务是开发合适的扇出策略,以方便电路板的制造。在选择正确的扇出/布线策略时需要重点....

的头像 电子设计 发表于 10-11 08:18 76次 阅读
基于嵌入式设计的BGA封装技术解读

UcGui嵌入式用户图形接口的移植毕业设计免费下载

随着科学技术的发展和计算机的普及化,人们开始越来越多的用计算机来处理各种各样的问题,计算机向着更轻薄....

发表于 10-11 08:00 32次 阅读
UcGui嵌入式用户图形接口的移植毕业设计免费下载

DS1964S DeepCover安全认证器的介绍

DeepCover® embedded security solutions cloak sensi....

的头像 Maxim视频 发表于 10-11 04:01 79次 观看
DS1964S DeepCover安全认证器的介绍

DS28C36安全认证器的特点介绍

Almost every piece of technology we use today has ....

的头像 Maxim视频 发表于 10-10 03:44 72次 观看
DS28C36安全认证器的特点介绍

西部数据公司发布面向高端智能手机的 96层3D NAND UFS 2.1嵌入式闪存盘

支持UFS的高级嵌入式闪存盘为数据密集型的下一代智能手机、平板电脑和计算设备提供稳定的使用体验。

的头像 罗欣 发表于 10-09 18:22 850次 阅读
西部数据公司发布面向高端智能手机的 96层3D NAND UFS 2.1嵌入式闪存盘

如何使用MAXREFDES155提供安全性,防止系统受到攻击

您设计的IoT系统是否拥有最高等级的安全措施?通过本视频,了解如何利用Maxim的DeepCover....

的头像 Maxim视频 发表于 10-09 04:36 95次 观看
如何使用MAXREFDES155提供安全性,防止系统受到攻击

DS28C36安全认证器的安全引导和安全下载

本系列视频的第2部分进一步介绍嵌入式系统安全中的技术。了解Maxim安全认证器的加密工具如何帮助验证....

的头像 Maxim视频 发表于 10-09 04:07 82次 观看
DS28C36安全认证器的安全引导和安全下载

Xilinx开发平台扩展功能及FMC连接器的特性

该视频访谈中,Avnet、Xilinx 和 Maxim共同探讨了 Xilinx 开发平台和评估板功能....

的头像 Maxim视频 发表于 10-09 03:22 128次 观看
Xilinx开发平台扩展功能及FMC连接器的特性

金泰克LPDDR3/LPDDR4两款产品主要用于移动设备的内存芯片

此前金泰克正式公布了两款嵌入式产品,用于移动设备的内存芯片,LPDDR3-1866与LPDDR4-3....

发表于 10-08 17:41 117次 阅读
金泰克LPDDR3/LPDDR4两款产品主要用于移动设备的内存芯片

单片机和嵌入式设计的区别

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们....

发表于 10-06 14:39 130次 阅读
单片机和嵌入式设计的区别

单片机和嵌入式设计的区别

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们....

发表于 10-06 14:39 69次 阅读
单片机和嵌入式设计的区别

单片机和嵌入式设计的区别

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们....

发表于 10-06 14:39 71次 阅读
单片机和嵌入式设计的区别

单片机和嵌入式设计的区别

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们....

发表于 10-06 14:39 230次 阅读
单片机和嵌入式设计的区别

嵌入式和单片机的关系

单片机是众多嵌入式处理器的一种,目前通用的理解是,嵌入式主要是指ARM\DSP等处理器.而嵌入式系统....

发表于 10-06 09:59 76次 阅读
嵌入式和单片机的关系

LMC058嵌入式IO高速计数器有什么功能?详细实例讲解

本文介绍了LMC058嵌入式IO高速计数器的功能,同样也适用于M258。

的头像 施耐德自动化 发表于 10-03 11:54 201次 阅读
LMC058嵌入式IO高速计数器有什么功能?详细实例讲解

如何处理嵌入式中参数的存储?

如果有几个设置参数需要存储到Flash中,我们一般会怎么存储呢?将不同的参数都存储到不同的页中,还是....

的头像 嵌入式资讯精选 发表于 10-03 10:49 211次 阅读
如何处理嵌入式中参数的存储?

IoT嵌入式安全设计的重要性

至于安全性和攻击,属于一种经济博弈,每一种尝试都存在风险和回报。还记得第一批可编程设备之一的提花织机....

的头像 电子设计 发表于 10-02 01:02 393次 阅读
IoT嵌入式安全设计的重要性

适用于STM32的五大嵌入式操作系统,你要的应有尽有

各有优劣,根据需求选择!

的头像 嵌入式资讯精选 发表于 10-01 16:25 591次 阅读
适用于STM32的五大嵌入式操作系统,你要的应有尽有

瑞萨电子67亿美元收购IDT,两大重点意图

2018年9月11日, 全球领先的半导体解决方案供应商瑞萨电子株式会社与包括传感器、互联和无线电源在....

的头像 嵌入式资讯精选 发表于 10-01 16:10 600次 阅读
瑞萨电子67亿美元收购IDT,两大重点意图

基于FPGA的嵌入式实时图像监控系统浅析

目前,图像监控系统大多采用PC和视频采集卡作为系统主要部分,基于嵌入式技术的图像监控系统设备在我国....

发表于 10-01 10:22 94次 阅读
基于FPGA的嵌入式实时图像监控系统浅析

浅析嵌入式参数存储的新方式

如果有几个设置参数需要存储到Flash中,我们一般会怎么存储呢?将不同的参数都存储到不同的页中,还是....

的头像 玩转单片机 发表于 09-30 17:37 467次 阅读
浅析嵌入式参数存储的新方式

随着RRAM成为主流,大容量嵌入式内存支持的高智能化系统解决方案面世

物联网(IoT)的出现和人类生活对智能设备永不满足的需求正驱动着传统智慧在微控制器和嵌入式内存市场的....

发表于 09-30 16:48 130次 阅读
随着RRAM成为主流,大容量嵌入式内存支持的高智能化系统解决方案面世

英飞凌推出第二代适用于各式LIN伺服电机控制应用的嵌入式功率器件

英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日推出第二代嵌入式功率器....

发表于 09-30 16:33 820次 阅读
英飞凌推出第二代适用于各式LIN伺服电机控制应用的嵌入式功率器件

嵌入式开发JTAG接口的应用介绍

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一....

的头像 电子设计 发表于 09-29 08:19 308次 阅读
嵌入式开发JTAG接口的应用介绍

基于ARM的嵌入式Linux系统开发技术详解(完整版)电子教材免费下载

以嵌入式Linux 系统开发流程为主线,剖析了嵌入式Linux 系统构建的各个环节。从嵌入式系统基础....

发表于 09-29 08:00 89次 阅读
基于ARM的嵌入式Linux系统开发技术详解(完整版)电子教材免费下载

嵌入式未来会因为物联网的发展而发挥更大的价值

随着国家信息化的推进,电子技术也得到了更广泛的发挥,嵌入式作为一种传统的电子技术,未来会因为物联网的....

发表于 09-28 16:24 195次 阅读
嵌入式未来会因为物联网的发展而发挥更大的价值

嵌入式FPGA IP问世,为物联网的应用推进带来了新的助推力量

物联网的发展应用,是以无数量连网的智能设备为硬件基础,而这些设备所产生的数据要成为有用的信息,则需要....

发表于 09-28 15:50 207次 阅读
嵌入式FPGA IP问世,为物联网的应用推进带来了新的助推力量

STM32 F1xx HAL驱动程序详细描述资料免费下载

STMCUBETM是一个意微电子原计划,通过减少开发的努力、时间和成本来缓解开发者的生活。STM32....

发表于 09-28 15:30 44次 阅读
STM32 F1xx HAL驱动程序详细描述资料免费下载

基于51单片机嵌入式系统仿真设计

传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情....

发表于 09-28 15:28 136次 阅读
基于51单片机嵌入式系统仿真设计

嵌入式ARM开发平台FS6818M4实验箱中文使用手册免费下载

写在前边,据调查很多用户拿到实验箱后无从下手,那么我们需要一本引领用户了解实验箱,使用实验箱的基本手....

发表于 09-27 17:34 45次 阅读
嵌入式ARM开发平台FS6818M4实验箱中文使用手册免费下载

嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

本书从嵌入式Linux 的基础知识、系统环境搭建到综合应用,共分三个层次深入浅出地为读者拨开萦绕于嵌....

发表于 09-27 14:49 52次 阅读
嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

uCOS教程之嵌入式实时操作系统uCOS-II如何安装和使用中文版免费下载

在这一章里将提供三个范例来说明如何使用 μC/OS-II。笔者之所以在本书一开始就写这一章是为了让读....

发表于 09-27 14:49 45次 阅读
uCOS教程之嵌入式实时操作系统uCOS-II如何安装和使用中文版免费下载

JTAG技术应用的各个阶段分析

大多数复杂电子系统都以这种或那种方式用到了IEEE1149.1(JTAG)标准。如果系统采用的是复杂....

的头像 电子设计 发表于 09-27 09:06 224次 阅读
JTAG技术应用的各个阶段分析

通过Altera FPGA系统实现FPGA接口的简化设计

许多新式 FPGA 设计采用了一些用于控制的嵌入式处理器。一种典型解决方案需要使用诸如 NIOS 等....

的头像 电子设计 发表于 09-27 08:54 313次 阅读
通过Altera FPGA系统实现FPGA接口的简化设计

32位嵌入式处理器的特点及应用

  众所周知,在嵌入式系统中,微处理器用的最多的还是MCU(俗称单片机),主要原因是其性价比高、简单....

的头像 电子设计 发表于 09-27 08:05 292次 阅读
32位嵌入式处理器的特点及应用

基于SoPC的嵌入式硬件平台系统设计详解

嵌 入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四部分组成,其发展主....

发表于 09-25 16:48 84次 阅读
基于SoPC的嵌入式硬件平台系统设计详解

浅析嵌入式C语言的高级用法

我们需要知道——变量,其实是内存地址的一个抽像名字罢了。在静态编译的程序中,所有的变量名都会在编译时....

的头像 嵌入式资讯精选 发表于 09-25 15:44 311次 阅读
浅析嵌入式C语言的高级用法

在设计环境监控系统时我们应考虑哪些因素

目前有一些非常具有挑战性的工作但是很适合应用于嵌入式项目用于环境条件的监测。从个人角度来看,环境监测....

的头像 电子设计 发表于 09-25 10:10 536次 阅读
在设计环境监控系统时我们应考虑哪些因素

你是嵌入式硬件设计的大神还是小白?

提到“嵌入式”,想必各位攻城狮都不会陌生,今儿不管您水平几何,咱们一起聊聊这“嵌入式”,大神&小白,....

的头像 玩转单片机 发表于 09-18 17:51 458次 阅读
你是嵌入式硬件设计的大神还是小白?

基于ARM的嵌入式系统CF卡与CPLD连接技术详解

随着应用需求的不断提高,许多嵌入式系统在应用时都要求带有扩展的大容量存储器来存储数据。CF 卡(Co....

发表于 09-18 17:18 199次 阅读
基于ARM的嵌入式系统CF卡与CPLD连接技术详解

基于嵌入式linux系统下的AD7873触摸屏驱动系统设计详解

随着计算机技术的发展和普及,触摸屏技术得到了越来越广泛应用,在各种手持设备中,如手机、MP4、掌上游....

发表于 09-18 16:57 223次 阅读
基于嵌入式linux系统下的AD7873触摸屏驱动系统设计详解