含有JTAG Debug接口模块的CPU提高下载速度

电子设计 2018-05-29 09:41 次阅读

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

一个含有JTAG 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 ---设置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显得很繁忙。

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

热门推荐

收藏 人收藏
分享:

评论

相关推荐

请问am335x的JTAG调试的下载器选用TI有配套的么?

发表于 06-21 04:41 11次 阅读
请问am335x的JTAG调试的下载器选用TI有配套的么?

请问am4378断电有时序要求吗?

发表于 06-21 03:19 28次 阅读
请问am4378断电有时序要求吗?

AM437x CPU 容易损坏,请问TI工作人员,CPU的抗扰损坏能力怎样?是否有不同批次而有改进的情况?

发表于 06-21 01:39 20次 阅读
AM437x CPU 容易损坏,请问TI工作人员,CPU的抗扰损坏能力怎样?是否有不同批次而有改进的情况?

JTAG的作用和原理分析

一般的协议是求着CPU读写字库的程序,但JTAG可以读写CPU的程序,命令让CPU啥活都干,擒贼先擒....

的头像 单片机精讲吴鉴鹰 发表于 06-20 16:27 258次 阅读
JTAG的作用和原理分析

锐龙7 2700X/5 2600X游戏性能详细测试:最佳游戏直播CPU

前不久,AMD带着采用Zen+架构、代号为Pinnacle Ridge的第二代AMD锐龙处理器归来。....

的头像 39度创意研究所 发表于 06-20 16:02 239次 阅读
锐龙7 2700X/5 2600X游戏性能详细测试:最佳游戏直播CPU

FPGA和CPU如何搭配?

如下图,FPGA作为协处理器,CPU把指令写入内存,FPGA从内存读取指令执行,并把计算结果写入内存....

的头像 ssdfans 发表于 06-20 15:17 196次 阅读
FPGA和CPU如何搭配?

必须将芯片国产化替代提升到国家安全层次

有鉴于此,李国杰院士提出了“自主芯片产业发展需要应用支撑”的观点。具体来说,芯片的技术进步与发展不仅....

的头像 半导体观察IC 发表于 06-20 14:59 186次 阅读
必须将芯片国产化替代提升到国家安全层次

AMD可能侵蚀Intel的服务器芯片市场

很显然,这些对于AMD来说都不是问题,AMD和Intel是全球仅有的两家生产X86服务器芯片的企业,....

的头像 柏颖漫谈 发表于 06-20 11:52 377次 阅读
AMD可能侵蚀Intel的服务器芯片市场

AMD“搅局”,宣布6核心的i7-8086K可以免费换16核心的ThreadRipper 1950X!

台北电脑展上,Intel拿出了x86 40周年纪念版Core i7-8086K,加速频率可达5GHz....

发表于 06-20 10:04 63次 阅读
AMD“搅局”,宣布6核心的i7-8086K可以免费换16核心的ThreadRipper 1950X!

AMD二代线程撕裂者Ryzen ThreadRipper 2990X曝光,2核心64线程,最高加速4.0GHz

台北电脑展上,AMD正式宣布了第二代Ryzen ThreadRipper锐龙线程撕裂者,采用和锐龙二....

发表于 06-20 09:12 75次 阅读
AMD二代线程撕裂者Ryzen ThreadRipper 2990X曝光,2核心64线程,最高加速4.0GHz

Intel公布一款8核、Coffee Lake-S的Xeon E处理器,基础主频为3.00GHz

Intel日前在官网公布了一款8核、Coffee Lake-S的Xeon E处理器,Xeon E就是....

发表于 06-20 09:08 127次 阅读
Intel公布一款8核、Coffee Lake-S的Xeon E处理器,基础主频为3.00GHz

S7200SMART的详细资料免费下载

S7-200 SMAR T CPU 模块本体集成1 个以太网接口和1 个RS485 接口,通过扩展C....

发表于 06-20 08:00 17次 阅读
S7200SMART的详细资料免费下载

安徽理工大学2014年汇编试卷免费下载快来复习吧

本文档的主要内容详细介绍的是安徽理工大学2014年汇编试卷免费下载快来复习吧。

发表于 06-20 08:00 12次 阅读
安徽理工大学2014年汇编试卷免费下载快来复习吧

JTAG 链调试程序工具的作用及应用

JTAG 链调试程序工具

的头像 英特尔 Altera视频 发表于 06-20 01:00 89次 观看
JTAG 链调试程序工具的作用及应用

英特尔首款独立GPU将会在2020年推出

英特尔目前并非没有自己的图像解决方案,但都局限于核芯显卡,即Intel HD Graphics系列,....

的头像 嵌入式资讯精选 发表于 06-19 16:02 798次 阅读
英特尔首款独立GPU将会在2020年推出

i7-8086K的开盖预超频版本分四种版本上架,最高售价5540元

Intel为了纪念x86架构诞生40周年而特别推出的限量纪念版i7-8086K已经全面上市(虽然说是....

发表于 06-19 11:57 72次 阅读
i7-8086K的开盖预超频版本分四种版本上架,最高售价5540元

AMD Ryzen 3 2300X/Ryzen 5 2500X曝光,预计7月份会发布

AMD二代锐龙处理器的家族尚未补完,比如入门的Ryzen 3。

发表于 06-19 11:53 63次 阅读
AMD Ryzen 3 2300X/Ryzen 5 2500X曝光,预计7月份会发布

Intel i3-8121U曝光,采用10nm工艺,晶体管密度超过每平方毫米1亿个,高于三星7nm的水平

Intel 10nm工艺因为良品率不达标,大规模量产已经推迟到2019年,眼下只是小批量出货,产品已....

发表于 06-19 11:03 60次 阅读
Intel i3-8121U曝光,采用10nm工艺,晶体管密度超过每平方毫米1亿个,高于三星7nm的水平

Intel宣布,未来的处理器都会天生免疫幽灵、熔断漏洞

Spectre幽灵、Meltdwon熔断安全漏洞事件近来引发广泛关注,而作为技术实力超一流雄厚的芯片....

的头像 39度创意研究所 发表于 06-19 10:43 388次 阅读
Intel宣布,未来的处理器都会天生免疫幽灵、熔断漏洞

LabVIEW ARM嵌入式开发模块的详细介绍和使用手册中文资料概述

LabVIEW ARM嵌入式开发模块是一个完整的图形化开发环境,由NI联合Keil公司开发而成,使用....

发表于 06-19 08:00 21次 阅读
LabVIEW ARM嵌入式开发模块的详细介绍和使用手册中文资料概述

计算机三级考试的嵌入式知识点完全整理赶紧来下载复习吧

RAM 分为动态 DRAM 和静态 SRAM 两种。DRAM 电路简单、集成度高、功耗小、成本低,但....

发表于 06-19 08:00 26次 阅读
计算机三级考试的嵌入式知识点完全整理赶紧来下载复习吧

请问C6678 CPU 技术参考手册在哪里可以下载到?

发表于 06-19 06:42 29次 阅读
请问C6678 CPU 技术参考手册在哪里可以下载到?

6657的JTAG连接,其中TI-60Header的A1是不是直接接地就可以了? 还有6657的JTAG口的电压是1.8V还是3.3V?

发表于 06-19 02:18 10次 阅读
6657的JTAG连接,其中TI-60Header的A1是不是直接接地就可以了? 还有6657的JTAG口的电压是1.8V还是3.3V?

FPGA成为数据中心发展的趋势及重要性

用AI防鲨鱼、用AI学写中国书法、用AI预测人类死亡时间、用AI审判罪犯……在人工智能方兴未艾的今天....

的头像 电子发烧友网工程师 发表于 06-18 07:16 421次 阅读
FPGA成为数据中心发展的趋势及重要性

这种可编程衰减器最高可支持8×8输入输出的矩阵结构

可编程衰减器位于基站和终端之间,通过对射频信号的衰减控制,实现对无线信号的模拟,从而实现对测试场景的....

发表于 06-17 14:02 52次 阅读
这种可编程衰减器最高可支持8×8输入输出的矩阵结构

最新的AMD的CPU路线图曝光,并确认了Zen 5的存在

HardOCP更新了一张最新的AMD的CPU路线图,主要涉及服务器芯片EPYC(霄龙)。

发表于 06-15 11:27 181次 阅读
最新的AMD的CPU路线图曝光,并确认了Zen 5的存在

英特尔首款独立显卡产品将于2020年到来

据外媒报道,英特尔CEO科再奇上周在分析师大会证实,将进军独立显示芯片(Discrete GPU)市....

的头像 芯智讯 发表于 06-15 10:48 671次 阅读
英特尔首款独立显卡产品将于2020年到来

i9 8950HK 是否能上4.8GHz?

8代酷睿游戏本最强的CPU是i9 8950HK,默认高频、不锁倍频、12MB 三级缓存都是她的旗舰特....

的头像 39度创意研究所 发表于 06-15 09:45 209次 阅读
i9 8950HK 是否能上4.8GHz?

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

由JTAG标准决定,通过JTAG写/读一个字节要一系列的操作,根据我的分析,使用简单JTAG电缆,利....

的头像 电子发烧友网 发表于 06-15 09:06 939次 阅读
关于简单JTAG电缆,如何提高JTAG下载速度

请问如何在程序中启用CPU自检?

发表于 06-15 07:57 343次 阅读
请问如何在程序中启用CPU自检?

Rowhammer黑客技术现已可以远程突破Android手机,只需要2分钟就可以完全控制你的设备

在过去几年中,安全研究人员对一种名为Rowhammer的黑客技术并没有太过重视,该技术允许攻击者通过....

的头像 39度创意研究所 发表于 06-14 09:45 361次 阅读
Rowhammer黑客技术现已可以远程突破Android手机,只需要2分钟就可以完全控制你的设备

SDRAM模块功能的详细中文资料概述免费下载

SDRAM 与 Flash 不同,它不具有掉电保持数据的特性,但其存取速度大大高于 Flash 存储....

发表于 06-14 08:00 23次 阅读
SDRAM模块功能的详细中文资料概述免费下载

往CPU1TOCPU2RAM写一组数据,CPU2来读,请问如何来判断这一组数据读时已写完?

发表于 06-14 04:20 49次 阅读
往CPU1TOCPU2RAM写一组数据,CPU2来读,请问如何来判断这一组数据读时已写完?

科再奇:下半年,AMD将在服务器CPU市场从Intel手中直接挖走份额

在消费级桌面,AMD CPU预计年底前的份额可以摸到20%,未来几年将逐步增加。

发表于 06-13 11:38 74次 阅读
科再奇:下半年,AMD将在服务器CPU市场从Intel手中直接挖走份额

怎样让手机电量续航,减少CPU功耗和发热的方法议论

智能手机在生活中的作用越来越大,用户对性能的要求也自然水涨船高,但智能手机与传统的PC最大的区别就是....

发表于 06-13 09:40 119次 阅读
怎样让手机电量续航,减少CPU功耗和发热的方法议论

请问EpwmXBar 只能在CPU1里配置吗?

发表于 06-13 09:06 33次 阅读
请问EpwmXBar 只能在CPU1里配置吗?

有一种管理CPU快速存取内存的新流程,耗能减少高达72%

这种想法本身并不是全新的概念。在IBM的一些Cell处理器以及索尼的PlayStation 3(基于....

的头像 IEEE电气电子工程师学会 发表于 06-13 08:34 621次 阅读
有一种管理CPU快速存取内存的新流程,耗能减少高达72%

请问如何配置,才能使一个子函数既能被主cpu调用,又能被cla 调用?

发表于 06-13 01:14 47次 阅读
请问如何配置,才能使一个子函数既能被主cpu调用,又能被cla 调用?

“内核战争”爆发 英特尔与AMD互怼

自从AMD在2017年发布Ryzen处理器系列以来,英特尔和AMD似乎始终处于“内核战争”之中。显然....

的头像 芯资本 发表于 06-12 17:11 819次 阅读
“内核战争”爆发 英特尔与AMD互怼

不科学的iOS12 苹果如何让它在iPhone上跑得更快

事实证明,苹果确实在 iOS 12的优化上下了很大的工夫,在提升性能和速度的同时、也减少了内存的消耗....

的头像 iPhone频道 发表于 06-12 15:59 1415次 阅读
不科学的iOS12 苹果如何让它在iPhone上跑得更快

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

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

的头像 电子设计 发表于 06-12 09:38 670次 阅读
一个含有JTAG Debug接口模块的CPU

如何在SDK系统中添加新的目标配置

赛灵思SDK允许您使用远程主机中的赛灵思硬件服务器来调试远程目标设备.....

的头像 FPGA开发圈 发表于 06-12 09:11 614次 阅读
如何在SDK系统中添加新的目标配置

ETA3451高频同步降压变换器的详细英文数据手册

ETA3451是一种新型的高频同步降压变换器,它结合了电压模式控制和恒时间控制的优点。它的自适应常数....

发表于 06-12 08:00 29次 阅读
ETA3451高频同步降压变换器的详细英文数据手册

SKW92A 2X2 MIMO无线局域网模块的详细数据说明的资料概述

SKW92A模块包括802.11n MAC和基带、2.4GHz无线电和FEM、580MHz MIPS....

发表于 06-12 08:00 22次 阅读
SKW92A 2X2 MIMO无线局域网模块的详细数据说明的资料概述

AMD在CPU和GPU领域双管齐下,直接向死对头Intel和NVIDIA开火

虽然说AMD和NVIDIA两家公司生产的显卡在挖矿热潮下都不愁卖,但是两家企业在GPU方面的竞争也是....

的头像 芯师爷 发表于 06-11 14:56 1318次 阅读
AMD在CPU和GPU领域双管齐下,直接向死对头Intel和NVIDIA开火

当把8086、i7-8086K两颗相距40年的CPU放在一起时,画面美哭

1978年6月8日,Intel发布第一款16位处理器、第一款x86架构处理器8086,制造工艺为3.....

发表于 06-11 09:37 200次 阅读
当把8086、i7-8086K两颗相距40年的CPU放在一起时,画面美哭

STM32中DMA模块的使用

DMA_Mode_Normal,正常模式,当一次DMA数据传输完后,停止DMA传送,对于上例而言,就....

的头像 21ic电子网 发表于 06-11 08:49 420次 阅读
STM32中DMA模块的使用

Arm宣布推出全新的高端客户解决方案

Arm近日宣布推出全新的高端客户解决方案套件,包含了Arm计算和多媒体IP,不仅能够为智能手机领域的....

的头像 TechSugar 发表于 06-10 09:50 898次 阅读
Arm宣布推出全新的高端客户解决方案

AMD表示二代‘线程撕裂者’处理器的具体发售时间在今年的8月

目前在国内售卖的MateBook D是15.6寸,配置是8代酷睿i5+MX 150独显,所以价格方面....

的头像 科技美学 发表于 06-08 16:26 2360次 阅读
AMD表示二代‘线程撕裂者’处理器的具体发售时间在今年的8月

存储芯片行业何时会用上EUV工艺?

美光CEO Sanjay Mehrotra日前在参加伯恩斯坦年度战略决策会上回答了有关的工艺问题,....

的头像 ICChina 发表于 06-08 14:29 477次 阅读
存储芯片行业何时会用上EUV工艺?

KV-7500的介绍和KV-7500编程及记录功能的详细资料概述

KV-7500 是可编程控制器,简称“PLC”。PLC 在内部配备有微型计算机(CPU:中央运算装置....

发表于 06-08 08:00 88次 阅读
KV-7500的介绍和KV-7500编程及记录功能的详细资料概述

Intel发布28核处理器,为解决散热问题竟用上一台Hailea HC-1000B压缩机

AMD今天发布了32核64线程的第二代Threadripper处理器,Q3季度上市,不论核心数还是进....

发表于 06-07 14:59 659次 阅读
Intel发布28核处理器,为解决散热问题竟用上一台Hailea HC-1000B压缩机

声卡是怎么工作的?

说到声卡,应该90后的朋友大多都不会有深入的了解,也许概念就只停留在知道它是让电脑发出声音的一个部分....

的头像 MIX音频汇 发表于 06-07 14:46 452次 阅读
声卡是怎么工作的?

下代 PS5 主机将使用 AMD 的 Ryzen 处理器?

在 AMD Ryzen 处理器还没发布前,AMD 是以半客制化处理器业务,尤其以 Sony、微软的游....

的头像 39度创意研究所 发表于 06-07 14:46 359次 阅读
下代 PS5 主机将使用 AMD 的 Ryzen 处理器?

一项名为“GPU Turbo”的革命性图形处理加速技术

据介绍,该技术借鉴汽车领域涡轮增压的核心技术原理,对系统底层传统的图形处理框架进行重构,从而打通软硬....

的头像 华为EMUI 发表于 06-07 14:30 2088次 阅读
一项名为“GPU Turbo”的革命性图形处理加速技术

紫光展锐是中国芯片行业的领导者之一,肩负着振兴中国芯片产业的重大使命

紫光展锐高级副总裁John Rowland 先生表示:“作为中国本土的芯片公司,我们正在朝着世界顶级....

的头像 罗德与施瓦茨资讯 发表于 06-07 11:30 1109次 阅读
紫光展锐是中国芯片行业的领导者之一,肩负着振兴中国芯片产业的重大使命

中国芯硅谷——IC PARK

6月30日,IC PARK正式交付,中国“芯硅谷”呼之欲出,在IC行业同样是一件大事。北京兆芯、兆易....

的头像 中关村集成电路设计园 发表于 06-07 09:23 461次 阅读
中国芯硅谷——IC PARK

7个让你电脑降温加速的小技巧

电脑作为一种无论前台还是后台都能够运行程序的计算设备,只要启动应用不关闭,它们还是会缓缓的消耗系统 ....

的头像 科技美学 发表于 06-06 17:13 830次 阅读
7个让你电脑降温加速的小技巧

可以使用TPS65217A芯片供电ZCZ封装的CPU吗?如何选择AM335X电源管理芯片?

发表于 06-04 06:51 153次 阅读
可以使用TPS65217A芯片供电ZCZ封装的CPU吗?如何选择AM335X电源管理芯片?