【技术专栏】泰凌微电子JTAG工具使用教程(一)
在数字电路的开发和调试过程中经常需要用JTAG来观察和修改芯片状态。本篇文章将从JTAG的介绍及使用详细步骤以来展开描述。
1 JTAG介绍
JTAG是英文“Joint Test Action Group”的缩写,是一种硬件调试和测试技术,常被用于在集成电路中诊断和调试问题。JTAG的正式名称为IEEE 1149.1标准,是一种通过扫描链(scan chain)实现的测试方法,该方法可以在不破坏芯片的情况下,对集成电路进行测试和调试。JTAG技术广泛应用于数字集成电路、嵌入式系统和电路板等硬件开发领域。
在JTAG中,芯片上的所有测试点都被连接到一个扫描链中,这个扫描链允许对芯片进行“非入侵式”地加载测试模式或者读取芯片中的状态。除了测试和调试,JTAG还可以用于烧写程序和配置数据到芯片中,从而方便开发人员进行硬件和软件的联合调试和测试。JTAG接口通常由调试工具连接到开发板上,以便开发人员可以远程调试和测试集成电路。
2 JTAG使用教程
以下教程使用软件环境为Telink IoT Studio(V2023.8)。软件环境下载地址: http://wiki.telink-semi.cn/wiki/IDE-and-Tools/Telink_IoT_Studio/
1、硬件连接
将TLSR9 DEV KEY与开发板进行连接,保证TCK(测试时钟输入)、TMS(测试模式选择)、TDI(测试数据输入)、TDO(测试数据输出)、REF(参考电压)、GND(接地)引脚连接正确,再使用USB数据线将TLSR9 DEV KEY连接至电脑,连接正常时只亮蓝灯。
2、使用Jtag_Burn 烧录程序
点击Telink →Jtag Burn(SPI Burn),烧录程序时,注意配置Jtag_Burn的路径和芯片类型(Jtag_Burn 位于 $IoTStudio/RDS/V3.2.3/flash/ 目录下,其帮助文档也在同一目录),然后点击 Start ICEman,ICEman 准备好后,确保 Telnet Port 和 Burner Port 与 ICEman 保持一致,再点击烧录,如下图:
3、使用JTAG进行Debug
Windows环境下,在终端输入命令:./ICEman -Z v5,执行结果如下:
1111 就是需要监听的 TCP 端口号,调试过程中需要保证 ICEman 在运行,不能关闭终端。ICEman 位于 $IoTStudio/RDS/V5.1.1/ice/ 目录下,也可以自行打开 ICEman。
选择 C/C++ Remote Application, 配置 main 选项卡,选择编译出的 elf 文件作为 gdb 的输入文件,并选择 Disable auto build。
然后点击下方的 Select other, 默认为 Automatic, 选成 Manual。
点击 Debugger 选项卡,配置相应的 debugger, 这里是 riscv32-elf-gdb,注意不要勾选 Stop on startup at。
点击 Connect 子选项卡,将 TCP 端口号填写为 ICEman 得到的 1111。
配置完成,点击调试按钮,添加断点即可开始调试,界面如下:
4、通过选项卡查看和修改寄存器和内存
Expressions选项卡内可以查看变量/变量表达式,可以直接在Value处修改对应的值。
Memory选项卡内可以查看和修改内存数据。
Registers选项卡内可以查看和修改CPU寄存器数据。
本篇介绍到这,下一篇小编将给大家介绍JTAG相关工具命令行的使用和常见问题及解决方法。
|