读取单片机程序内的程序怎么从JTAG口读出来

STC89C52RC单片机下载程序的接口是_百度知道
STC89C52RC单片机下载程序的接口是
有几KB的闪存。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
STC89C52RC单片机下载程序的接口是:P3.0、P3.1。有几KB的闪存:8K。
采纳率:64%
STC89C52RC单片机下载程序的接口是:P3.0、P3.1。1、关于ISP和IAP的概念:简单的讲,ISP模式是其它电路直接操作单片机的几根专用的端口(比如AT89S51的3根,但其不是JTAG口,只是硬件接口类似)完成烧录,属于硬件烧录模式;IAP模式是单片机通过串口接收到需要烧录的程序代码,然后进行“自编程”完成烧录。区别在“自编程”(关于ISP和IAP,可以看一下我以前的一个回答,里面简单说明了单片机下载烧录的原理,应该对你有帮助的2、关于仿真器,你的理解是正确的;而仿真芯片一般只是用来做仿真器的。3、关于在线调试,分为两种情况:一种是将仿真器的仿真头插在用户板上,从而实现全速、断点、单步调试;第二种则是单片机自身具备这种接口,比如JTAG接口,只需通过串口实现全速、断点、单步调试。这两种都叫在线调试。而IAP和ISP只是编程烧录操作,含义不一样。4、第一句话含义是兼容ISP、IAP。第二句话意思是在单片机的ROM区包含了实现单片机自编程的代码,可以通过串口实现编程操作。第三句话的意思是可以由用户自己编制编程软件,从而在最终的应用里实现代码的自编程操作。关于第二和第三句话的详细含义都可以看上面的连接。
在板子上设计232接口连接到单片机的UART,只要单片机支持IAP就可以实现下载程序的功能;同样,如果单片机具备JTAG接
希望对你有用
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JTAG_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
JTAG是英文“Joint Test Action Group()”的词头字母的简写,该组织成立于1985 年,是由几家主要的电子制造商发起制订的PCB 和IC 测试标准。JTAG 建议于1990 年被IEEE 批准为IEEE0 测试访问端口和结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE93 和IEEE94。JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线。
JTAG国际协议
JTAG也是一种国际标准测试协议( 1149.1兼容),主要用于芯片内部测试。现今多数的高级器件都支持JTAG协议,如DSP、FPGA、ARM、部分单片机器件等。标准的是4线:
、、、,分别为模式选择、时钟、数据输入和线。 相关JTAG的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。GND
还定义了一种叫SBW-JTAG的接口,用来在引脚较少的芯片上通过最少的利用引脚实现JTAG接口,它只有两条线,SBWTCK,SBWTDIO。实际使用时一般通过四条线连接,VCC,SBWTCK,SBWTDIO,GND,这样就可以很方便的实现连接,又不会占用大量引脚。
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个(Test Access Port测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现今,JTAG接口还常用于实现(In-System P),对FLASH等器件进行编程。
JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程后再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对内部的所有部件进行编程。
在硬件结构上,JTAG 接口包括两部分:JTAG 端口和控制器。与JTAG 接口兼容的器件可以是()、(MCU)、PLD、CPL、FPGA、DSP、ASIC 或其它符合IEEE1149.1 规范的芯片。IEEE1149.1 标准中规定对应于芯片的每个都设有一个移位寄存单元,称为单元BSC。它将JTAG 电路与内核逻辑电路联系起来,同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描BSR。边界扫描寄存器电路仅在进行JTAG 测试时有效,在集成电路正常工作时无效,不影响集成电路的功能。
JTAG扫描技术
JTAG是一种所谓的边界扫描技术。
边界扫描测试是在20世纪80年代中期作为解决PCB物理访问问题的JTAG接口发展起来的,这样的问题是新的封装技术导致电路板装配日益拥挤所产生的。在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描--自1990年以来的行业标准IEEE 1149.1--您甚至能够对最复杂的装配进行测试、调试和在系统设备编程,并且诊断出硬件问题。
边界扫描的优点:
通过提供对扫描链的IO的访问,可以消除或极大地减少对电路板上物理测试点的需要,这就会显著节约成本,因为电路板布局更简单、测试夹具更廉价、电路中的测试系统耗时更少、标准接口的使用增加、上市时间更快。除了可以进行电路板测试之外,允许在PCB贴片之后,在电路板上对几乎所有类型的CPLD和闪存进行编程,无论尺寸或封装类型如何。在可通过降低设备处理、简化库存管理和在电路板生产线上集成编程步骤来节约成本并提高产量。
边界扫描原理:
IEEE 1149.1 标准规定了一个四线(第五条线是可选的),该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC),例如、DSP、ASIC和CPLD。除了TAP之外,混合IC也包含和,以执行边界扫描功能。在TDI(测试数据输入)引线上输入到芯片中的数据存储在中或一个中。串行数据从TDO(测试)引线上离开芯片。边界扫描逻辑由TCK(测试时钟)上的信号计时,而且TMS(测试模式选择)信号驱动TAP控制器的状态。TRST(测试重置)是可选项。根据相关数据手册中的说明,TRST、TDI、TMS引脚上需要接一个10KΩ的上拉电阻,而TCK需要接一个10KΩ的下拉电阻。
在PCB上可串行互连多个可兼容扫描功能的IC,形成一个或多个扫描链,每一个链都由其自己的TAP。每一个扫描链提供电气访问,从串行TAP接口到作为链的一部分的每一个IC上的每一个引线。在正常的操作过程中,IC执行其预定功能,就好像电路不存在。但是,当为了进行测试或而激活设备的扫描逻辑时,数据可以传送到IC中,并且使用从IC中读取出来。这样数据可以用来激活设备核心,将信号从设备引线发送到PCB上,读出PCB的输入引线并读出设备输出。
在中,一些高档的都带有JTAG接口,方便多目标系统进行测试,同时还可以实现flash编程。
JTAG接口解读
JTAG接口解读
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。
一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,像UART,Timers,GPIO等等的寄存器。
上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。
例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOC DataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。有的SOC则还需要Remap,才能正常工作。运行Firmware时,这些设置由Firmware的初始化程序完成。但如果使用JTAG接口,相关的可能还处在上电值,甚至时,RAM不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置RAM。在ADW中,可以在Console窗口通过Let 命令设置,在AXD中可以在Console窗口通过Set命令设置。
下面是一个设置AT91M40800的命令序列,关闭中断,设置CS0-CS3, 并进行Remap,适用于AXD(ADS带的Debug)
0xfffff124,0xFFFFFFFF,32 ---关闭所有中断
setmem 0xffe0253d,32 ---设置CS0
setmem 0xffe02021,32 ---设置CS1
setmem 0xffe0253d,32 ---设置CS2
setmem 0xffe0253d,32 ---设置CS3
0xffe ---Remap
如果要在ADW(SDT带的DEBUG)中使用,则要改为:
let 0xfffff124=0xFFFFFFFF ---关闭所有中断
let 0xffe0253d ---设置CS0
let 0xffe02021 ---设置CS1
let 0xffe0253d ---设置CS2
let 0xffe0253d ---设置CS3
let 0xffe00020=1 ---Remap
为了方便使用,可以将上述命令保存为一个文件, 在Console窗口输入 ob config.ini 即可执行。
使用其他debug,大体类似,只是命令和命令的格式不同。
设置RAM时,设置的以及寄存器的值必须和要运行程序的设置一致。一般编译生成的目标文件是ELF格式,或类似的格式,包含有目标码运行地址,运行地址在Link时候确定。Debug下载程序时根据ELF文件中的地址信息下载程序到指定的地址。如果在把RAM的基地址设置为0x, 而在编译的时候指定Firmware的开始地址在0x, 下载的时候,目标码将被下载到0x,显然下载会失败。
通过JTAG下载程序前应关闭所有中断,这一点和Firmware初始化时关闭中断的原因相同。在使用JTAG接口的时候,各中断的使能未知,尤其是FLASH里有可执行码的情况,可能会有一些中断被使能。使用JTAG下载完代码,要执行时,有可能因为未完成初始化就产生了中断,导致程序异常。所以,需要先关闭中断,一般通过设置SOC的中断完成。
使用JTAG写Flash。在理论上,通过JTAG可以访问CPU总线上的所有设备,所以应该可以写FLASH,但是FLASH和RAM大不相同,需要特殊的命令,而且不同的FLASH擦除,编程命令不同,而且块的大小,数量也不同,很难提供这一项功能。所以一般Debug不提供写,或者仅支持少量几种Flash。
现今就我知道的,针对ARM,只有FlashPGM这个软件提供写FLASH功能,但使用也非常麻烦。AXD,ADW都不提供写FLASH功能。写Flash的方法可以是,自己写一个简单的程序,专门用于写的FLASH,利用JTAG接口,下载到目标板,再把要烧写的目标码装成BIN格式,也下到目标板(地址和烧FLASH的程序的地址不同),然后运行已经下载的烧FLASH的程序。使用这种方式,比起FlashPGM的写Flash,速度似乎要快一些。
上面说的是以前的情形,现今情况有变——哲远科技已经开发出成熟JTAG烧写软件,并且经过多家公司的验证,产品主要特点:
不需要借助、调试器,不需要原厂软件,大大降低成本、提供生产灵活性。
不需要使用带插座的FLASH,提高可靠性。
与CPU架构无关,支持PowerPC/ARM/MIPS等架构的CPU或SoC。
使用CPU 的JTAG 接口,无需增加任何额外电路。
支持numonyx, Spansion, Intel, AMD, ST, SST, EON,等厂家的NOR FLASH。且提供后续新FLASH型号的全程支持。
不需要CPU任何启动代码即可完成烧写。
即使CPU或者因Flash数据损坏导致不能启动时,同样可以回读Flash内容,为维修调试提供依据。
支持块操作(擦除、加锁、解锁)。
除了编程功能以外,还可以通过点灯等操作验证JTAG 器件的基本功能。
使用WH-USB-JTAG电缆,加载FLASH速度比并口电缆快10倍左右。
可以读写其他芯片
通过程序可以读写与JTAG器件(通常是CPU)相连的其他芯片(如CPLD, ASIC等),这样在CPU没有跑起来或没有软件的情况下甚至都可以去对单板做一些调试,从而提高效率,缩短开发周期。
JTAGJTAG电缆
关于简单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显得很繁忙。
总的来说,本人认为,对于个人爱好者来说,第二种方法更可取。
JTAG电气特性
JTAG的接口是一种特殊的4/5个接脚接口连到芯片上 ,所以在电路版上的很多芯片可以将他们的JTAG接脚通过Daisy Chain的方式连在一起,并且Probe只需连接到一个“JTAG端口”就可以访问一块电路板上的所有IC。这些连接引脚是:  
TDI(测试数据输入)  TDO(测试数据输出)  TCK(测试时钟)  TMS(测试模式选择)  TRST(测试复位)可选。  
JTAGJTAG链
  因为只有一条数据线,通信协议有必要像其他串行设备接口,如SPI一样为串行传输。时钟由TCK引脚输入。配置是通过TMS引脚采用状态机的形式一次操作一位来实现的。每一位数据在每个TCK时钟脉冲下分别由TDI和TDO引脚传入或传出。可以通过加载不同的命令模式来读取芯片的标识,对输入引脚采样,驱动(或悬空)输出引脚,操控芯片功能,或者旁路(将TDI与TDO连通以在逻辑上短接多个芯片的链路)。TCK的工作频率依芯片的不同而不同,但其通常工作在10-100MHz(每位10-100ns)。  当在集成电路中进行边界扫描时,被处理的信号是在同一块IC的不同功能模块间的,而不是不同IC之间的。  TRST引脚是一个可选的相对待测逻辑低电平有效的复位开关——通常是异步的,但有时也是同步的,依芯片而定。如果该引脚没有定义,则待测逻辑可由同步时钟输入复位指令而复位。  尽管如此,极少消费类产品提供外部的JTAG端口接口,但作为开发样品的残留,这些接口在印刷电路板上十分常见。在研发后,这些接口常常为反向工程提供了非常良好的途径。
JTAG专业术语:
Group, Joint Test Action (JTAG)
测试行动联合组织
Joint Test Action Group (JTAG)
测试行动联合组织
.电子系统设计[引用日期]
清除历史记录关闭急急:FET430UIF和430单片机是什么关系?二者独立?然后连在一起?通过JTAG接口连接?到底怎么弄得啊?_百度知道
急急:FET430UIF和430单片机是什么关系?二者独立?然后连在一起?通过JTAG接口连接?到底怎么弄得啊?
我是单片机新手,求单片机大神帮帮我!急急急急急
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
FET430UIF是仿真器,是给430单片机的下载程序、调试用的工具,两者是独立运行的....
采纳率:74%
为您推荐:
其他类似问题
jtag接口的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机的JTAG接口功能是什么_百度知道
单片机的JTAG接口功能是什么
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
1用于烧写FLASH
烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 2 用于调试程序 同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。
3 仿真器 根据1和2的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。
OSC(oscillator)----,晶振,RAM(Random-Access Memory)-----随机访问存取存储器SFR (special function register)-----特殊功能寄存器
嘻嘻,IT呢
IT是用来选择下降沿触发还是低电平触发的,IT= 0是低电平触发
那A/D呢
可以聊下吗
A是指模拟。D是指数字
数字方式进行运算的,而实际的机器人或电器等在运转时,是模电下进行的。两者的通信就需要一个接口,而a/d,d/a则是实现这个接口的桥梁。
采纳率:50%
主要是 调试 和 下载
SPI是一种同步串行外设接口,用于与通过SPI连接到你的单片机的外部设备与单片机之间交换信息。
那A/D呢
我不知道呀,问百度吧,百度啥都知道
为您推荐:
其他类似问题
jtag接口的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。怎样通过 CPLD 的 JTAG 口将程序烧写到 CPLD 的 UFM 中
[问题点数:40分]
本版专家分:0
CSDN今日推荐
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:136
匿名用户不能发表回复!|
其他相关推荐

我要回帖

更多关于 怎么读取单片机程序 的文章

 

随机推荐