CN110362440B - 一种带虚拟uart的jtag调试系统 - Google Patents

一种带虚拟uart的jtag调试系统 Download PDF

Info

Publication number
CN110362440B
CN110362440B CN201910529501.1A CN201910529501A CN110362440B CN 110362440 B CN110362440 B CN 110362440B CN 201910529501 A CN201910529501 A CN 201910529501A CN 110362440 B CN110362440 B CN 110362440B
Authority
CN
China
Prior art keywords
jtag
module
virtual uart
register
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910529501.1A
Other languages
English (en)
Other versions
CN110362440A (zh
Inventor
陈祖尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Rockchip Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockchip Electronics Co Ltd filed Critical Rockchip Electronics Co Ltd
Priority to CN201910529501.1A priority Critical patent/CN110362440B/zh
Publication of CN110362440A publication Critical patent/CN110362440A/zh
Application granted granted Critical
Publication of CN110362440B publication Critical patent/CN110362440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明涉及芯片测试技术领域,特别涉及一种带虚拟UART的JTAG调试系统。所述一种带虚拟UART的JTAG调试系统,包括:PC端和SOC端,所述PC端通讯连接所述SOC端;所述PC端包括:gdb调试器、openocd和JTAG驱动;所述SOC端包括:JTAG控制器、CPU和总线矩阵;所述JTAG控制器包括:虚拟UART模块;所述虚拟UART模块通过总线接口连接总线矩阵。通过在JTAG控制器内设置虚拟UART模块,可实现UART数据输入输出功能,又无需实际的UART接口芯片引脚引出,在节约了引脚资源的同时,仍确保UART功能的实现。

Description

一种带虚拟UART的JTAG调试系统
技术领域
本发明涉及芯片测试技术领域,特别涉及一种带虚拟UART的JTAG调试系统。
背景技术
JTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA、SOC器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
UART即通用异步收发传输器,简称串口,一般采用RS232标准。常用于中低速的通讯。
SOC芯片一般都会带有调试接口,典型的为JTAG接口和UART接口。通过JTAG调试接口,软件开发人员可以方便地控制芯片中CPU的运行,方便快捷地调试代码。通过UART接口,软件开发人员可以方便的查看程序运行过程中的打印信息,输入程序运行时所需的数据。
现有技术中,SOC芯片需要JTAG接口和UART接口两种调试接口,而两种接口都需要通过芯片引脚引出,浪费宝贵的引脚资源。
发明内容
为此,需要提供一种带虚拟UART的JTAG调试系统,用以解决现有SOC芯片需要JTAG接口和UART接口两种调试接口,而两种接口都需要通过芯片引脚引出,浪费引脚资源的问题。具体技术方案如下:
一种带虚拟UART的JTAG调试系统,包括:PC端和SOC端,所述PC端通讯连接所述SOC端;所述PC端包括:gdb调试器、openocd和JTAG驱动;所述SOC端包括:JTAG控制器、CPU和总线矩阵;所述JTAG控制器包括:虚拟UART模块;所述虚拟UART模块通过总线接口连接总线矩阵。
进一步的,所述JTAG控制器还包括:模块选择寄存器和DEBUG模块;所述模块选择寄存器用于:选择是对DEBUG模块还是虚拟UART模块进行操作;所述DEBUG模块连接CPU的DEBUG模块。
进一步的,所述虚拟UART模块包括:总线接口、数据寄存器A、读FIFO、写FIFO、数据寄存器B和JTAG逻辑;所述总线接口对接标准总线;所述数据寄存器A用于:供总线端访问;所述数据寄存器A还用于:总线端写数据至写FIFO,或从读FIFO读数据;所述数据寄存器B用于:供JTAG端访问;所述数据寄存器B还用于:JTAG端写数据至写FIFO,或从读FIFO读数据;所述JTAG逻辑用于:将JTAG接口信号转换成对数据寄存器B的读写访问。
进一步的,所述虚拟UART模块还包括:状态寄存器A和状态寄存器B;所述状态寄存器A或状态寄存器B用于:记录读FIFO和写FIFO的空满状态。
进一步的,所述PC端通过JTAG线和JTAG适配器连接所述SOC端。
本发明的有益效果是:通过在JTAG控制器内设置虚拟UART模块,可实现UART数据输入输出功能,又无需实际的UART接口芯片引脚引出,在节约了引脚资源的同时,仍确保JTAG调试系统原有的调试功能。
附图说明
图1为具体实施方式所述一种带虚拟UART的JTAG调试系统的模块示意图;
图2为具体实施方式所述JTAG控制器的示意图;
图3为具体实施方式所述虚拟UART模块的示意图;
图4为具体实施方式所述带状态寄存器的虚拟UART模块的示意图;
图5为具体实施方式所述一种带虚拟UART的JTAG调试系统的模块示意图。
附图标记说明:
100、带虚拟UART的JTAG调试系统,
101、PC端,
102、SOC端,
1011、gdb调试器,
1012、openocd,
1013、JTAG驱动,
1021、JTAG控制器,
1022、CPU,
1023、总线矩阵,
10211、虚拟UART模块,
10212、模块选择寄存器,
10213、DEBUG模块,
102111、总线接口,
102112、数据寄存器A,
102113、写FIFO,
102114、读FIFO,
102115、数据寄存器B,
102116、JTAG逻辑,
102117、状态寄存器A,
102118、状态寄存器B。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1至图5,在本实施方式中,一种带虚拟UART的JTAG调试系统100的具体实施方式如下:
一种带虚拟UART的JTAG调试系统100,包括:PC端101和SOC端102,所述PC端101通讯连接所述SOC端102;所述PC端101包括:gdb调试器1011、openocd1012和JTAG驱动1013;所述SOC端102包括:JTAG控制器1021、CPU1022和总线矩阵1023;所述JTAG控制器1021包括:虚拟UART模块10211;所述虚拟UART模块10211通过总线接口102111连接总线矩阵1023。
通过在JTAG控制器1021内设置虚拟UART模块10211,可实现UART数据输入输出功能,又无需实际的UART接口芯片引脚引出,在节约了引脚资源的同时,仍确保JTAG调试系统原有的调试功能。
请参阅图2,在本实施方式中,所述JTAG控制器1021还包括:模块选择寄存器10212和DEBUG模块10213;所述模块选择寄存器10212用于:选择是对DEBUG模块10213还是虚拟UART模块10211进行操作;所述DEBUG模块10213连接CPU1022的DEBUG模块10213。
其中DEBUG模块10213用于负责CPU1022的正常调试,虚拟UART模块10211实现UART的数据输入输出功能。确保了JTAG调试系统原有的JTAG和UART二者的正常调试功能。
请参阅图3,在本实施方式中,所述虚拟UART模块10211包括:总线接口102111、数据寄存器A102112、读FIFO102114、写FIFO102113、数据寄存器B102115和JTAG逻辑102116;所述总线接口102111对接标准总线;所述数据寄存器A102112用于:供总线端访问;所述数据寄存器A102112还用于:总线端写数据至写FIFO102113,或从读FIFO102114读数据;所述数据寄存器B用于:供JTAG端访问;所述数据寄存器B还用于:JTAG端写数据至写FIFO102113,或从读FIFO102114读数据;所述JTAG逻辑102116用于:将JTAG接口信号转换成对数据寄存器B的读写访问。具体可采用如下方式:
总线可通过数据寄存器A102112写数据到写FIFO102113或是从读FIFO102114读取数据,JTAG接口可通过数据寄存器B写数据到读FIFO102114或是从写FIFO102113读取数据。
进一步的,请参阅图4,在本实施方式中,为了反映读FIFO102114和写FIFO102113的空满状态,所述虚拟UART模块10211还包括:状态寄存器A102117和状态寄存器B102118;所述状态寄存器A102117或状态寄存器B102118用于:记录读FIFO102114和写FIFO102113的空满状态。具体可采用如下方式:
当SOC的软件代码需要往虚拟UART打印数据时,通过总线接口102111访问虚拟UART模块10211,查询状态寄存器A102117,如果写FIFO102113满,则等待,否则往写FIFO102113写入数据。而PC端101的openocd1012程序则定时地进行查询状态寄存器B102118,发现写FIFO102113中有数据,则读出,并在PC上显示出来。
当SOC的软件代码需要读取虚拟UART的数据时,通过总线接口102111访问虚拟UART模块10211,查询寄状态寄存器A102117,看读FIFO102114是否数据,如果有,则读取,否则,继续查询。而PC端101可通过gdb调试器1011,写数据到openocd.openocd检测gdb写过来的数据,判断是否是写到虚拟UART模块10211。如果是,查询状态寄存器B102118,如果读FIFO102114满,则等待,否则往读FIFO102114写入相应数据。
请参阅图5,在本实施方式中,所述PC端101通过JTAG线和JTAG适配器连接所述SOC端102。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (4)

1.一种带虚拟UART的JTAG调试系统,其特征在于,包括:PC端和SOC端,所述PC端通讯连接所述SOC端;
所述PC端包括:gdb调试器、openocd和JTAG驱动;
所述SOC端包括:JTAG控制器、CPU和总线矩阵;
所述JTAG控制器包括:虚拟UART模块;
所述虚拟UART模块通过总线接口连接总线矩阵;
所述虚拟UART模块包括:总线接口、数据寄存器A、读FIFO、写FIFO、数据寄存器B和JTAG逻辑;
所述总线接口对接标准总线;
所述数据寄存器A用于:供总线端访问;
所述数据寄存器A还用于:总线端写数据至写FIFO,或从读FIFO读数据;
所述数据寄存器B用于:供JTAG端访问;
所述数据寄存器B还用于:JTAG端写数据至写FIFO,或从读FIFO读数据;
所述JTAG逻辑用于:将JTAG接口信号转换成对数据寄存器B的读写访问。
2.根据权利要求1所述的一种带虚拟UART的JTAG调试系统,其特征在于,
所述JTAG控制器还包括:模块选择寄存器和DEBUG模块;
所述模块选择寄存器用于:选择是对DEBUG模块还是虚拟UART模块进行操作;
所述DEBUG模块连接CPU的DEBUG模块。
3.根据权利要求1所述的一种带虚拟UART的JTAG调试系统,其特征在于,
所述虚拟UART模块还包括:状态寄存器A和状态寄存器B;
所述状态寄存器A用于:记录读FIFO和写FIFO的空满状态;
所述状态寄存器B用于:记录读FIFO和写FIFO的空满状态。
4.根据权利要求1所述的一种带虚拟UART的JTAG调试系统,其特征在于,
所述PC端通过JTAG线和JTAG适配器连接所述SOC端。
CN201910529501.1A 2019-06-19 2019-06-19 一种带虚拟uart的jtag调试系统 Active CN110362440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910529501.1A CN110362440B (zh) 2019-06-19 2019-06-19 一种带虚拟uart的jtag调试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910529501.1A CN110362440B (zh) 2019-06-19 2019-06-19 一种带虚拟uart的jtag调试系统

Publications (2)

Publication Number Publication Date
CN110362440A CN110362440A (zh) 2019-10-22
CN110362440B true CN110362440B (zh) 2022-06-21

Family

ID=68217402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910529501.1A Active CN110362440B (zh) 2019-06-19 2019-06-19 一种带虚拟uart的jtag调试系统

Country Status (1)

Country Link
CN (1) CN110362440B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722948B (zh) * 2020-06-05 2023-06-13 河海大学常州校区 一种arm指令集软错误故障注入系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110124617A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
CN105405280A (zh) * 2015-10-22 2016-03-16 宁波三星医疗电气股份有限公司 一种用于调试电力采集终端并获得抄表信息的实现方法
CN106598909A (zh) * 2016-11-11 2017-04-26 湘潭大学 一种可编程片上系统构建方法
CN106776195A (zh) * 2016-12-16 2017-05-31 福州瑞芯微电子股份有限公司 一种soc芯片调试方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110124617A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
CN105405280A (zh) * 2015-10-22 2016-03-16 宁波三星医疗电气股份有限公司 一种用于调试电力采集终端并获得抄表信息的实现方法
CN106598909A (zh) * 2016-11-11 2017-04-26 湘潭大学 一种可编程片上系统构建方法
CN106776195A (zh) * 2016-12-16 2017-05-31 福州瑞芯微电子股份有限公司 一种soc芯片调试方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Jtag+OpenOCD+GDB调试";netkisser;《http://blog.chinaunix.net/uid-7585066-id-2048721.html》;20100117;第1-4页 *
"基于SOC嵌入式处理器调试系统的开发与研究";刘慧;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20130930(第09期);第I137-33页 *

Also Published As

Publication number Publication date
CN110362440A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
US5657455A (en) Status indicator for a host adapter
US6142683A (en) Debug interface including data steering between a processor, an input/output port, and a trace logic
US6145100A (en) Debug interface including timing synchronization logic
US6154856A (en) Debug interface including state machines for timing synchronization and communication
US6189140B1 (en) Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US5983379A (en) Test access port controller and a method of effecting communication using the same
US6430727B1 (en) Diagnostic procedures in an integrated circuit device
US6523136B1 (en) Semiconductor integrated circuit device with processor
EP0840220B1 (en) An integrated circuit device and method of communication therewith
US7802061B2 (en) Command-based control of NAND flash memory
JP3998303B2 (ja) Tapコントローラを有する集積回路
CN101706552B (zh) 支持芯片不同引脚封装的可配置式片上测试模块
US6134652A (en) Diagnostic procedures in an integrated circuit device
CN102103535B (zh) 多核处理器、多核处理器的调试系统和调试方法
CN101419582A (zh) 基于sopc技术的mvb/usb适配器及其通信方法
CN115033444B (zh) 基于8051core在线调试电路控制装置
CN110362440B (zh) 一种带虚拟uart的jtag调试系统
US6389557B1 (en) Freezing mechanism for debugging
US6484273B1 (en) Integrated EJTAG external bus interface
CN115017038A (zh) 一种兼容apb协议的jtag调试系统
CN113901754B (zh) 基于fpga的以太网macip的板级验证结构和方法
CN111597137B (zh) 一种基于spi协议的动态调试方法、装置及系统
CN110717311A (zh) 一种fpga内部访问系统、fpga验证方法
CN114691520A (zh) 基于处理器调试架构的指令可编程缓冲区设计系统
CN201072549Y (zh) Gpib-usb测试仪器控制器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant after: Ruixin Microelectronics Co.,Ltd.

Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant