让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 什么是JTAG接口 JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试, JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test ACCess Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。 目前大多数比较复杂的
什么是JTAG接口
JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试, JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test ACCess Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。
14 针JTAG 接口定义:
14 针 JTAG 接口定义引 脚 名 称 描 述
1 、 13 VCC 接电源
2 、 4 、 6 、 8 、 10 、 14 GND 接地
3 nTRST 测试系统复位信号
5 TDI 测试数据串行输入
7 TMS 测试模式选择
9 TCK 测试时钟
11 TDO 测试数据串行输出
12 NC 未连接
20 针 JTAG 接口定义引 脚 名 称 描 述
1 VTref 目标板参考电压,接电源
2 VCC 接电源
3 nTRST 测试系统复位信号
4、6、8、10、12、14、16、18、20 GND 接地
5 TDI 测试数据串行输入
7 TMS 测试模式选择
9 TCK 测试时钟
11 RTCK 测试时钟返回信号
13 TDO 测试数据串行输出
15 nRESET 目标系统复位信号
17 、 19 NC 未连接
下面以S3C4510B开发板为例说明JTAG接口:
在保证电源电路、晶振电路和复位电路正常工作的前提下,可通过JTAG 接口调试S3C4510B,在系统上电前,首先应检测JTAG 接口的 TMS 、 TCK 、 TDI 、 TDO 信号是否已与 S3C4510B 的对应引脚相连,其次应检测 S3C4510B 的 nEWAIT 引脚( PIN71 )是否已上拉, ExtMREQ 引脚( Pin108 )是否已下拉,对这两只引脚的处理应注意,作者遇到多起S3C4510B 不能正常工作或无法与JTAG 接口通信,均与没有正确处理这两只引脚有关。
给系统上电后,可通过示波器查看 S3C4510B 对应引脚的输出波形,判断是否已正常工作,若S3C4510B 已正常工作,在使能片内 PLL 电路的情况下, SDCLK/MCLKO 引脚( Pin77 )应输出频率为 50MHz 的波形,同时, MDC 引脚( Pin50 )和其他一些引脚也应有波形输出。
在保证 S3C4510B 已正常工作的情况下,可使用 ADS 或 SDT 通过 JTAG 接口对片内的部件进行访问和控制。
在此,首先通过对片内控制通用 I/O 口的特殊功能寄存器的操作,来点亮连接在 P3 ~ P0 口上的4 只 LED ,用以验证 ADS 或 SDT 调试环境是否已正确设置,以及与 JTAG 接口的连接是否正常。
ADS 和 SDT 均为 ARM 公司为方便用户在 ARM 芯片上进行应用开发而推出的一整套集成开发工具,其中, ADS 为 SDT 的升级版本。该系统的调试以 ADS 为例,同时也适合于 SDT 开发环境。
连接好硬件后,打开 AXD Debugger ,建立与目标板(待调试的系统板)的连接, AXDDebugger 有软件仿真方式和带目标系统的调试方式,此时应工作在带目标系统的调试方式。
选择菜单 System Views → Command Line Interface 功能,该选项为 AXD Debugger 的一个命令行窗口,可在该窗口内输入各种调试命令,使用非常方便。在命令行窗口输入:
> setmem 0x3FF5000, 0xFFFF, 32
> setmem 0x3FF5008, 0xFFFF, 32
setmem 命令用于对特定的地址设置特定的值,待设定的值可以是 8 位、 16 位或 32 位,在此,对通用 I/O 口的模式寄存器和数据寄存器设置相应的值,点亮 LED 。
S3C4510B 在复位后,特殊功能寄存器的基地址为 0x3FF0000, 由表 5 -2-3 可知,I/O 口的模式寄存器偏移地址为0x5000,因此, I/O 口的模式寄存器的物理地址为 0x3FF5000 ,设定该寄存器的值为 0xFFFF ,将 I/O 口置为输出方式。 I/O 口的数据寄存器的物理地址为 0x3FF5008 ,设定该寄存器的值为 0xFFFF ,将 I/O 口的输出置为高电平。
在执行完以上两条命令后,连接在通用 I/O 口的 4 只 LED 应被点亮,表示调试系统的软、硬件连接完好,可进行下一步的调试工作,否则,应重新检查调试系统。
用户若使用 SDT 作为调试工具,操作方法类似。 连接好硬件后,打开 ARM Debugger for Windows ,建立与目标板(待调试的系统板)的连接,选择菜单 View → Command 功能,即可显示命令行窗口,在命令行窗口输入:
Debug:let 0x3FF5000 = 0xFFFF
Debug:let 0x3FF5008 = 0xFFFF
执行完以上两条命令后,连接在通用 I/O 口的 4 只 LED 应被点亮。
关于通用 I/O 口更具体的工作原理和使用方法,可参考S3C4510B 用户手册。
用户系统若能正常完成上述操作并成功点亮连接在P3~P0 口上的LED 显示器,则表明S3C4510B已在正常工作,且调试环境也已正确建立,以后的调试工作就相对简单。笔者曾遇到多个用户系统因为不能完成这步工作,使开发者失去信心而最终放弃。
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |