随想录(jtag知识点小结)

栏目: 编程工具 · 发布时间: 5年前

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

jtag调试是嵌入式开发中常用的一种调试方法。目前大多数soc都支持jtag调试,开发者只需要一个jtag转接器,一边是usb口连接电脑,一边是jtag连接开发板,就可以顺利进行后续的开发和调试工作了。

1、jtag是硬件协议

jtag和spi、nand、uart、iic一样,是一个硬件协议,主要由5个pin组成,分别是tdi、tdo、clk、rst、tms。

2、jtag的主要功能

目前,jtag主要负责下载和调试两个功能。下载,即利用jtag将二进制文件下载到norflash或者是nandflash当中。调试,就是利用jtag实现对cpu的单步调试。这在开发的初始阶段是非常有用的。

3、jtag下载flash的基本原理

很多时候,jtag实现flash的下载功能,是因为jtag先实现一个最小bin文件,加载到内部sram中。紧接着jtag使能cpu,这个最小bin完成flash的驱动配置,将从jtag接受到文件写入到flash当中去,比如说stm32中下载算法就是这里说的最小bin文件,如果使用的不是通用型flash,那么就需要自己编写。

4、jtag调试原理

jtag调试离不开cpu内部的debug模块。所有的断点设置、外设访问、寄存器读取、ram操作这些动作都需要cpu的配合。除此之外,为了实现jtag和gdb的完美配合,还需要在上位机侧实现一个gdbserver + commnd解析工具,实现pc和usb的通信。

5、jtag的硬件实现

目前网上有一些jtag的开源实现方法,比如说openjtag。要做一个适合自己的仿真器或者下载器,一般需要一个stm32芯片,负责pc和仿真器通讯(usb通信),还需要一个fpga,负责jtag的收发操作。当然,fpga中的verilog代码也是需要自己完成的。

6、jtag的软件实现

除了硬件之外,jtag还需要一个command上位机程序、一个下位机的固件程序。当然,为了方便上位机使用,还需要设计一个GUI、gdbserver、command parse的框架。

7、jtag的基本流程

pc -> || usb -> stm32 -> fpga || -> dev board

pc <- || usb <- stm32 <- fpag || <- dev board

8、目前市场上的jtag工具

由于现在电脑普遍没有并口,现在用的最多的jtag调试 工具 还是jlink或者openjtag这样的usb转jtag调试板。

9、什么情况下不需要jtag

目前很多开发板支持从sd卡启动系统,那么这个时候其实不存在flash烧录的情况,也就无所谓jtag功能了。通常,一般的soc支持jtag、norflash、nandflash、sd四种启动方式,如果能用sd卡启动,那也是非常不错的一种选择。


以上所述就是小编给大家介绍的《随想录(jtag知识点小结)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计

C程序设计

谭浩强 / 清华大学出版社 / 2005-7-1 / 26.00元

《C程序设计(第3版)》作者具有丰富的教学经验和编写教材的经验,并针对初学者的特点,精心策划、准确定位,使得《C程序设计(第3版)》概念清晰、例题丰富、深入浅出,受到专家和读者的一致好评。《C程序设计(第3版)》被普遍认为是学习C语言的好教材,并被全国大多数高校选用。十多年来《C程序设计(第3版)》累计发行了800多万册,刨同类书的全国最高记录,是学习C语言的主流用书。《C程序设计(第3版)》曾荣......一起来看看 《C程序设计》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码