JTAG接口主要包括以下四个引脚:TMS TCK TDI和TCO及一个可选配的引脚TRST,用于驱动电路模块和控制执行规定的操作。各引脚的功能如下:
TCK:JTAG测试时钟,为TAP控制器和寄存器提供测试参考。在TCK的同步作用下通过TDI和TDO引脚串行移入或移出数据及指令。同时,TCK为TAP控制器状态机提供时钟。
TMS:TAP控制器的三项式输入信号。TCK的上升沿时刻TMS的状态确定TAP控制器即将进入的工作状态。通常TMS引脚具有内部上拉电阻,以保证该引脚在没有驱动时处于逻辑1状态。
TDI:JTAG指令和数据寄存器的串行数据输入端。TAP控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作由TDI装入哪个寄存器。在TCK的上升沿时刻,TDI引脚状态被除数采样,结果送到JTAG寄存器组。
TDO:JTAG指令和数据寄存器的串行输出端。TAP控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作哪个寄存器的内容送到TDO输出。对于任何已知的操作,在TDI和TDO之间只能有一个寄存器(指令或数据)处于有效连接状态。TDO在TCK的下降沿改变状态,并且只在数据通过器件移动过程中有效。该引脚在其它的时间处于高阻状态。
关键字:JTAG 调试接口 串行输出
引用地址:
JTAG调试接口电路图设计
推荐阅读最新更新时间:2024-05-02 23:11
AT89C51单片机高速串行输出口设计
摘要: 介绍使用AT89C51单片机扩展高速串行同步移位输出口的方法,给出基于分立TTL元器件和可编程逻辑器件PLD两种电路的实现方案,在LED点阵显示屏系统中已得到应用。
关键词: 串行口 单片机 可编程逻辑器件
AT89C51(与MCS-51兼容)单片机的串行口在方式0工作状态下,使用移位寄存器芯片可以扩展多个8位并行I/O口。在LED点阵显示屏应用系统中,一般都采用数据同步移位输出方式,并使用移位寄存器芯片(如74LS595)扩展并行I/O口驱动LED点阵显示。LED点阵显示采用扫描方式,为不产生闪烁感,每秒需要传送50屏点阵显示数据,因此有大量的数据要通过同步移位的方式送到显示驱动电路部
[工业控制]
AVR单片机JTAG调试快速入门
以下的degug方式,英文版来自 AVR Studio 4. 为达到准确理解的效果,我试图将它翻译出来。如有不准确的地方,请大家指正: Auto Step 自动执行 它能重复执行指令。如果当前处于 source 方式时(即C语言窗口显示方式),一条的指令会被执行。如果处理 disassembly 方式 (即显示为汇编指令方式),一条汇编指令会被执行。每条指仅被执行后,窗口的所有信息会更新。 每条指令的执行延时,可以在 debug option 里选择。 当用户按下停止或有断点(breakpoint)时,将停止自动执行。 Step Into 单步执行: 仅执行一条指令。如果当前处于 source 方式时(即C语言窗
[单片机]
STM32之JTAG、SWD模式
说在前面的话 最近YKY项目做了新的硬件设计,其中键盘接口采用矩阵式键盘(4*4),有两个接口使用了STM32 (PB3、PB4), 调试中发现,这两个接口对应的两行均不能正常扫描到按键值,查看数据手册才知道这是系统接口,需要进行设置才可以 作为普通IO口使用。如图是数据手册对这两个接口的介绍: 解决方法 寄存器版本: 1 //JTAG模式设置,用于设置JTAG的模式 2 //mode:jtag,swd模式设置;00,全使能;01,使能SWD;10,全关闭; 3 //#define JTAG_SWD_DISABLE 0X02 4 //#define SWD_ENABLE 0X01
[单片机]
Please check the JTAG cable.
错误如图所示: 解决办法: 对Option中的c/c++中进行1级程序优化选择、勾选“Optimize for time”(这个应该和网上谈到晶振设置过大原因类是吧)、勾选“One ELF Section per Function”;勾选Option中ASM的“Thumb Mode”(不是Cortex-M3包含了Thumb指令集的呢?)。解决是这样解决的,出问题的时候都是设置了c/c++和asm.
[单片机]
STM32 JTAG失效恢复
昨天调试一块STM32L151的板子,用的是JlinkOB,调试时,出现下面的错误: JLink Error:could not start CPU core. JLink Warning:CPU could not be halted 这个错误出现的原因是,程序中有修改JTAG端口(PA13,PA14)的语句,当把JTAG当做普通IO口时,JLink就不能返回调试信息,JLink就读不回相应寄存器的值了。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_S
[单片机]
Tensilica获ByteTools JTAG仿真器支持
―― ByteTools 的低成本Catapult Probe支持Tensilica 的处理器 美国加州Santa Clara 2007年4月23 日讯: ByteTools和Tensilica 公司今天共同宣布,Tensilica Diamond标准内核和Xtensa可配置处理器内核的所有客户可以开始获得ByteTools公司为Tensilica设计的低成本Catapult JTAG probe。用户不需要安装任何额外的软件,只需采用Tensilica 提供的软件开发工具,既可使用Catapult Probe。Catapult Probe 的接口是标准的XOCD 14针的JTAG 接口:Catapult EJ-1提供一个以太
[焦点新闻]
STM32F103将JTAG口重映射成为普通GPIO
Mini STM32的初学习者来说为什么用到PB3和PB4时无法控制输出呢? 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些 端口设置为普通I/O口。具体方法如下: 在GPIO_Configuration(); // 配置使用的 GPIO 口: GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); // 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) GPIO_PinRemapConfig(GPIO_Remap
[单片机]
OK6410A 开发板 (八) 83 linux-5.11 OK6410A arm-gdb+JLinkGDBServer+Jlink+JTAG接口 调试 u-boot
之前在 https://blog.csdn.net/u011011827/article/details/118713517 中可以看到 可以调试裸机. 可见我加载了bin文件到0x50000000,这是外部sdram的空间 所以加载之前,必须要初始化,而这个初始化动作,u-boot帮忙给做了(我的板子烧好了u-boot) 在调试裸机前u-boot已经跑到cmdline了 当然你调试bin文件大小小于8KB的裸机程序时,可以将其加载到sram中,这样就不用初始化sdram了. 自己手动加载u-boot 到内存 u-boot 也是一个裸机程序,这个程序和 led.bin 不同 u-boot.bin 要大,但是两个的调试方
[单片机]