【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

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

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


收藏 人收藏
分享:

评论

相关推荐

嵌入式产品开发流程详细分析

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细....
的头像 单片机精讲吴鉴鹰 发表于 02-21 15:55 67次 阅读
嵌入式产品开发流程详细分析

初学者如何学习嵌入式Linux底层系统

做应用门槛低,特别是现在的ANDROID,纯JAVA。做应用的发展路径个人认为就是业务纯熟。比如在通....
的头像 嵌入式ARM 发表于 02-21 14:12 103次 阅读
初学者如何学习嵌入式Linux底层系统

8168加载完UBOOT成功后,连接串口后无任何反应

大家好,我用的合众达的开发板,用JTAG通过CCSv5烧写uboot到NAND,就是u-boot_dvr.bin,提示成功。把板卡的启动方式设...
发表于 02-21 13:32 19次 阅读
8168加载完UBOOT成功后,连接串口后无任何反应

Micronas推出嵌入式电机控制器HVC 4420F 目的是用于汽车应用

TDK集团成员Micronas公司推出新的嵌入式电机控制器HVC 4420F ,产品特色是具有用于驱....
发表于 02-21 08:40 16次 阅读
Micronas推出嵌入式电机控制器HVC 4420F 目的是用于汽车应用

请问如何知道JTAG是V几的?

JTAG无法识别的  需要更新一下固件 别人给我的JLink 我不知道是V几的...
发表于 02-21 06:35 5次 阅读
请问如何知道JTAG是V几的?

请问有人熟悉AT49BV163DT的操作吗?

请问 有谁熟悉AT49BV163DT的操作?
发表于 02-21 04:45 7次 阅读
请问有人熟悉AT49BV163DT的操作吗?

Altera SOPC嵌入式系统设计教程

Altera SOPC嵌入式系统设计教程第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提...
发表于 02-21 04:38 27次 阅读
Altera SOPC嵌入式系统设计教程

请问向嵌入式软件工程师发展,计算机等级考试往哪个方向考好?

嗯、、前段时间考了计算机2级,下次要考3级,我对嵌入式软件工程师方面比较感兴趣,做系统或者底层驱动都喜欢,相对而言更喜欢底...
发表于 02-21 03:23 20次 阅读
请问向嵌入式软件工程师发展,计算机等级考试往哪个方向考好?

基于和欣嵌入式操作系统实现的一个构件化的网络协议栈设计浅析

嵌入式Internet是随着嵌入式系统的广泛应用和计算机网络技术的发展而产生的一种新概念和技术。嵌入....
发表于 02-20 14:59 46次 阅读
基于和欣嵌入式操作系统实现的一个构件化的网络协议栈设计浅析

Xilinx 7系列FPGA GTP收发器的数据手册免费下载

7系列FPGA GTP收发器的可定制Logicore™IP Chipscope™Pro集成误码率测试....
发表于 02-20 14:30 14次 阅读
Xilinx 7系列FPGA GTP收发器的数据手册免费下载

一位嵌入式工程师的自述

当初迁移CSDN的博客到OSCHINA的主要原因是CSDN的博客加载速度慢,而且隔三差五的不能写文章....
的头像 工程师人生 发表于 02-20 14:25 144次 阅读
一位嵌入式工程师的自述

嵌入式工程师的发展前景与现状

根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监控或者辅助设备、机器和车间运行....
的头像 工程师人生 发表于 02-20 14:18 121次 阅读
嵌入式工程师的发展前景与现状

嵌入式工程师的发展方向有哪些

嵌入式工程师分布在各行各业上面。这其中包括了消费电子、工业电子、汽车电子和军用电子等等。从功能上面看....
的头像 工程师人生 发表于 02-20 14:12 132次 阅读
嵌入式工程师的发展方向有哪些

一款嵌入式物联网开发神器---Microchip的 CEC1x02开发板

这里请大家注意,CEC1x02开发板有两个扩展排针兼容MikroElektronika MikroB....
的头像 贸泽电子设计圈 发表于 02-20 10:06 328次 阅读
一款嵌入式物联网开发神器---Microchip的 CEC1x02开发板

全球车用嵌入式影像传感器市场需求暴增,复合成长率将达19%

预期原先仅配备在高级汽车中的环景影像(surround view)功能,将会在未来5~6年内被广泛采....
发表于 02-19 16:21 80次 阅读
全球车用嵌入式影像传感器市场需求暴增,复合成长率将达19%

没有许可证管理器

我安装了SPC5 1.3版。我买了并收到了(SPC5-UDESTK)JTAG适配器,它附带了一个UDEDEBG激活密钥。我在哪里...
发表于 02-19 16:15 21次 阅读
没有许可证管理器

物联网与嵌入式系统在人工智能时代如何发展

作为支撑人工智能、物联网和5G 发展,作为连接芯片与应用粘结剂的嵌入式技术也将迎来新的机遇。
的头像 嵌入式资讯精选 发表于 02-19 15:07 206次 阅读
物联网与嵌入式系统在人工智能时代如何发展

浅析七款嵌入式Linux操作系统

除了智能数字终端领域以外,Linux在移动计算平台、智能工业控制、金融业终端系统,甚至军事领域都有着....
发表于 02-19 14:58 89次 阅读
浅析七款嵌入式Linux操作系统

下一代Armv8.1-M架构能够提升最小型边缘设备的机器学习能力

Arm Helium技术作为一种全新的M-Profile Vector Extension矢量扩充方....
发表于 02-19 13:58 168次 阅读
下一代Armv8.1-M架构能够提升最小型边缘设备的机器学习能力

[转]搞嵌入式驱动开发一年多的感触

一年多来,搞嵌入式驱动开发项目做的不少: 从网络驱动到CAN驱动、从Dataflash驱动到NAND/NOR FLASH驱动、从C...
发表于 02-19 10:01 414次 阅读
[转]搞嵌入式驱动开发一年多的感触

英特尔在嵌入式领域有大展宏图的信心和决心

“我认为中国可能是一个引发点,现在中国嵌入式市场有一个很大的发展,然后辐射到全球的地区。”英特尔首席....
发表于 02-18 14:14 217次 阅读
英特尔在嵌入式领域有大展宏图的信心和决心

在C51中嵌入式汇编的详细步骤资料说明编详细步骤 

本文档的主要内容详细介绍的是在C51中嵌入式汇编的详细步骤资料说明编详细步骤 。
发表于 02-18 09:53 28次 阅读
在C51中嵌入式汇编的详细步骤资料说明编详细步骤 

一种基于嵌入式TCP/IP软件体系结构的优化设计和实现方案详解

随着计算机网络技术和电子信息技术的迅猛发展,Internet的普及,接入Internet的非PC设备....
发表于 02-16 11:24 73次 阅读
一种基于嵌入式TCP/IP软件体系结构的优化设计和实现方案详解

嵌入式一体化的智能化产品在智能交通领域内的应用获得广泛认同

随着世界经济和我国经济的不断发展,交通运输越来越成为国民经济生活中的一个极其重要、不可缺少的因素,现....
发表于 02-16 11:12 151次 阅读
嵌入式一体化的智能化产品在智能交通领域内的应用获得广泛认同

32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

本文档的主要内容详细介绍的是32位单片机与嵌入式操作系统的测试复习题资料免费下载。
发表于 02-15 17:19 90次 阅读
32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

spartan-6 FPGA的配置资料说明

本文档的主要内容详细介绍的是spartan-6 FPGA的配置资料说明。
发表于 02-15 16:39 25次 阅读
spartan-6 FPGA的配置资料说明

基于ARM11平台的智能火灾监测报警系统研究

随着我国城镇化建设进程的加快,城镇的火灾隐患越来越大,每年我国都因为火灾而造成巨大的经济损失。尽管目....
发表于 02-15 15:45 93次 阅读
基于ARM11平台的智能火灾监测报警系统研究

随着成本的逐步降低 中国的智能家居最终将走向嵌入式

后PC时代的到来完全依赖于嵌入式技术的诞生与发展,传统的IT设备逐渐转变为嵌入式设备,这是一个大趋势....
发表于 02-15 15:38 224次 阅读
随着成本的逐步降低 中国的智能家居最终将走向嵌入式

单片机与嵌入式的详细资料总结免费下载

本文档的主要内容详细介绍的是单片机与嵌入式的详细资料总结包括了:1.嵌入式系统概述,2.常用嵌入式平....
发表于 02-15 10:28 61次 阅读
单片机与嵌入式的详细资料总结免费下载

位运算让嵌入式系统更快更稳定

本方法可以让C语言指令进一步接近汇编指令的执行效率,提高单片机、嵌入式系统的速度和稳定性,但编程时应....
的头像 嵌入式资讯精选 发表于 02-15 08:56 148次 阅读
位运算让嵌入式系统更快更稳定

JTAG调试提示Could not find supported CPU core on JTAG chain

老是提示:Could not find supported CPU core on JTAG chain...
发表于 02-15 02:11 55次 阅读
JTAG调试提示Could not find supported CPU core on JTAG chain

嵌入式产品的研发流程详解

当一个项目做完的时候,如果客户突然又增加需求,增加功能,将导致你的项目周期严重拖延,成本剧烈上升,并....
的头像 玩转单片机 发表于 02-14 15:42 304次 阅读
嵌入式产品的研发流程详解

EFM8BB1 8位微控制器的数据手册免费下载

EFM8BB1 是 Busy Bee 系列的 MCU,是一款小封装且功能全面的多用途 8-位微控制器....
发表于 02-14 08:00 23次 阅读
EFM8BB1 8位微控制器的数据手册免费下载

Xilinx的HZZD-MEZYNQ硬件使用手册

HZZD-MEZYNQ 默认基于XILINX 的SOC 系列XC7Z010 处理器设计,具有低功耗、....
发表于 02-13 17:16 25次 阅读
Xilinx的HZZD-MEZYNQ硬件使用手册

设计嵌入式系统硬件电路时需要考虑哪些问题

设计以MCU为核心的嵌入式系统硬件电路需要根据需求分析进行综合考虑,需要考虑的问题较多,这里给出几个....
的头像 玩转单片机 发表于 02-13 16:32 239次 阅读
设计嵌入式系统硬件电路时需要考虑哪些问题

几种架构中代码压缩技术的实现进行比较分析

对于嵌入式软件而言,代码尺寸是越小越好。压缩代码以适应受到成本或空间限制的存储子系统已经成为嵌入式系....
的头像 玩转单片机 发表于 02-13 16:28 297次 阅读
几种架构中代码压缩技术的实现进行比较分析

新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

虽然FPGA的传统用户是硬件设计者,但是赛灵思的新型嵌入式设计平台,使得软件开发人员也能够在熟悉的环....
发表于 02-13 16:07 107次 阅读
新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

请问可以使用JTAG作为从FPGA传输大量高速数据到PC的通道吗?

通常我们使用USB作为通道,在数据采集项目中将大量的高速数据从FPGA传输到PC。 我正在考虑使用JTAG作为数据传输的...
发表于 02-13 13:11 46次 阅读
请问可以使用JTAG作为从FPGA传输大量高速数据到PC的通道吗?

未检测到Chipscope-pro分析仪,Xilinx平台USB电缆

嗨, 我正在尝试使用Xilinx Platform USB Cable通过Chipscope-pro Analyzer工具调试我的RTL设计,其中未检测到JTA...
发表于 02-13 11:22 34次 阅读
未检测到Chipscope-pro分析仪,Xilinx平台USB电缆

iVMS-4200监控软件的使用说明免费下载

软件iVMS-4200是为嵌入式网络监控设备开发的软件应用程序,适用于嵌入式网络硬盘录像机、混合型网....
发表于 02-13 08:00 23次 阅读
iVMS-4200监控软件的使用说明免费下载

Hi3518A和Hi3518C和Hi3518E及Hi3516C Linux开发环境的用户指南

本文档介绍 Linux 开发环境。Linux 开发环境的搭建、HiBoot、Linux 内核、根文件....
发表于 02-12 08:00 24次 阅读
Hi3518A和Hi3518C和Hi3518E及Hi3516C Linux开发环境的用户指南

盘点嵌入式技术在物联网中的应用

随着IT技术飞速发展,互联网已经进入了“物联网”时代。
的头像 嵌入式ARM 发表于 02-11 16:57 590次 阅读
盘点嵌入式技术在物联网中的应用

如何正确的设计嵌入式软件架构应该这么做

近公司新招了一个做嵌入式软件开发的同事,该同事是从上海的某一个上市公司出来的,因为我们这边人手不够,....
的头像 嵌入式ARM 发表于 01-29 15:45 539次 阅读
如何正确的设计嵌入式软件架构应该这么做

浅谈嵌入式Linux下的C语言编程知识要点

Linux和C语言有着很深的渊源,因为Linux本身就是用C语言编写的。同时,在Linux操作系统中....
的头像 玩转单片机 发表于 01-28 11:32 678次 阅读
浅谈嵌入式Linux下的C语言编程知识要点

如何选择合适的MCU和电源让你的嵌入式电路设计更高效

1、MCU的选择选择 MCU 时要考虑 MCU 所能够完成的功能、MCU 的价格、功耗、供电电压、I....
的头像 玩转单片机 发表于 01-27 11:40 1026次 阅读
如何选择合适的MCU和电源让你的嵌入式电路设计更高效

首颗国产40纳米工业级嵌入式存储芯片开始小批量生产 并打入十多家厂商

政府性基金引路,社会资本跟进,江苏南通新一代信息技术产业链“芯片设计”的“缺环”有望加快补齐。两个月....
发表于 01-27 11:10 276次 阅读
首颗国产40纳米工业级嵌入式存储芯片开始小批量生产 并打入十多家厂商

eFPGA是什么?几个关于eFPGA的常见迷思

eFPGA,全称为嵌入式FPGA(Embedded FPGA),顾名思义是将类似于FPGA的可编程逻....
的头像 TechSugar 发表于 01-27 10:40 701次 阅读
eFPGA是什么?几个关于eFPGA的常见迷思

嵌入式系统的发展将实现计算机的无处不在

以嵌入式计算机为核心的嵌入式系统(Embedded System)是继IT网络技术之后,又一个新的技....
的头像 嵌入式ARM 发表于 01-25 11:17 1130次 阅读
嵌入式系统的发展将实现计算机的无处不在

基于ARM处理器的嵌入式防火墙总体架构设计

进一步的工作包括继续优化其通信性能,或者在其基础之上扩展相关安全应用,包括身份认证系统、入侵检测系统....
的头像 嵌入式ARM 发表于 01-25 10:35 820次 阅读
基于ARM处理器的嵌入式防火墙总体架构设计

MRAM的嵌入式和独立式存储器会开始分流

几乎所有的新兴存储器出道时都宣称与CMOS工艺兼容,意思是可以做逻辑工艺的嵌入式存储器。
的头像 DIGITIMES 发表于 01-25 10:06 908次 阅读
MRAM的嵌入式和独立式存储器会开始分流

传闻中的英特尔新CEO们来一次大盘点

从苹果官网和一些网络资料来看,斯鲁吉拥有以色列理工学院的计算机科学学士和硕士学位。担任过以色列IBM....
的头像 TechSugar 发表于 01-23 17:00 1308次 阅读
传闻中的英特尔新CEO们来一次大盘点

嵌入式PROFIBUS现场总线通信接口设计

接口板与用户模板采用串口连接,使用波特率选择开关可选择指定 的7种波特率(9600、19.2K、 3....
发表于 01-23 15:18 142次 阅读
嵌入式PROFIBUS现场总线通信接口设计

莱迪思半导体推出的嵌入式视觉开发套件是一个模块化的平台

莱迪思半导体公司(NASDAQ: LSCC),客制化智能互连解决方案市场的领先供应商,宣布推出全新的....
发表于 01-23 14:41 387次 阅读
莱迪思半导体推出的嵌入式视觉开发套件是一个模块化的平台

衡宇科技完成新一轮融资 潜心发展嵌入式NAND Flash控制芯片等

据悉,衡宇科技于2012年2月创立,可为用户提供应用于通讯、消费电子及数据处理行业的闪存主控芯片产品....
发表于 01-22 15:51 259次 阅读
衡宇科技完成新一轮融资 潜心发展嵌入式NAND Flash控制芯片等

适合STM32的五大嵌入式操作系统

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-....
的头像 玩转单片机 发表于 01-21 17:38 888次 阅读
适合STM32的五大嵌入式操作系统

解答ARM嵌入式初学者常见疑问

ARM7比起ARM9,更适合初学者学习。和ARM7相比,应该说ARM9在性能方面有很大提高,但ARM....
的头像 嵌入式ARM 发表于 01-21 16:48 702次 阅读
解答ARM嵌入式初学者常见疑问

嵌入式C代码编码习惯要遵循哪些规则

Cortex-M这类微控制器编程通常采用C代码,那么编程人员如何编写代码才能让C编译器产生高质量底层....
的头像 电子发烧友网工程师 发表于 01-21 15:17 607次 阅读
嵌入式C代码编码习惯要遵循哪些规则

物联网满足嵌入式系统需求

即使坐在在互联网上最小的设备是黑客试图窃取信息,潜在的目标伪造数据,或者损坏或禁用该设备本身。在人们....
发表于 01-20 09:47 537次 阅读
物联网满足嵌入式系统需求

如何去做嵌入式_还需要具备这6点知识

我们知道要入门嵌入式,进行嵌入式的学习,尤其是未来想要从事嵌入式硬件相关的工作,但是做嵌入式并不是只....
的头像 刘某 发表于 01-19 15:57 948次 阅读
如何去做嵌入式_还需要具备这6点知识

嵌入式硬件电路设计中的六大要点

嵌入式设计是个庞大的工程,硬件电路设计方面这几个要点需要格外注意。嵌入式的硬件构架中CPU是系统的灵....
的头像 嵌入式ARM 发表于 01-18 14:33 599次 阅读
嵌入式硬件电路设计中的六大要点