关于简单JTAG电缆,如何提高JTAG下载速度

电子发烧友网 2018-06-15 09:06 次阅读

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

一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UARTTimers,GPIO等等的寄存器。

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

setmem 0xfffff124,0xFFFFFFFF,32 ---关闭所有中断setmem 0xffe00000,0x0100253d,32 ---设置CS0 0xffe00004,0x02002021,32 ---设置CS1setmem 0xffe00008,0x0300253d,32 ---设置CS2setmem 0xffe0000C,0x0400253d,32 ---设置CS3setmem 0xffe00020,1,32 ---Remap

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

let 0xfffff124=0xFFFFFFFF ---关闭所有中断let 0xffe00000=0x0100253d ---设置CS0let 0xffe00004=0x02002021 ---设置CS1let 0xffe00008=0x0300253d ---设置CS2let 0xffe0000C=0x0400253d ---设置CS3let 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显得很繁忙。

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

原文标题:你的设计为什么出问题?也许是嵌入式JTAG接口惹的祸

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

L99SD01怎么读取故障寄存器

有没有人能够读取故障寄存器。回读设置没有问题,但是故障是隐藏的。 RichA #l99sd01 以上来自于谷歌翻译 以下为原...

发表于 09-21 16:58 6次 阅读
L99SD01怎么读取故障寄存器

LPS25HB规格有什么差异

DoclD027112 Rev2。 寄存器描述8.6中CTRL_REG1的描述 DIFF_EN - 中断生成使能。默认值:0 (0:禁止中...

发表于 09-21 16:54 6次 阅读
LPS25HB规格有什么差异

请问ADSP sharc 21489的寄存器手册那里能够下载?

请问那里能够下载到21489的寄存器手册,我购买开发套件时并没有找到。 官网的手册上面只有想关的外设说明,但是没有这个寄存器配...

发表于 09-21 14:57 19次 阅读
请问ADSP sharc 21489的寄存器手册那里能够下载?

请问ADXL345能用I2以查询方式读取测量数据么?

ADXL345是否有状态寄存器,让单片机可以通过读取该寄存器的值来以判断已有有如数据,从而以查询方式读取加速度测量值?...

发表于 09-21 14:51 14次 阅读
请问ADXL345能用I2以查询方式读取测量数据么?

寄存器默认值读取只有第一次是正确后面都错误

大家好,问一个问题:我用的AD7794,上电后能够读取配置寄存器的默认值0x0710,但是只能是读一次,我在程序中做的是每秒读一次...

发表于 09-21 14:44 4次 阅读
寄存器默认值读取只有第一次是正确后面都错误

固化程序后扫描不到FPGA设备

固化程序之后,以内部固化程序启动时,要拔出JTAG。 避免启动时因识别JTAG而延迟固化程序的加载,出现"no programmable...

发表于 09-21 13:05 35次 阅读
固化程序后扫描不到FPGA设备

基于dragonboard410c的sqlite3数据库数据存储和管理

      今天给大家介绍如何利用sqlite3数据库来为dragonboard 410c开发进行数据存储和管理,sqlite3 是一款非...

发表于 09-21 10:59 183次 阅读
基于dragonboard410c的sqlite3数据库数据存储和管理

基于高速FPGA的PCB设计

随着现场可编程门阵列(FPGA)已发展成为真正的可编程系统级芯片,利用这些芯片设计印制电路板(PCB)的任务变得愈加复杂。要...

发表于 09-21 10:28 10次 阅读
基于高速FPGA的PCB设计

模拟器寄存器从文件注入的问题-MPLABX 4.10 - PIC16F1825

我编写了一个简单的程序,用于测试一些代码。我试图模拟串口上的击键字符来测试命令解析例程。我用模拟器注册表注入一个包含十进...

发表于 09-21 10:23 8次 阅读
模拟器寄存器从文件注入的问题-MPLABX 4.10 - PIC16F1825

PIC32MZ上的DEVSN0和DEVSN1的顺序是什么

您好,看看我使用的部分的文档(32 MZ2048 ECG100),我可以看到这两个寄存器,这将结合一个64位的序列号。文档不清楚哪一个...

发表于 09-21 10:18 5次 阅读
PIC32MZ上的DEVSN0和DEVSN1的顺序是什么

基于MCU模块的定时器工作原理解析

在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T....

发表于 09-19 16:16 53次 阅读
基于MCU模块的定时器工作原理解析

ATTINY13 20SSI在系统可编程闪存中的8位微控制器的数据手册免费下载

AVR内核结合了丰富的指令集和32个通用工作寄存器。所有32个寄存器都直接连接到算术逻辑单元(ALU....

发表于 09-19 08:00 19次 阅读
ATTINY13 20SSI在系统可编程闪存中的8位微控制器的数据手册免费下载

嵌入式DEV第1部分:查看内部查找和修复性能和电源使用问题

Accelerate embedded apps and system software devel....

的头像 英特尔 Altera视频 发表于 09-19 02:18 48次 观看
嵌入式DEV第1部分:查看内部查找和修复性能和电源使用问题

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

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

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

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

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

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

51单片机的基本组成结构解析

·128bytes的数据存储器(RAM) (52有256bytes的RAM) ·32条I/O口线·....

发表于 09-18 17:00 89次 阅读
51单片机的基本组成结构解析

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

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

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

基于AVR单片机的常见问题解答

所有的C 编译器均已在ATMEL 网站上有关第三方工具供应商的网页上列出;ATMEL 公司在它的网站....

发表于 09-18 16:52 70次 阅读
基于AVR单片机的常见问题解答

了解集成式嵌入式视觉平台应用设计

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取....

的头像 Duke 发表于 09-18 14:57 537次 阅读
了解集成式嵌入式视觉平台应用设计

基于MIPS微处理器和嵌入式Linux操作系统的家庭网关设计详解

描述了一种无内部互锁的信息平推流式的32位嵌入式微处理器下,嵌入式Linux操作系统环境的家庭网关....

发表于 09-17 17:44 75次 阅读
基于MIPS微处理器和嵌入式Linux操作系统的家庭网关设计详解

基于嵌入式linux系统下的串口编程具体设置详解

本文基于嵌入式linux下串口应用编程进行了研究,详细介绍了串口设置的步骤,可以更好的理解串口的工....

发表于 09-17 17:10 111次 阅读
基于嵌入式linux系统下的串口编程具体设置详解

基于嵌入式Linux系统的远程监控模块设计详解

嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to con....

发表于 09-16 10:54 134次 阅读
基于嵌入式Linux系统的远程监控模块设计详解

你知道关于嵌入式闪存还有哪些错误观念吗?

多年来,汽车行业的发展和创新一直推动着半导体行业的发展。根据IHS的数据可知,汽车半导体市场的年收入....

发表于 09-16 10:43 222次 阅读
你知道关于嵌入式闪存还有哪些错误观念吗?

浅析STM32的五种嵌入式操作系统的特点及不足

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-....

的头像 电子发烧友网 发表于 09-15 09:28 355次 阅读
浅析STM32的五种嵌入式操作系统的特点及不足

时序违例的修正与时序优化的思考方向

时序逻辑电路示意图如下。前后两级寄存器之间有一个组合逻辑运算电路。

的头像 电子发烧友网工程师 发表于 09-15 08:23 187次 阅读
时序违例的修正与时序优化的思考方向

新版IAR调试查看寄存器方法

这不前面写了一篇在较小资源上跑一个实时操作系统,后台有朋友问了该如何优化代码,我大概回答了一点可以优....

的头像 嵌入式资讯精选 发表于 09-14 17:51 249次 阅读
新版IAR调试查看寄存器方法

STM32F103开发板教程之寄存器V3.1版本中文手册免费下载

本手册将由浅入深,带领大家学习 STM32F103 的各个功能,为您开启全新的 STM32 之旅。本....

发表于 09-14 14:08 35次 阅读
STM32F103开发板教程之寄存器V3.1版本中文手册免费下载

基于Linux 2.6.16的嵌入式开发平台的风力发电监控系统开发设计

为了适应不同的应用场合,同时考虑到计算机系统的灵活性、可伸缩性以及可裁剪性,一种以应用为中心、以计算....

发表于 09-13 17:22 102次 阅读
基于Linux 2.6.16的嵌入式开发平台的风力发电监控系统开发设计

基于32位ARM920T内核的微处理器的嵌入式Linux系统构建详解

目前,在嵌入式系统中基于ARM微核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用,建立面向....

发表于 09-13 17:16 82次 阅读
基于32位ARM920T内核的微处理器的嵌入式Linux系统构建详解

基于嵌入式Linux系统下Mini GUI的移植方法与过程详解

近几年,嵌入式 Linux 系统已得到广泛的应用,相应的图形用户界面的开发也日趋重要,MiniGUI....

发表于 09-12 16:22 146次 阅读
基于嵌入式Linux系统下Mini GUI的移植方法与过程详解

基于嵌入式Linux系统的Bootloader模型在MIPS64上的移植设计浅析

Linux具备良好的裁剪性和移植性,并且开源、资源丰富,已成为嵌入式系统的开发热点。一个完整的嵌入式....

发表于 09-12 16:13 89次 阅读
基于嵌入式Linux系统的Bootloader模型在MIPS64上的移植设计浅析

嵌入式C语言程序有什么常见错误?C语言程序调试技巧方法资料免费下载

程序设计很少能够没有错误一次完成,在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错....

发表于 09-12 11:37 33次 阅读
嵌入式C语言程序有什么常见错误?C语言程序调试技巧方法资料免费下载

基于adv212的jpeg2000静态图像压缩系统设计

干涉图在压缩后,如果丢失信息过多,或是丢失了部分重要信息,则无法复原出真实的光谱。

的头像 沈丹 发表于 09-12 08:33 693次 阅读
基于adv212的jpeg2000静态图像压缩系统设计

基于嵌入式Linux平台构建视频监控系统的设计过程详解

目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求....

发表于 09-11 17:50 132次 阅读
基于嵌入式Linux平台构建视频监控系统的设计过程详解

以基于Linux的嵌入式系统为核心的测控系统设计

当前,在工业控制领域,网络控制技术快速发展。网络控制要求测控系统必须具备两方面的功能:一方面要在现场....

发表于 09-11 17:46 105次 阅读
以基于Linux的嵌入式系统为核心的测控系统设计

嵌入式和物联网的shell脚本学习指南之shell脚本入门免费下载

本文档的主要内容详细技术的是嵌入式和物联网的shell脚本学习指南之shell脚本入门免费下载。

发表于 09-11 17:15 42次 阅读
嵌入式和物联网的shell脚本学习指南之shell脚本入门免费下载

瑞萨电子收购IDT,加强嵌入式解决方案全球领先地位

瑞萨电子将以每股49.00美元的价格,总股权价值约67亿美元 (按1美元约合110日元,总额约合7,....

的头像 Duke 发表于 09-11 09:13 1391次 阅读
瑞萨电子收购IDT,加强嵌入式解决方案全球领先地位

英特尔®SDK和移动应用程序开发工具

Intel® Context Sensing SDK and development tools f....

的头像 英特尔 Altera视频 发表于 09-11 06:01 143次 观看
英特尔®SDK和移动应用程序开发工具

以嵌入式处理器S3C2440为核心的多任务机器人控制系统设计详解

随着科学技术的发展和社会的需要,移动机器人技术得到了迅速发展,正在渗透到各行各业中,使人们的生活更....

发表于 09-10 17:58 95次 阅读
以嵌入式处理器S3C2440为核心的多任务机器人控制系统设计详解

嵌入式Linux与Android联盟成立,主要在工业嵌入式市场推动开放

全球智能系统领导厂商研华公司在2017年纽伦堡嵌入式电子与工业计算机应用展(Embedded Wo....

发表于 09-10 17:37 149次 阅读
嵌入式Linux与Android联盟成立,主要在工业嵌入式市场推动开放

浅析STM32的五大嵌入式操作系统的特点及不足

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-....

的头像 玩转单片机 发表于 09-10 17:26 394次 阅读
浅析STM32的五大嵌入式操作系统的特点及不足

AVR单片机的特点及缺点解析

AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指....

发表于 09-10 17:03 140次 阅读
AVR单片机的特点及缺点解析

PIC单片机特点及不足之处解析

PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当....

发表于 09-10 16:55 190次 阅读
PIC单片机特点及不足之处解析

STM32单片机特性解析

其基于专为要求高性能、 低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一....

发表于 09-10 16:55 273次 阅读
STM32单片机特性解析

MSP430系列单片机特性及应用领域介绍

MSP430系列单片机是德州仪器1996年开始推向市场的一种16位超低功耗的混合信号处理器,给人们留....

发表于 09-10 16:50 129次 阅读
MSP430系列单片机特性及应用领域介绍

51单片机优缺点及应用领域介绍

应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构....

发表于 09-10 16:45 191次 阅读
51单片机优缺点及应用领域介绍

如何又快又好的学习单片机?

很多想学单片机的人问的第一句话就是:“怎样才能学好单片机”?今天和大家讨论对于如何开始学单片机、如何....

的头像 传感器技术 发表于 09-10 16:09 318次 阅读
如何又快又好的学习单片机?

时序逻辑电路的建立,保持时间裕量分析

当然上述情况还忽略了时钟的延迟,即默认前后两级寄存器的clk都是同时到达。如果时钟存在正延时,即时钟....

的头像 电子发烧友网工程师 发表于 09-10 10:45 266次 阅读
时序逻辑电路的建立,保持时间裕量分析

嵌入式web server boa在S3C2410上的编译移植步骤

修改Makefile文件,找到CC=gcc和CPP=gcc -E,分别将其改为交叉编译器安装的路径

发表于 09-09 09:07 80次 阅读
嵌入式web server boa在S3C2410上的编译移植步骤

关于嵌入式Linux在PMP消费类电子产品上的应用探讨浅析

Linux 是一种适合于嵌入式系统的开源操作系统,可以高效地处理各种复杂的任务。从基于TI DM32....

发表于 09-08 10:47 61次 阅读
关于嵌入式Linux在PMP消费类电子产品上的应用探讨浅析

为什么寄存器会有建立时间,保持时间要求,以及传输延时的概念

当时钟信号为低电平时,传输门T1导通,数据经过反相器I1,传输门T1,反相器I3,传到QM端。此时T....

的头像 电子发烧友网工程师 发表于 09-08 10:25 375次 阅读
为什么寄存器会有建立时间,保持时间要求,以及传输延时的概念

如何制作一个基于linux 2.6.19内核的小型Linux操作系统?

ARM9 S3C2410微处理器与Linux的结合越来越紧密,逐渐在嵌入式领域得到广范的应用。目前....

发表于 09-07 17:09 122次 阅读
如何制作一个基于linux 2.6.19内核的小型Linux操作系统?

从RTOS到嵌入式Linux的应用移植步骤以及相关的关键技术分析

在过去几年中,Linux成功地取代了一些最主要的传统RTOS(实时操作系统)平台,成为了各种各样的....

发表于 09-07 16:47 107次 阅读
从RTOS到嵌入式Linux的应用移植步骤以及相关的关键技术分析

MAX6625型智能数字温度传感器工作原理及程序设置经验分享

在系统温度测量和控制中,温度传感器的选用正从模拟式向数字式、从集成化向智能化的方向飞速发展。MAX6....

发表于 09-07 15:33 94次 阅读
MAX6625型智能数字温度传感器工作原理及程序设置经验分享

关于四种实时嵌入式Linux操作系统的对比分析浅析

本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、Q....

发表于 09-05 17:39 214次 阅读
关于四种实时嵌入式Linux操作系统的对比分析浅析

关于嵌入式系统的特点和Linux内核的实时应用分析

Linux本身为分时操作系统,其系统目标为较好的平均响应时间和较高的吞吐量,而实时系统则主要考虑任务....

发表于 09-05 17:25 118次 阅读
关于嵌入式系统的特点和Linux内核的实时应用分析

嵌入式FPGA能随时更改RTL的灵活性,将改变芯片和SoC未来的设计方式

芯片设计人员今天面临的最关键的问题之一是在设计过程中实时重新配置RTL,甚至在系统中也是如此。不幸的....

发表于 09-05 16:58 149次 阅读
嵌入式FPGA能随时更改RTL的灵活性,将改变芯片和SoC未来的设计方式

80X86指令系统-算术运算指令总结的详细资料概述免费下载

算术运算指令(Arithmetic)8086/8088提供加、减、乘、除算术操作; 特点:大部分都....

发表于 09-05 15:12 35次 阅读
80X86指令系统-算术运算指令总结的详细资料概述免费下载

如何解决异步FIFO跨时钟域亚稳态问题?

跨时钟域的问题:前一篇已经提到要通过比较读写指针来判断产生读空和写满信号,但是读指针是属于读时钟域的....

的头像 FPGA极客空间 发表于 09-05 14:29 262次 阅读
如何解决异步FIFO跨时钟域亚稳态问题?

PCIe总线自V2.0加入了功能层复位的功能

FLR只复位对应Function的内部状态和寄存器(使其暂时不变化,Making it quiesc....

的头像 电子技术应用ChinaAET 发表于 09-05 09:46 327次 阅读
PCIe总线自V2.0加入了功能层复位的功能