关于简单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,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

智能视觉在生活中有哪些应用?面临着哪些挑战?

以前,技术的复杂性、巨大计算能力要求和高昂成本限制了使用监视摄像头对安全监视应用的视觉感知能力。然而....

的头像 Thundersoft中科创达 发表于 07-23 17:18 37次 阅读
智能视觉在生活中有哪些应用?面临着哪些挑战?

时序分析之useful skew的作用分析

对于positive skew来说,它可以减少T的时间,相当于提升芯片的performace。但是它....

的头像 数字后端IC芯片设计 发表于 07-23 17:15 22次 阅读
时序分析之useful skew的作用分析

一文告诉你七大嵌入式Linux操作系统,你了解多少呢?

除了智能数字终端领域以外,Linux在移动计算平台、智能工业控制、金融业终端系统,甚至军事领域都有....

发表于 07-23 15:25 19次 阅读
一文告诉你七大嵌入式Linux操作系统,你了解多少呢?

学嵌入式有没有发展前途

1. IT行业在多年前就已经超越金融行业,成为平均薪资最高的行业,大家都纷纷开始想在IT行业谋得一席....

发表于 07-23 13:59 7次 阅读
学嵌入式有没有发展前途

嵌入式linux系统的学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过....

发表于 07-23 13:59 6次 阅读
嵌入式linux系统的学习步骤

BeagleBone Black和BeagleBone Green开发板十大要点

BeagleBone 属于开源单板计算机 (SBC),可与其它上百种与之类似的 SBC 共享各种设计....

的头像 Duke 发表于 07-23 09:00 210次 阅读
BeagleBone Black和BeagleBone Green开发板十大要点

请问根据RX23T数据手册写入SWRR寄存器一个a501h值为什么不能复位?

发表于 07-23 08:56 26次 阅读
请问根据RX23T数据手册写入SWRR寄存器一个a501h值为什么不能复位?

请问关于RX23T和e2 studio的一个问题

发表于 07-23 08:41 39次 阅读
请问关于RX23T和e2 studio的一个问题

请问RX23T如何获取系统时钟,以便获取类似时间戳,如何获取此段代码运行时间?

发表于 07-23 08:09 20次 阅读
请问RX23T如何获取系统时钟,以便获取类似时间戳,如何获取此段代码运行时间?

请问如何设定波特率为特定值?

发表于 07-23 08:08 10次 阅读
请问如何设定波特率为特定值?

如何使用74HC595来控制8个LED小灯的详细资料概述

74HC595 简单说来就是具有8 位移位寄存器和一个存储器,以及三态输出功能。 这里我们用它来控制....

发表于 07-23 08:00 3次 阅读
如何使用74HC595来控制8个LED小灯的详细资料概述

请问关于瑞萨RX23T硬件IIC读取从机的寄存器问题

发表于 07-23 05:13 9次 阅读
请问关于瑞萨RX23T硬件IIC读取从机的寄存器问题

请教关于瑞萨驱动摄像头IIC读写寄存器的几个问题

发表于 07-23 03:50 16次 阅读
请教关于瑞萨驱动摄像头IIC读写寄存器的几个问题

请教关于 nrf2401 例程读取sta寄存器的一些奇怪的问题

发表于 07-23 03:19 2次 阅读
请教关于 nrf2401 例程读取sta寄存器的一些奇怪的问题

如下程序,请问其中的char wk0[31]; char wk1[31];等是表示什么意思(功能)?

发表于 07-23 00:47 5次 阅读
如下程序,请问其中的char wk0[31]; char wk1[31];等是表示什么意思(功能)?

请问图中倒数这三排寄存器值跟设置占空比有什么对应关系?

发表于 07-23 00:39 23次 阅读
请问图中倒数这三排寄存器值跟设置占空比有什么对应关系?

请问如果我想向地址为0x68的mpu6050中的0x6B寄存器写入数据,应该怎么调用这个函数?

发表于 07-23 00:02 8次 阅读
请问如果我想向地址为0x68的mpu6050中的0x6B寄存器写入数据,应该怎么调用这个函数?

ADI公司与NI公司联手,共同推出用于ADI Blackfin处理器的LabVIEW嵌入式模块

ADI公司和NI公司联合宣布推出用于ADI Blackfin处理器的LabVIEW嵌入式模块的试用....

发表于 07-22 09:48 30次 阅读
ADI公司与NI公司联手,共同推出用于ADI Blackfin处理器的LabVIEW嵌入式模块

如何快速、低成本桥接不同视频接口类型

嵌入式系统开发人员正在利用移动处理器的创新、广泛接纳的 MIPI 标准接口,以及新一代低成本图像传感....

的头像 Duke 发表于 07-20 09:43 858次 阅读
如何快速、低成本桥接不同视频接口类型

一文读懂Linux系统模块及应用设计

Linux是单内核系统,可通用计算平台的外围设备是频繁变化的,不可能将所有的(包括将来即将出现的)....

的头像 嵌入式ARM 发表于 07-20 09:27 1000次 阅读
一文读懂Linux系统模块及应用设计

嵌入式开发平台Renesas Synergy™的特点介绍

颠覆传统理念的嵌入式开发平台- Renesas Synergy™

的头像 Renesas视频 发表于 07-20 01:05 115次 观看
嵌入式开发平台Renesas Synergy™的特点介绍

以FPGA为基础的嵌入式图像监控系统的设计方案详解

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

发表于 07-19 18:04 126次 阅读
以FPGA为基础的嵌入式图像监控系统的设计方案详解

以嵌入式Linux为基础的远程电能量数据采集终端系统浅析

随着计算机技术、网络技术和大规模集成电路的高速发展,动态信号分析系统出现了向着网络化方向发展的趋势....

发表于 07-19 17:48 82次 阅读
以嵌入式Linux为基础的远程电能量数据采集终端系统浅析

怎样开发一套嵌入式系统

要做一个深思熟虑的有关创建还是购买的决定,您必须对自己创建的定制解决方案的花费进行精确的估算。

发表于 07-19 14:44 65次 阅读
怎样开发一套嵌入式系统

74hc154的引脚功能是什么?74hc154引脚作用详解

74HC154是一款高速CMOS器件, 兼容低电压ttl电路,遵守jedec标准。 具有8位移位寄存....

发表于 07-19 10:57 100次 阅读
74hc154的引脚功能是什么?74hc154引脚作用详解

74hc595驱动led点阵原理及74HC595在8x8LED点阵中的应用

只有1个移位寄存器,但有1+8个,共9个锁存器。其中第1个锁存器可以理解为中转前置锁存器,它并没有连....

发表于 07-18 18:54 257次 阅读
74hc595驱动led点阵原理及74HC595在8x8LED点阵中的应用

ARM全国产云平台部署容器实战经验分享

ARM全国产云平台部署容器实战经验分享

发表于 07-18 16:11 443次 阅读
ARM全国产云平台部署容器实战经验分享

探讨模拟输入的特殊特性

通过源电阻的泄漏电流,在变换器输入端引入电压降。其影响仍然是有限的(大约1kOhm),但是必须确保测....

的头像 汽车电子硬件设计 发表于 07-18 16:01 405次 阅读
探讨模拟输入的特殊特性

新品推荐:MEC170x多功能嵌入式控制器

MEC170x器件是一种嵌入式控制器,配有灵活的电源、基于硬件的安全系统和一个eSPI主机接口,适用....

的头像 Microchip微芯 发表于 07-18 15:30 187次 阅读
新品推荐:MEC170x多功能嵌入式控制器

嵌入式开发与单片机开发有什么区别

 1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监....

发表于 07-17 11:33 36次 阅读
嵌入式开发与单片机开发有什么区别

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-17 11:33 28次 阅读
人生苦短,我选Python.

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-17 11:33 21次 阅读
人生苦短,我选Python.

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-17 11:33 21次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-17 11:33 15次 阅读
Python将是人工智能时代的最佳编程语言

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-17 11:33 80次 阅读
Python将是人工智能时代的最佳编程语言

初学者如何成长为技术大牛

不想当将军的士兵不是好士兵,这句话对于程序员来说同样适用,不想成为大牛的程序员不是好程序员。做为一个....

发表于 07-17 11:33 21次 阅读
初学者如何成长为技术大牛

嵌入式培训和自学有什么不同

很多人在网上纠结说到底是要自学嵌入式还是参加培训,根据个人接触的很多嵌入式的学员及朋友,说说我的看法....

发表于 07-17 11:33 50次 阅读
嵌入式培训和自学有什么不同

物联网是什么,物联网前景怎么样?

物联网是什么,物联网前景怎么样?往物联网方向发展,应该从哪几方面着手。 物联网是新一代信息技术的重要....

发表于 07-17 11:33 29次 阅读
物联网是什么,物联网前景怎么样?

嵌入式开发为什么选择C语言?

1.从语言特点来说: ①C语言有出色的可移植性,能在多种不同体系结构的软/硬平台上运行 ②简洁紧凑,....

发表于 07-17 11:33 51次 阅读
嵌入式开发为什么选择C语言?

新手如何学习单片机,用那些软件模拟比较好?

首先来说,每一款单片机的编程软件都有软件仿真功能。我们可以通过这个软件仿真功能学习一些单片机的功能。....

发表于 07-17 11:33 63次 阅读
新手如何学习单片机,用那些软件模拟比较好?

学完单片机,可以用它来干什么?

又称微处理器,它将一个系统所需要的RAM、Rom、CPU等相关外设集成在一块集成电路上,我们通过汇编....

发表于 07-17 11:33 57次 阅读
学完单片机,可以用它来干什么?

学习单片机的几点经验之谈

单片机入门篇1、学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类....

发表于 07-17 11:33 31次 阅读
学习单片机的几点经验之谈

大牛分享,如何学好嵌入式系统开发

一、嵌入式系统的概念着重理解”嵌入”的概念主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围....

发表于 07-17 11:33 35次 阅读
大牛分享,如何学好嵌入式系统开发

学习嵌入式有前途吗?

学习嵌入式有前途吗?很多计算机行业的人都有这个问题。在日益信息化的社会,计算机和网络已渗透到我们日常....

发表于 07-17 11:33 25次 阅读
学习嵌入式有前途吗?

嵌入式工程师的职业发展方向学习规划

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费....

发表于 07-17 11:33 32次 阅读
嵌入式工程师的职业发展方向学习规划

嵌入式的两大方向您了解吗?

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,它是各种电子产品的核心技术,也是工业4.0....

发表于 07-17 11:33 42次 阅读
嵌入式的两大方向您了解吗?

嵌入式系统发展前景好么?

嵌入式系统工程师机器语言程序员程序员嵌入式系统开发编程数据结构、内核操作系统

发表于 07-17 11:33 25次 阅读
嵌入式系统发展前景好么?

为什么要学嵌入式?学好嵌入式真的有发展前途吗?

1. IT行业在多年前就已经超越金融行业,成为平均薪资最高的行业,大家都纷纷开始想在IT行业谋得一席....

发表于 07-17 11:33 54次 阅读
为什么要学嵌入式?学好嵌入式真的有发展前途吗?

嵌入式linux学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过....

发表于 07-17 11:33 19次 阅读
嵌入式linux学习步骤

新手学习嵌入式的十大“不要”

随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有新手....

发表于 07-17 11:33 30次 阅读
新手学习嵌入式的十大“不要”

嵌入式开发与单片机开发有什么区别

1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控....

发表于 07-17 11:33 49次 阅读
嵌入式开发与单片机开发有什么区别

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-17 11:33 52次 阅读
人生苦短,我选Python.

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-17 11:33 32次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-17 11:33 87次 阅读
Python将是人工智能时代的最佳编程语言

初学者如何成长为技术大牛

不想当将军的士兵不是好士兵,这句话对于程序员来说同样适用,不想成为大牛的程序员不是好程序员。做为一个....

发表于 07-17 11:33 32次 阅读
初学者如何成长为技术大牛

嵌入式培训和自学有什么不同

很多人在网上纠结说到底是要自学嵌入式还是参加培训,根据个人接触的很多嵌入式的学员及朋友,说说我的看法....

发表于 07-17 11:33 45次 阅读
嵌入式培训和自学有什么不同

嵌入式开发中调试器的技巧与窍门

从只有几千字节存储空间的简单 8 位控制器,到现在先进的 32 位控制器,虽然微控制器经历了诸多演变....

的头像 Duke 发表于 07-17 08:59 548次 阅读
嵌入式开发中调试器的技巧与窍门

盘点雷达技术在物联网和嵌入式设计中的创新应用

随着物联网(IoT)应用范围不断扩大,许多物联网应用依靠嵌入式传感器执行关键测量任务,或作为控制电路....

的头像 微波射频网 发表于 07-16 17:36 259次 阅读
盘点雷达技术在物联网和嵌入式设计中的创新应用

MSP430的中断分为哪3种?MSP430的中断优先级顺序是什么样的?

MSP430的中断分为3种:系统复位、不可屏蔽中断、可屏蔽中断。

的头像 畅学单片机 发表于 07-16 17:10 183次 阅读
MSP430的中断分为哪3种?MSP430的中断优先级顺序是什么样的?

从裸奔到操作系统,我们将面对什么挑战

在超级循环中,分别调用了func1~func5这5个函数,他们的栈需求分别是10K、5K、9K、8K....

的头像 传感器技术 发表于 07-16 14:13 229次 阅读
从裸奔到操作系统,我们将面对什么挑战