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

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


收藏 人收藏
分享:

评论

相关推荐

基于嵌入式Linux与S3C2440双USB接口的视频存储

针对长途客车“三超”(中途超载上人,超时,超速)以及在非正常停靠站私自停车上人导致的客车超载,同时目前市面上视频监控设备由...

发表于 12-10 10:17 12次 阅读
基于嵌入式Linux与S3C2440双USB接口的视频存储

在外部看门狗电路下无法烧录程序

给STM32外部增加了硬件看门狗电路,结果无法使用JTAG和SWD两种模式下成功烧录程序,请问如何解决?还是STM32不支持...

发表于 12-10 08:39 47次 阅读
在外部看门狗电路下无法烧录程序

探讨嵌入式系统的发展前景

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特....

的头像 OFweek工控 发表于 12-09 11:05 467次 阅读
探讨嵌入式系统的发展前景

为什么rom核寻址有时候会出来错的结果啊,求助

总是出来后几个地址的结果。。。如图,图一是ise仿真结果,addr为242时的结果为-1400(ip核有时延),但在matlab里看rom的内容24...

发表于 12-08 11:37 14次 阅读
为什么rom核寻址有时候会出来错的结果啊,求助

嵌入式开发是什么

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,l....

的头像 发烧友学院 发表于 12-08 10:12 208次 阅读
嵌入式开发是什么

求一份tmdsevm6678le的User Guide

我现在手上只有板子,根本不会用,查的资料也不全,求一份用户手册,在TI官网上我没找到谢谢啦 ...

发表于 12-07 17:07 116次 阅读
求一份tmdsevm6678le的User Guide

C语言知多少

编程语言何其多,C语言为啥这么牛?C语言是一门通用计算机编程语言,应用非常广泛,没有C语言基础,就无法学习物联网、大数据...

发表于 12-07 15:12 242次 阅读
C语言知多少

嵌入式操作系统的通用硬件抽象层设计

引言 为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微...

发表于 12-07 10:30 37次 阅读
嵌入式操作系统的通用硬件抽象层设计

ARM-v8架构分析

ARM-v8是在32位ARM架构上进行开发的,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高...

发表于 12-07 10:08 529次 阅读
ARM-v8架构分析

嵌入式linux TCP/IP协议栈概述

TCP/IP协议栈可以实现不同型号、不同操作系统的计算机之间的通信,它并不是某个具体的协议,而是一组协议。我们都知道OSI...

发表于 12-07 10:05 311次 阅读
嵌入式linux TCP/IP协议栈概述

STM32F4 SPI3通信是否需要禁止JTAG使能SWD?

     我们在设计电路板的时候,使用了SPI3来读取传感器的数据,但是一直发现SPI3没有应用起来 我用的...

发表于 12-07 09:00 198次 阅读
STM32F4 SPI3通信是否需要禁止JTAG使能SWD?

STM32F407VET6的版本带Y的芯片不稳定

公司近来进了一批STM32F407VET6的芯片,芯片上面的丝印在芯片型号后面带了一个Y,带Y的芯片非常的不稳定,经常会突然J...

发表于 12-07 08:51 139次 阅读
STM32F407VET6的版本带Y的芯片不稳定

嵌入式教程之Linux的基础命令详细资料说明

本文档的主要内容详细介绍的是嵌入式教程之Linux的基础命令详细资料说明主要内容包括了:1.Linu....

发表于 12-06 17:31 34次 阅读
嵌入式教程之Linux的基础命令详细资料说明

嵌入式教程之嵌入式系统基础的详细资料说明

本文档的主要内容详细介绍的是嵌入式教程之嵌入式系统基础的详细资料说明主要内容包括了:1.式系统概述,....

发表于 12-06 17:31 62次 阅读
嵌入式教程之嵌入式系统基础的详细资料说明

Imagination发布最新神经网络加速器

Imagination Technologies宣布推出其面向人工智能(AI)应用的最新神经网络加速....

的头像 Imagination Tech 发表于 12-06 16:09 245次 阅读
Imagination发布最新神经网络加速器

以μC OS-III为例的嵌入式实时操作系统概述

本文档的主要内容详细介绍的是以μC OS-III为例的嵌入式实时操作系统概述主要内容包括了:一. 任....

发表于 12-06 16:06 31次 阅读
以μC OS-III为例的嵌入式实时操作系统概述

安防工程在偏远地区的全面建设之路 依旧需要因地制宜

目前,2018首届西藏安防展研讨会在拉萨举行,针对偏远地区智能安防建设进行了多方位的讨论。在全国智慧....

发表于 12-05 10:13 186次 阅读
安防工程在偏远地区的全面建设之路 依旧需要因地制宜

探析嵌入式系统在IoT产业中的应用

嵌入式系统在IoT产业中非常重要,那么它在产业中是一种怎样的存在,本文主要阐述它在IoT的作用和特点....

的头像 物联网技术 发表于 12-04 14:04 200次 阅读
探析嵌入式系统在IoT产业中的应用

边界扫描技术的详细资料描述

安捷伦边界扫描软件包支持符合IEEE标准1149.1的数字设备的测试。测试开发人员可以有效和高效地测....

发表于 12-04 08:00 31次 阅读
边界扫描技术的详细资料描述

电子专业嵌入式系统课程体系研究分析

随着嵌入式技术的迅猛发展, 学生分析、解决嵌入式实际应用问题的能力亟待提高。本文根据嵌入式系统知识体....

发表于 12-03 14:51 42次 阅读
电子专业嵌入式系统课程体系研究分析

DSP教程之DSP中文版速成教程和DSP的汇编实验程序速学教程免费下载

本用户指南是TMS320F28335 嵌入式DSP 控制模板硬件使用说明书,详细描述了SEED-DE....

发表于 12-03 08:00 48次 阅读
DSP教程之DSP中文版速成教程和DSP的汇编实验程序速学教程免费下载

嵌入式应用框架EAF详解

EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。嵌入....

发表于 12-02 11:30 121次 阅读
嵌入式应用框架EAF详解

基于微处理器S3C2440和WinCE嵌入式实时操作系统的视频数据采集

CMOS图像传感器及其接口电路用于采集视频数据。LCD与触摸屏构成人机交互模块,起到数据交互的作用,....

发表于 12-02 11:18 126次 阅读
基于微处理器S3C2440和WinCE嵌入式实时操作系统的视频数据采集

ZYNQ-7000如何生成从Flash和SD卡启动的镜像文件

ZYNQ-7000如何生成从Flash和SD卡启动的镜像文件 将PL与PS部分一起使用,....

的头像 电子发烧友网工程师 发表于 12-01 08:38 189次 阅读
ZYNQ-7000如何生成从Flash和SD卡启动的镜像文件

研华全面布局AIoT 赋能全球物联网产业链

万物互联时代,边缘计算、人工智能、大数据分析等技术深度融合,成为各行业数字化转型的关键。为凝聚产业力....

的头像 DIGITIMES 发表于 11-30 17:22 583次 阅读
研华全面布局AIoT 赋能全球物联网产业链

UltraFast嵌入式方法检查表介绍及使用方法

UltraFast嵌入式方法检查表介绍,解释清单的功能以及如何使用它。

的头像 Xilinx视频 发表于 11-30 06:45 95次 观看
UltraFast嵌入式方法检查表介绍及使用方法

Matrix多重HLS IP和DAVE Bora套件的展示

DAVE嵌入式系统在嵌入式世界2015中展示了Matrix多重HLS IP和DAVE Bora套件

的头像 Xilinx视频 发表于 11-30 06:43 153次 观看
Matrix多重HLS IP和DAVE Bora套件的展示

使用iVeia视觉套件进行Canny边缘检测HLS IP

iVeia使用嵌入式世界2015中的iVeia视觉套件演示了Canny边缘检测HLS IP

的头像 Xilinx视频 发表于 11-30 06:41 116次 观看
使用iVeia视觉套件进行Canny边缘检测HLS IP

首发:周立功教授《嵌入式软件工程方法与实践丛书》在北航正式出版开售

11月24日,由周立功教授主导撰写的《嵌入式软件工程方法与实践丛书》前三本,共计200万字,在全国嵌....

的头像 人间烟火123 发表于 11-28 16:41 2490次 阅读
首发:周立功教授《嵌入式软件工程方法与实践丛书》在北航正式出版开售

单片机电路设计中的10个难点

单片机是嵌入式系统的核心元件,使用单片机的电路要复杂得多,但在更改和添加新功能时,带有单片机的电路更....

的头像 玩转单片机 发表于 11-28 15:44 494次 阅读
单片机电路设计中的10个难点

嵌入式视觉和工业物联网的亮点

观看Xilinx客户如何将All Programmable技术集成到最新的嵌入式视觉和工业物联网应用....

的头像 Xilinx视频 发表于 11-28 06:43 133次 观看
嵌入式视觉和工业物联网的亮点

Aaware远场语音开发平台的基本介绍

该开发平台提供一个可配置的麦克风阵列(多达13个麦克风),业界一流的声音捕捉和一个完整的Ubuntu....

的头像 Xilinx视频 发表于 11-28 06:08 113次 观看
Aaware远场语音开发平台的基本介绍

人工智能应用场景越来越多 逐渐成为各个行业的必备技能

从2015年开始,人工智能概念从提出伊始就受到市场的高度重视,从无人商店到智慧金融,从智慧物流到智能....

发表于 11-27 17:12 905次 阅读
人工智能应用场景越来越多 逐渐成为各个行业的必备技能

华北工控嵌入式计算机硬件方案在无人零售超市中的应用浅析

“无人”概念在各项智能技术层出不穷的背景下,得到越来越全面的推广。不论是无人零售实体店,还是无人售货....

发表于 11-27 17:05 400次 阅读
华北工控嵌入式计算机硬件方案在无人零售超市中的应用浅析

华北工控环境检测嵌入式硬件系统产品方案浅析

与其他行业相比,化工行业本身所具备的易爆、易燃、腐蚀性等特点使其在安全防范上更具有挑战性,其中涉及到....

发表于 11-27 16:58 210次 阅读
华北工控环境检测嵌入式硬件系统产品方案浅析

嵌入式是否是一个大坑呢?嵌入式软硬件开发都是坑?

这是一个与毕业一年的初级工程师的对话,他来自二线城市,通过加班抗住现有的工作。一个问题调试好几年确不....

的头像 嵌入式ARM 发表于 11-27 16:35 434次 阅读
嵌入式是否是一个大坑呢?嵌入式软硬件开发都是坑?

将DSP设计融入嵌入式系统的AXI4-Lite接口

了解System Generator如何提供AXI4-Lite抽象,从而可以将DSP设计融入嵌入式系....

的头像 Xilinx视频 发表于 11-27 07:24 168次 观看
将DSP设计融入嵌入式系统的AXI4-Lite接口

Airbus智能工具的演示

嵌入式产品产品经理Eric Myers使用NI系统模块(SOM)演示了Airbus智能工具概念,用于....

的头像 Xilinx视频 发表于 11-27 07:05 106次 观看
Airbus智能工具的演示

Xilinx Zynq UltraScale+ MPSoC的同步调试和跟踪演示

Lauterbach演示了Zynq UltraScale + MPSoC上的ARM Cortex-A....

的头像 Xilinx视频 发表于 11-27 06:48 124次 观看
Xilinx Zynq UltraScale+ MPSoC的同步调试和跟踪演示

Mentor嵌入式多核架构的展示

Mentor嵌入式多核架构允许在Zynq UltraScale + MPSoC上的两个ARM Cor....

的头像 Xilinx视频 发表于 11-27 06:44 159次 观看
Mentor嵌入式多核架构的展示

几个嵌入式硬件设计时特别要注意的问题

并不是所有的总线信号都要上拉。上下拉电阻也有功耗问题需要考虑。上下拉电阻拉一个单纯的输入信号,电流也....

的头像 玩转单片机 发表于 11-26 16:05 416次 阅读
几个嵌入式硬件设计时特别要注意的问题

7个易操作且可以长久使用的嵌入式开发技巧

软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。

的头像 嵌入式资讯精选 发表于 11-26 15:37 309次 阅读
7个易操作且可以长久使用的嵌入式开发技巧

如何在嵌入式Linux中使用GPIO

了解如何在嵌入式Linux中使用GPIO,特别强调Zynq-7000系列。 我们介绍了基本的用户和....

的头像 Xilinx视频 发表于 11-26 07:02 137次 观看
如何在嵌入式Linux中使用GPIO

Zynq的新产品PCI-Express板及医疗解决方案的展示

Xilinx卓越联盟计划成员主题嵌入式产品推出新的佛罗里达PCI-Express板,支持两个基于Zy....

的头像 Xilinx视频 发表于 11-26 06:55 153次 观看
Zynq的新产品PCI-Express板及医疗解决方案的展示

linx Spartan-6 LX9 MicroBoard的讨论介绍

介绍这款低成本,紧凑的评估板,完整且可随时开发。

的头像 Xilinx视频 发表于 11-26 06:20 144次 观看
linx Spartan-6 LX9 MicroBoard的讨论介绍

可编程逻辑与Visual Applets相结合的硅软件介绍

这款用于智能电台的嵌入式计算机视觉演示通过将Zynq All Programmable SoC中的可....

的头像 Xilinx视频 发表于 11-26 06:15 187次 观看
可编程逻辑与Visual Applets相结合的硅软件介绍

康佳携嵌入式计算机和嵌入式视觉技术融合的嵌入式视觉平台惊艳亮相

德国康佳特科技在2018德国慕尼黑电子展(Electronica)中亮相嵌入式计算机和嵌入式视觉技术....

发表于 11-25 11:38 283次 阅读
康佳携嵌入式计算机和嵌入式视觉技术融合的嵌入式视觉平台惊艳亮相

混合系统集成了嵌入式HMI和基于云的软件服务

人机界面可以汇集数据,并与云协同工作,从而可以提供强大、可扩展、低成本的方式来收集和分发工业设施数据....

发表于 11-23 17:04 888次 阅读
混合系统集成了嵌入式HMI和基于云的软件服务

全球最小的嵌入式RAID1解决方案亮相 主要针对小型工业与嵌入式系统

随着工控与各种嵌入式计算系统的体积越来越小,存储设备亦进一步小型化,2.5英寸SATA、mSATA及....

发表于 11-23 16:46 150次 阅读
全球最小的嵌入式RAID1解决方案亮相 主要针对小型工业与嵌入式系统

基于人工智能神经网络的嵌入式机器学习

人工智能的火爆,也带旺了许多新名词,比如“机器学习”。

的头像 安富利 发表于 11-23 10:23 646次 阅读
基于人工智能神经网络的嵌入式机器学习

嵌入式Linux工程师需要了解的八大开发知识点

嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,....

的头像 MCU开发加油站 发表于 11-22 16:14 365次 阅读
嵌入式Linux工程师需要了解的八大开发知识点

西部数据发布智能终端的数据存储 视频监控领域的端到端智能方案形成

近日,西部数据公司发布了全新的三个监控存储解决方案,包括应用于监控的工业级3D NAND UFS嵌入....

发表于 11-22 14:55 249次 阅读
西部数据发布智能终端的数据存储 视频监控领域的端到端智能方案形成

Spartan-6 FPGA嵌入式套件的功能特性演示

了解新的Spartan®-6 FPGA嵌入式套件如何使您能够使用低成本的Spartan-6 FPGA....

的头像 Xilinx视频 发表于 11-22 06:37 293次 观看
Spartan-6 FPGA嵌入式套件的功能特性演示

嵌入式视觉的最新趋势讨论

Xilinx嵌入式视觉战略营销总监Aaron Behman讨论了嵌入式视觉的最新趋势以及Xilinx....

的头像 Xilinx视频 发表于 11-22 06:31 239次 观看
嵌入式视觉的最新趋势讨论

详细解析嵌入式LCD的接口分类

LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般....

的头像 玩转单片机 发表于 11-21 16:22 426次 阅读
详细解析嵌入式LCD的接口分类

关于嵌入式电能量采集系统的详细剖析

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

发表于 11-20 17:22 222次 阅读
关于嵌入式电能量采集系统的详细剖析

ynq-7000 AP SoC ZC702评估套件中的模拟混合信号技术概述

Zynq-7000 All Programmable SoC中提供的Xilinx模拟混合信号技术概述....

的头像 Xilinx视频 发表于 11-20 06:18 227次 观看
ynq-7000 AP SoC ZC702评估套件中的模拟混合信号技术概述

Zynq-7000 AP SoC ZC702评估套件的特点与应用

Zynq-7000 All Programmable SoC评估套件ZC702简介使设计人员能够快速....

的头像 Xilinx视频 发表于 11-20 06:17 179次 观看
Zynq-7000 AP SoC ZC702评估套件的特点与应用

Zynq-7000 AP SoC ZC706评估套件的特点与应用

观看Zynq-7000 AP SoC ZC706评估套件,这是一款基于收发器的套件,包含所有必需的硬....

的头像 Xilinx视频 发表于 11-20 06:03 265次 观看
Zynq-7000 AP SoC ZC706评估套件的特点与应用

Xilinx Spartan-6 FPGA协处理套件演示

该视频将向开发人员介绍Xilinx和Avnet的新平台,通过XilinxSpartan®-6 FPG....

的头像 Xilinx视频 发表于 11-20 05:51 295次 观看
Xilinx Spartan-6 FPGA协处理套件演示