展开

关键词

JTAG

现在多数的高级器件都支持 JTAG 协议,如 DSP、FPGA 器件等。标准的 JTAG 接口是4线:TMS 、 TCK 、TDI 、TDO ,分别为模式选择、时钟、数据输入和数据输出线。 JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链,能实现对各个器件分别测试。现在,JTAG 接口还常用于对FLASH等器件进行编程。 JTAG 接口可对 PSD 芯片内部的所有部件进行编程。 JTAG 接口定义 Test Clock Input (TCK) TCK 在 IEEE1149.1 标准里是强制要求的。 所以有四线JTAG与五线JTAG之分。 -VTREF 接口信号电平参考电压一般直接连接 Vsupply 。 .html JTAG各类接口针脚定义及含义 https://www.cnblogs.com/jeakon/archive/2012/10/07/2813683.html JTAG - Insight into

59710

什么是JTAG

JTAG是1980年代开发的用于解决电子板制造问题的IEEE标准(1149.1)。如今,它可以用作编程,调试和探测端口。但是首先,让我们看看JTAG的最初用途,边界测试。 ? 这样就创建了JTAG。 ? JTAG可以控制(or hijack)所有IC的引脚。在图片上,也许JTAG将使所有CPU引脚输出,以及所有FPGA引脚输入。 首先,TMS和TCK与所有JTAG IC并联。 ? 然后将TDI和TDO并连接起来,形成一条链。用JTAG术语,您经常会听到“ JTAG-chain”一词的来历。 ? 如您所见,每个符合JTAG的IC都有四个用于JTAG的引脚(三个输入和一个输出)。名为TRST的第五个引脚是可选的(JTAG复位)。JTAG引脚通常是专用的(不共享用于其他目的)。 所有大型IC都使用通过JTAG进行的边界测试-边界测试是创建JTAG的最初原因。如今,JTAG的使用已得到扩展,以允许进行诸如配置FPGA之类的操作,然后在FPGA内核内部使用JTAG进行调试。

46230
  • 广告
    关闭

    一大波轻量级工具升级重磅来袭

    代码传递思想,技术创造回响!Techo Day热忱欢迎每一位开发者的参与!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    FPGA的调试-虚拟JTAG

    FPGA的调试-虚拟JTAG 1.功能及简介   虚拟JTAG(xilinx也有类似的工具,但是不知道叫什么名字 囧 )就是利用FPGA自身的JTAG口建立对设计课件的调试手段,只要通过例化虚拟JTAG 虚拟JTAG的核心包括两部分:(1)直接在HDL代码中例化SLD_VIRTUAL_JTAG宏功能,使FPGA器件的JTAG接口能够访问FPGA设计指定的部件或者接口信号;(2)通过TCL控制界面以及Quartus_stp.exe 接口,实现数据读写操作。 虚拟JTAG功能与FPGA本身的SIgnal-TAP以及JTAG下载是并行时分复用的。   虚拟JTAG可以通过TCL脚本在线地把PC机的数据写入到FPGA内部或者从FPGA内部读出并传到PC机。 和PC机连接只有使用现有的FPGA的JTAG端口,不需要任何额外的电路,这就是它最大的优势。另外,在我们原有的工程中例化一个Virtual JTAG的IP核,利用这个IP核给出的接口来传输数据即可。

    61830

    树莓派JTAG详细使用笔记

    1.说明 有的时候,在调试代码的时候,往往会借助一些硬件调试工具,JTAG就是很好的调试工具。下面来详细介绍一下如何在树莓派上使用JTAG进行调试。 本文主要在树莓派4上实现jlink调试功能。 2.1 硬件连接 树莓派的40pin引脚上其实是有jtag接口的,所以不用飞线,只需要杜邦线就可以实现线路连接。 而后修改SD卡中的配置文件 enable_uart=1 arm_64bit=1 kernel=infloop.bin enable_jtag_gpio=1 gpio=22-27=a4 init_uart_clock 将相关的文件放入,可以在我的网盘下进行下载: https://pan.baidu.com/s/1F5toHNpt20tfVsmhzspw6Q 提取码:iq7m 将SD卡插入,插上电源,系统进入等待JTAG

    1.9K20

    硬件学习之通过树莓派操控 jtag

    进行救砖,所以就对jtag进行了一波研究。 救砖尝试 变砖的路由器型号为:LinkSys wrt54g v8 CPU 型号为:BCM5354 Flash型号为:K8D6316UBM 首先通过jtagulator得到了设备上jtag接口的顺序。 树莓派Pins 我使用的是rpi3,其接口编号图如下: 或者在树莓派3中可以使用gpio readall查看各个接口的状态: rpi3中的Python有一个RPi.GPIO模块,可以控制这些接口jtag大致架构如上图所示,其中TAP-Controller的架构如下图所示: 根据上面这两个架构,对jtag的原理进行讲解。 所以在使用jtag前,我们先通过TMS端口,发送5次为1的数据,jtag的状态机将会进入到RESET的复原状态。

    31420

    快来趴一趴JTAG那些事(下)

    你以为你不知道,其实它一直就在你身边,JTAG是嵌入式开发中在熟悉不过的一个名词了,但是你真的很了解他吗,来一块趴一趴JTAG的那些事,今天来学习JTAG指令 JTAG指令 JTAG控制器执行IEEE IDCODE 指令 IDCODE指令在TDI和TDO之间选择32位的设备识别寄存器作为移动路径,这条指令允许MCU的询问,以决定版本号和其他部分的识别数据,当JTAG控制器复位时,IDCODE指令被装载放置到指令寄存器 更多详细的指令操作以及测试访问接口的状态机部分请详细参考IEEE标准,这里不在赘述。更多官方详解可以访问www.jtag.com网站

    76180

    硬件学习之通过树莓派操控 jtag

    接口的顺序。 树莓派 Pins 新加坡安全研究员Awakened在他的博客中发布 我使用的是rpi3,其接口编号图如下: ? 或者在树莓派3中可以使用gpio readall查看各个接口的状态: ? rpi3中的Python有一个RPi.GPIO模块,可以控制这些接口jtag大致架构如上图所示,其中TAP-Controller的架构如下图所示: ? 根据上面这两个架构,对jtag的原理进行讲解。 所以在使用jtag前,我们先通过TMS端口,发送5次为1的数据,jtag的状态机将会进入到RESET的复原状态。

    37320

    快来趴一趴JTAG那些事(上)

    你以为你不知道,其实它一直就在你身边,JTAG是嵌入式开发中在熟悉不过的一个名词了,但是你真的很了解他吗,来一块趴一趴JTAG的那些事,今天先来看一些基础知识 JTAG 简介 JTAG是英文“Joint 现在多数的高级器件都支持JTAG协议,如MCU, ARM, DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。 如今,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。 我们以飞思卡尔kv4x系列MCU的片上JTAG接口为例来说明。飞思卡尔kv4x系列MCU的JTAG模块支持多种IEEE 1149.1-2001定义的测试模式。

    68070

    在Ubuntu 18.04下使用Vivado Jtag加载FPGA

    在Ubuntu 18.04下使用Vivado Jtag加载FPGA,发现找不到器件。 Vivado Hardware Manager找不到器件的记录信息: connect_hw_server -allow_non_jtag INFO: [Labtools 27-2285] Connecting Labtools 27-3414] Connected to existing cs_server. disconnect_hw_server localhost:3121 根据相关文档,收到执行命令,安装JTAG 电缆驱动,再拔插JTAG电缆驱动,再在Vivado里,能找到FPGA器件。 INFO: [Labtools 27-2302] Device xcvc1902 (JTAG device index = 1) is programmed with a design that has

    11120

    【分享】VCK190通过JTAG实现Linux启动

    【分享】VCK190通过JTAG实现Linux启动 作者: 付汉杰 hankf@xilinx.com hankf@amd.com 使用下列脚本,可以通过JTAG实现VCK190的Linux启动。 -filter {name =~ "PMC"} rst # Expect BOOT MODE (Bits [15:12]): 0000 after execution. device status jtag_status

    6220

    今日说“法”:是谁动了我的JTAG口?

    根据查阅资料及本人的一些实践经验所得,在使用JTAG下载接口的过程中,请不要随意带电插拔,否则会损坏FPGA芯片的JTAG口信号管脚。那么如何去确认JTAG口已经损坏了呢。 首先你要去排除基本的几项因素,一是,是否匹配连接,有很多设备会对应很多接口,在实际条件下要匹配正确,否则也会出现上述情况;二是,排除下载线的问题,如果是下载线坏了,可以使用多根下载线去尝试,排除这类问题 这类质疑其实都不是解决问题的本质,最重要的是我们要规范操作,尽可能的去减少因为实际操作不当导致一些硬件设备、接口等提前结束寿命或“英年早逝”,那重点来了,关于JTAG下载口的使用,我们需要如何去规范操作呢 在FPGA开发板及相关设备断电的前提下,插上JTAG下载线接口; 2. 插上USB Blaster或者ByteBlasterII的电缆; 3. 接通FPGA开发板的电源。 拔下JTAG下载线接口,并放置适宜地方存储。 虽然上述的操作步骤有点繁琐,有时我们在使用的时候也是不以为然,但是为了保证芯片不被损坏,建议大家还是中规中矩的按照上述的步骤来操作。

    27410

    BSCAN

    边界扫描测试,测试目标是IO-PAD,利用 JTAG 接口互连以方便测试。(JTAG 接口,实现不同芯片之间的互连。这样可以形成整个系统的可测试性设计)。 ? ? BSCAN to JTAG 转换核接收 BSCAN 接口然后驱动 JTAG 发送,可以通过 BSCAN 原语或者 DEBUG IP 桥进行例化。 DRCK:位宽为1的输出信号,用于监测JTAG电路的TCK信号。当JTAG链路处于用户指令模式或者JTAG接口为SHIFT-DR状态时,才有信号输出。 当JTAG接口控制器处于SHIFT-DR状态时置高。 TDI:位宽为1的输出信号,用于检测JTAG链的TDI信号。 UPDATE:位宽为1的输出信号,加载USER1指令和USER2指令时有效。 当JTAG接口控制器处于UPDATE-DR状态时置高。 TDO:位宽为1的输入信号,可以将外部JTAG链的TDO信号直接连到该管脚上。

    77910

    JTAG下载器连接时FPGA不加载flash里的程序

    由于此新行为,如果满足以下所有条件,则可能会看到间歇性配置失败: 使用JTAG以外的任何配置接口(我们使用的是FLASH) Vivado硬件管理器在连接Digilent或Xilinx USB编程电缆的情况下打开 电路板上电或正在上电 (上面描述的就是我们说的;在JTAG下载器连接时FPGA不加载flash里的程序,基本就一样不差) 如果使用了任何配置接口JTAG除外),并且还连接了JTAG电缆,则JTAG 用户发出“ refresh_hw_devices”命令 用户插入JTAG电缆 解决办法: 一、通过Vivado_init.tcl脚本避免情况发生 1)新建一个Vivado_init.tcl脚本,添加一下内容 四、按以下步骤在JTAG模式下关闭并重新打开目标,以防止发生任何轮询,然后恢复到正常模式: 1)在JTAG模式下关闭并重新打开目标: set tmp_target [ get_hw_targets -filter 也试过在重新上电的过程中关闭Vivado(不让JTAG工作),也是可以正常启动的,其他方式大家可以多去尝试。 官方这种处理方式有一定便携性和局限性,各有优缺点,不知道大家怎么看。 ?

    39221

    esp32c3使用openocd调试程序

    esp32c3使用openocd调试程序 1.概述 1.1 内置的JTAG接口 1.2 外置的jtag接口 2.esp32c3 nuttx程序的编译与下载 2.1 编译nuttx 2.2 程序下载 3. esp32c3的开发支持两种调试方式,分别是内置的USB调试接口,以及外扩的扩展调试接口。其内置一个USB-to-JTAG接口。 1.1 内置的JTAG接口 由于esp32c3芯片内置一个JTAG的调试器的引擎,所以不用外置的JTAG的调试器。其中的硬件连接可以参考下面的图示。 接口 当有JTAG可以使用这个外置的接口进行连接。 这里使用的是蜂鸟调试器接口。 由于目前手上只有这一个调试器,所以直接用这个来进行测试。

    1.1K30

    FPGA的调试-调试设计的指导原则

    主要包括一下几个部分: - FPGA的调试-虚拟JTAG(Virtual JTAG) - FPGA的调试-在线存储器内容编辑工具(In-system Memory Content Editor) - FPGA 3)如果使用嵌入式逻辑分析仪、逻辑分析仪接口、在线存储器内容编辑、虚拟JTAG宏等功能,就需要在西永和电路板的规划中专门设计对应的JTAG接口资源。    4)要使用虚拟JTAG宏功能来实现定制调试的应用,需要在HDL代码中对其例化,作为设计过程中的一部分。 很多高级的调试功能都要用到JTAG HUB功能,如多个逻辑观测实体或者虚拟JTAG等,因此在FPGA资源规划时,需要专门保留一定的逻辑资源,用于实现该功能。    7)保留I/O引脚,以便于通过逻辑分析仪接口或者额外的信号引脚进行调试。这样就不必在以后为了适应调试信号而更改设计或者电路板。

    28320

    通过MCU对FPGA程序进行在线升级

    ALTERA的配置常用的一般有AS/PS/JTAG三种方式,JTAG是大家常用的方式,程序下载到FPGA内部的RAM,主要用于调试。掉电程序丢失。 要进行在线升级,我们需要的就是这种模式,MCU通过SPI接口或是IO接口连接至FPGA ,注意要满足FPGA的时序要求。上电MCU读取存储卡中的信息,然后按照要求发送给FPGA就完成了在线升级。 JTAG是大家常用的方式,程序下载到FPGA内部的RAM,主要用于调试。掉电程序丢失。 平时我们不使用在线升级的时候一般都是配置为AS或MasterSPI模式,通过JTAG固化程序。然后再上电FPGA就可以自行加载程序了。有人可能会想,JTAG在线配置是否和配置芯片加载相冲突呢? 不会的,JTAG在线配置的优先级是最高的,无论此时FPGA中在运行什么逻辑,只要JTAG下载启动,则FPGA便停下当前的工作,开始运行JTAG下载的新的配置数据。

    17430

    第006课 开发板熟悉与体验

    原文地址: http://wiki.100ask.org 第001节_开发板接口介绍与串口连接 在前面的视频里,我们涉及四个接口,两个开关。 四个接口:电源接口、USB串口、USB下载口、JTAG下载口; 两个开关:电源开关、启动选择开关; 分别对应下图中的1、8、6、7、1、11; ? 因此开发板上一定有个烧写口,例如JTAG烧写口。但电脑上是不会有这个JTAG口的,因此需要一个USB烧写器将两者连接,例如Jlink、OP/EOP。 现在再说一下烧写,我们之前说可以通过Jtag进行烧写,它非常的可靠,当我们板子变成了砖头的时候,可以使用Jtag进行烧写,但他的速度很慢。当我们烧写很大程序的时候,会崩溃的。 操作步骤如下: eop连接到PC; 安装驱动; 安装APP; 开发板的排线连接到eop,eop的USB接口连接到电脑; 执行:oflash xxx.bin 开发板断开eop,eop的USB接口最好也断开电脑

    30630

    我所了解的物联网设备测试方法(硬件篇)

    0x04.接口调试篇 主要碰到的接口有UART、JTAG、I2C、SPI等,这儿详细讲讲UART的,因为我用到的最多,其次就是JTAG,相对来说,I2C、SPI比较少。 2.JTAG JTAG属于微控制器调试接口。微控制器具有在运行期间使用指定引脚进行调试的规定,这些引脚连接到电路板上的引脚。 除了JTAG之外,还包括cJTAG、SWD。 JTAG接口在PCB上基本如下图: ? JTAG协议定义了可用于测试和调试微控制器的标准接口和命令。 JTAG定义了四个引脚接口(以及一个额外的可选引脚TRST) 开发者可以使用这些引脚与微控制器上实现的TAP(测试访问端口)进行通信。 利用调试接口导出。通过UART串口,读取uboot启动信息,串口输出中可以发现具体型号,然后使用编程器读取并保存,就获取到固件了。 ? 一些情况下,也会通过JTAG/SWD接口进行读取。

    2.2K20

    FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建

    主要介绍:硬件结构;内核的特性核接口;SOPC Builder中各内核的配置选项。 内核提供一个简单的Avalon从控制器接口,该接口允许Avalon主控制器(例如NiosII处理器)通过读写寄存器与UART内核进行通讯。 UART内核的结构框图如下图所示: ? 4.7 JTAG_UART内核 + JTAG_UART内核综述 JTAG UART内核通过Avalon从控制器接口连接到Avalon总线。 FIFO可以改善JTAG连接的带宽。FIFO深度可由用户设置。 ? ? UART内核寄存器映射 JTAG-UART配置选项卡: ? 在组件栏中选择Communication->JTAG UART,弹出JTAG UART配置界面如下: ?

    26210

    FPGA的三种配置方式

    今日说“法”栏目已经上线,上篇提到了“是谁动了我的JTAG口?”,里面说到了FPGA下载接口JTAG口的一些知识,此篇主要说一下FPGA的配置方式,让我们来了解一下除了JTAG,还有其他哪几种方式。 JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。 等七种配置方式,其中Cyclone支持的配置方式有PS、AS、JTAG三种。 CPLD,即Altera配置芯片(EPC系列)编程;而BBMV只支持PS和JTAG。 一般在做FPGA实验板(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在

    30030

    相关产品

    • 云 API

      云 API

      云 API 是腾讯云开放生态的基石。通过云 API,只需执行对应 API 命令行工具即可快速操作云产品;在熟练的情况下,使用一些频繁使用的功能,使用云 API 可以极大的提高效率;除此之外,通过API可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券