CN102073009B - 一种基于片上闪存的***芯片jtag调试控制方法 - Google Patents

一种基于片上闪存的***芯片jtag调试控制方法 Download PDF

Info

Publication number
CN102073009B
CN102073009B CN2010105617014A CN201010561701A CN102073009B CN 102073009 B CN102073009 B CN 102073009B CN 2010105617014 A CN2010105617014 A CN 2010105617014A CN 201010561701 A CN201010561701 A CN 201010561701A CN 102073009 B CN102073009 B CN 102073009B
Authority
CN
China
Prior art keywords
interface
jtag
value
chip
flash memory
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
CN2010105617014A
Other languages
English (en)
Other versions
CN102073009A (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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems 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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN2010105617014A priority Critical patent/CN102073009B/zh
Publication of CN102073009A publication Critical patent/CN102073009A/zh
Application granted granted Critical
Publication of CN102073009B publication Critical patent/CN102073009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一种基于片上闪存的***芯片JTAG调试控制方法,所述JTAG通过TAP实现对边界扫描链的控制,所述TCK接口、TMS接口和TDI接口分别通过一个二选一的数据选择器来控制,数据选择器的两个输入分别为正常信号和固定的低电平或高电平,再通过***芯片内的一个位宽为一位的寄存器REG1来控制数据选择器,当寄存器REG1的值为一时,将低电平信号连接到TCK接口、TMS接口和TDI接口上,屏蔽JTAG接口;而寄存器REG1的值为零时,将正常信号连接到TCK接口、TMS接口和TDI接口上,进入正常的调试模式;根据片上闪存的数据决定寄存器REG1的值。本发明在方便调试的同时保障数据安全、提升安全性。

Description

一种基于片上闪存的***芯片JTAG调试控制方法
技术领域
本发明涉及***芯片领域,尤其是一种***芯片JTAG调试控制方法。
背景技术
***芯片(SOC,System on Chip)是指在单个芯片上集成一个完整的***。这一设计技术始于20世纪90年代中期。随着半导体工艺技术的快速发展,IC(Integrated Circuit,集成电路)设计者能够将越来越复杂的功能集成到单个硅片上,出现了集成电路(IC)向集成***(IS,Integrate System)转变的趋势,SOC就是在这一转变下产生的。随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP(Intellectual Property,知识产权)核复用的设计方法,这一设计方法在SOC中得到广泛的应用。SOC能够充分的利用现有的设计积累,极大的提高了ASIC(Application Specified Integrated Circuit,专用集成电路)的设计能力,因此发展十分的迅速,并成为集成电路发展的必然趋势。
JTAG是Joint Test Action Group(联合测试行为组织)的简称。IEEE 1149.1 标准就是由 JTAG 这个组织最初提出的,最终由IEEE 批准并且标准化的。所以,IEEE 1149.1 这个标准一般也俗称 JTAG 调试标准。JTAG接口主要用于芯片的调试,还可以用于实现ISP(In-System Programmable,在线编程),对FLASH(闪存)等器件进行编程。
在 JTAG 调试当中,边界扫描是一个很重要的概念。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上,所以被称为边界扫描寄存器。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和***的输入输出隔离开来。通过这些边界扫描寄存器单元,就可以观察和控制芯片上的输入和输出信号。对于芯片的输入管脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载倒该管脚中去;对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器获取该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片,任意的读取和修改芯片内的寄存器以及数据成为可能。另外,芯片输入输出管脚上的边界扫描寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片。
JTAG通过TAP(Test Access Port,测试访问口)来实现对边界扫描链的控制。在 IEEE 1149.1 标准里面,将寄存器分为两大类:数据寄存器(DR)和指令寄存器(IR)。边界扫描链属于数据寄存器中很重要的一种,用来实现对芯片的输入输出的观察和控制,数据寄存器还包括器件标识寄存器和旁路寄存器。而指令寄存器用来实现对数据寄存器的控制,例如可以为边界扫描链指定一个访问对象。
TAP 是一个通用的端口,通过 TAP 可以访问芯片提供的所有数据寄存器和指令寄存器。对整个 TAP 的控制是通过 TAP Controller(TAP控制器)来完成的。标准的TAP接口是四线:TMS(Test Mode Selection Input,测试模式选择输入)、TCK(Test Clock Input,测试时钟输入)、TDI(Test Data Input,测试数据输入)、TDO(Test Data Output,测试数据输出)。还有一根可选引脚TRST(Test Reset Input,测试复位输入)。 这些引脚的定义为:TCK为TAP的操作提供一个独立的,基本的时钟信号,TAP的一切操作都要通过这个时钟来驱动;TDI为测试数据输入,所有要输入到特定寄存器的数据都要通过TDI接口来一位一位的串行输入,这个输入也有TCK来驱动;TDO为测试数据输出,所有要从特定寄存器读取的数据都通过TDO一位一位串行的输出,这个过程需要通过TCK驱动;TMS为测试模式选择,用来控制TAP状态机的转换,通过这一信号可以控制TAP在不同状态之间转换,从而根据用户要求完成不同操作,该信号在TCK上升沿有效;TRST为测试复位线,通过这一信号可以对TAP状态机复位。
通过TAP对数据寄存器进行访问的一般过程如下:首先,通过指令寄存器,选择一个需要访问的数据寄存器;其次,将选定的数据寄存器连接到TDI和TDO上,即将数据寄存器绑定到扫描链路上;最后,在TCK的驱动下,经过TDI,将需要的数据输入到指定的数据寄存器,同时通过TDO,将指定的数据寄存器中的数据输出。
TAP状态机如附图1所示,总共有16个状态,通过TMS来控制这些状态之间的转换,从而达到对数据寄存器的输入和读取。JTAG测试***的正常操作过程是向指令寄存器送入指令,然后通过数据寄存器进行测试。测试指令指出了下一个要进行的测试以及测试需要使用的数据寄存器。指令分为公开和私有,已经定义的标准指定了一个兼容器件必须支持的最小公开指令集。而私有指令主要用于片上的专用测试,标准并没有做出具体的规定。
JTAG的边界扫描结构如图2所示。BSC(Boundary Scan Cell)为边界扫描单元,能够截取各个输入输出管脚的数据。数据寄存器的三个重要部分如下:器件标识寄存器能够读出固定在芯片内部的标识码;旁路寄存器将TDI延迟一个时钟连接到TDO,使得测试台可以快速的访问下一个器件(在多个器件串行连接的情况下);边界扫描寄存器能够截取芯片核心逻辑与输入输出管脚之间的所有信号。
一个支持JTAG调试的CPU,只要时钟TCK正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如RAM(Random Access Memory,随机存取存储器)等存储设备以及UART,TIMER,GPIO等通用IP和特定芯片的专用IP。这就为***芯片的调试提供了极为便利的条件。但是随之而来也产生了新的问题。由于通过JTAG接口可以读取和修改芯片内部存储设备的数据和IP的寄存器,这就使得那些对信息安全有特殊要求的芯片面临数据泄露和被篡改的危险。
片上闪存具有非易失性的特点,在断电后能够保存数据。同时由于其位于芯片内部,在芯片封装完成后,通过JTAG接口可以读写片上闪存,但通过其它的方式则很难读取和改变片上闪存的数据。需要说明的是,在理论上,JTAG接口可以访问CPU总线上的任何设备,所以应该能够写片上闪存,但闪存的写入方式与RAM不大相同,写的时序根据不同的闪存而不同,因此需要一个特定的接口IP将片上闪存与总线相连,实现指定闪存的写入功能。
发明内容
为了克服已有的***芯片JTAG调试控制方法的存在数据安全隐患、安全性较差的不足,本发明提供一种在方便调试的同时保障数据安全、提升安全性的基于片上闪存的***芯片JTAG调试控制方法。
本发明解决其技术问题所采用的技术方案是: 
一种基于片上闪存的***芯片JTAG调试控制方法,所述JTAG通过TAP实现对边界扫描链的控制,所述TAP接口包括TCK接口、TMS接口、TDI接口、TDO接口和TRST接口,所述TCK接口、TMS接口和TDI接口分别通过一个二选一的数据选择器来控制,数据选择器的两个输入分别为正常信号和固定的低电平或高电平,再通过***芯片内的一个位宽为一位的寄存器REG1来控制数据选择器,当寄存器REG1的值为一时,将低电平信号连接到TCK接口、TMS接口和TDI接口上,屏蔽JTAG接口;而寄存器REG1的值为零时,将正常信号连接到TCK接口、TMS接口和TDI接口上,进入正常的调试模式;
设置两个关键值为KEY1和KEY2,以及选定片上闪存中存放关键词的地址ADDR;
所述***芯片JTAG调试控制方法包括以下步骤:
(1)、启动程序,从零地址开始取指,即进入ROM段;
(2)、从片上闪存的ADDR地址读取32位数据VALUE,并将VALUE与关键值KEY1进行比较:
如果VALUE与KEY1相等,则将REG1写成一,此时JTAG接口被屏蔽,并跳转到程序的起始地址;
如果VALUE与KEY1不相等,则将REG1写成零,此时JTAG接口能够正常的工作,顺利进入调试模式;
(3)继续将VALUE与KEY2进行比较:
如果VALUE与KEY2相等,则直接跳转到程序的起始地址。如果VALUE月KEY2不相等,则跳转到一段循环指令。
作为优选的一种方案:所述TRST接口也通过一个二选一的数据选择器来控制,当寄存器REG1的值为一时,将高电平信号接到TRST接口上;当寄存器REG1的值为零时,将正常信号接到TRST接口上。
进一步,所述寄存器REG1支持读和写。
所述两个关键值KEY1和KEY2选用除了0xffffffff外的数值。所述两个关键值KEY1和KEY2的地址与程序段的地址位于片上闪存的不同位置。
本发明的技术构思为:为了能够顺利的进入JTAG调试以及调试完成后能够安全有效的屏蔽JTAG接口,本发明对JTAG的四根输入引脚TCK,TMS,TDI,TRST进行控制(如果对应的JTAG接口没有TRST,也可只对其它三根控制)。由前文论述可知,这四根引脚对JTAG调试起至关重要的作用,当这四根输入引脚能够正常输入时,JTAG工作在调试模式下,可以去调试芯片。当TCK,TMS和TDI为固定的低电平,TRST为固定的高电平时,由于没有TCK驱动,同时模式选择的TMS也为低电平,TAP状态机不能正常跳转,JTAG调试功能被屏蔽,不能再去读取和修改芯片内部的数据。TRST被固定为高电平是因为TRST为低电平时,会使JTAG接口复位,故将其接为高电平(没有这跟引脚也不影响最终的结果)。以下过程认为JTAG为具有五线的接口,即JTAG接口包含TRST线。
四根输入引脚分别通过一个二选一的数据选择器来控制。数据选择器的两个输入分别为正常信号和固定的低电平或高电平。再通过芯片内的一个位宽为一位的寄存器REG1来控制数据选择器,当REG1的值为一时,将低电平信号连接到JTAG接口的TCK,TMS,TDI上,并将高电平信号街道JTAG接口的TRST上,屏蔽JTAG接口;而REG1的值为零时,将正常信号连接到JTAG接口的TCK,TMS,TDI和TRST上,进入正常的调试模式。考虑到片上闪存的特性,我们将根据片上闪存的数据来决定REG1的值,从而达到对JTAG调试的控制。需要注意的是,REG1不应该用全局复位信号去复位,即REG1只支持读和写,不支持任何形式的复位。
整个控制过程的核心是一段固化在芯片上的ROM程序,通过这段ROM程序可以根据片上闪存的一个特殊地址的内容来使JTAG接口正常工作或者屏蔽JTAG接口。首先应该决定两个32位的关键值,这两个关键值是判断当前需求的依据。由于片上闪存在出厂后一般是擦除后的状态,即所有数据位都为一,所以选定的两个关键值应该避开0xffffffff。记这两个选定的关键值为KEY1和KEY2。其次应该选定一个存放关键值的地址。如果程序也是存放在片上闪存上,那么应该注意不要让存放的程序段和存放关键值的地址冲突。记选定的这个地址为ADDR。
这段ROM程序起始地址位于芯片内地址空间的零地址。程序启动后会从零地址开始取指,即会进入ROM段。ROM段固化的程序将完成以下一些操作:首先,从片上闪存的ADDR地址读取32位数据VALUE,并将VALUE与KEY1进行比较。如果VALUE与KEY1相等,则将REG1写成一,此时JTAG接口被屏蔽,并跳转到程序的起始地址(一般为片上或者片外存储器的基地址)。如果VALUE与KEY1不相等,则将REG1写成零,此时JTAG接口能够正常的工作,顺利进入调试模式,并继续将VALUE与KEY2进行比较。如果VALUE与KEY2相等,则直接跳转到程序的起始地址。如果VALUE月KEY2不相等,则跳转到一段循环指令。
根据上面的分析,这段ROM程序会产生三个不同的状态:屏蔽JTAG,跳转到程序起始段;开启JTAG,跳转到程序起始段;开启JTAG,跳转到一段循环指令。这三种状态的作用如下:
(1)         芯片调试前,片上闪存处于擦除的状态,所有的数据位都为一。复位后,位于零地址的ROM程序从片上闪存ADDR地址读回的32位数据为0xffffffff,与KEY1和KEY2都不相等。ROM程序段将会开启JTAG,此时由于程序还没有装载到存储器中,不能直接跳到程序的起始地址(否则CPU取到无法识别的指令),只能跳到一段循环指令,以确保能够顺利的进入调试模式。进入JTAG调试模式后,将需要调试的程序载入存储器中相应的地址空间。并通过JTAG接口将片上闪存的ADDR地址写成KEY2的值。
(2)         再次复位启动后,ROM程序段再次从片上闪存ADDR地址读取数据,这时读回的数据为等于KEY2,JTAG正常的工作,由于程序已经下载完毕,可以直接跳到程序的起始地址。这时可以正常的运行程序,监测程序运行的状态,并根据需要可以反复的修改和重新载入程序。直到程序完全运行正确,并希望永久的屏蔽JTAG接口,以防止非法的读取和修改芯片内的数据,这时通过JTAG接口将片上闪存的ADD地址写成KEY1的值。
(3)         由于片上闪存能够在断电后保存数据,以后的每一次复位重新启动后,ROM程序段从片上闪存的ADDR地址读取的数据都等于KEY1的值,JTAG被屏蔽,无法再通过JTAG接口去读取和修改芯片内的数据,也无法再去修改片上闪存的ADDR地址的数据,从而达到了保护芯片内数据安全的作用。
综上所述,本发明能够通过片上闪存安全有效的对***芯片的JTAG调试进行控制,从而达到保护芯片数据安全的目的。
本发明的有益效果主要表现在:在方便调试的同时保障数据安全、提升安全性。
附图说明
图1是TAP状态机的示意图。
图2是JTAG的边界扫描结构图。
图3是一个具有AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线架构)2.0结构的简单片上***的示意图。
图4是CPU的JTAG接口的具体连接方法的示意图。
图5是ROM程序的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图3~图5,一种基于片上闪存的***芯片JTAG调试控制方法,所述JTAG通过TAP实现对边界扫描链的控制,所述TAP接口包括TCK接口、TMS接口、TDI接口、TDO接口和TRST接口,所述TCK接口、TMS接口和TDI接口分别通过一个二选一的数据选择器来控制,数据选择器的两个输入分别为正常信号和固定的低电平或高电平,再通过***芯片内的一个位宽为一位的寄存器REG1来控制数据选择器,当寄存器REG1的值为一时,将低电平信号连接到TCK接口、TMS接口和TDI接口上,屏蔽JTAG接口;而寄存器REG1的值为零时,将正常信号连接到TCK接口、TMS接口和TDI接口上,进入正常的调试模式;
设置两个关键值为KEY1和KEY2,以及选定片上闪存中存放关键词的地址ADDR;
所述***芯片JTAG调试控制方法包括以下步骤:
(1)、启动程序,从零地址开始取指,即进入ROM段;
(2)、从片上闪存的ADDR地址读取32位数据VALUE,并将VALUE与关键值KEY1进行比较:
如果VALUE与KEY1相等,则将REG1写成一,此时JTAG接口被屏蔽,并跳转到程序的起始地址;
如果VALUE与KEY1不相等,则将REG1写成零,此时JTAG接口能够正常的工作,顺利进入调试模式;
(3)继续将VALUE与KEY2进行比较:
如果VALUE与KEY2相等,则直接跳转到程序的起始地址。如果VALUE月KEY2不相等,则跳转到一段循环指令。
所述TRST接口也通过一个二选一的数据选择器来控制,当寄存器REG1的值为一时,将高电平信号接到TRST接口上;当寄存器REG1的值为零时,将正常信号接到TRST接口上。
所述寄存器REG1支持读和写,不支持任何形式的复位。
所述两个关键值KEY1和KEY2选用除了0xffffffff外的数值。所述两个关键值KEY1和KEY2的地址与程序段的地址位于片上闪存的不同位置。
图3是一个具有AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线架构)2.0结构的简单片上***。CPU是一颗支持JTAG调试的RISC(Reduced Instruction Set Computer,精简指令集计算机)微处理器。eFlash为片上闪存,采用4片大小为128K的片上闪存并联,可以进行按word(字,即32位)访问,地址空间为0x80000到0xfffffc。eFlash Controller(片上闪存控制器)为片上闪存与AMBA AHB(Advanced High-performance Bus,高性能总线)的接口,这个接口能够将AHB总线信号转换为对应的闪存控制信号,从而实现对闪存的读,写,擦操作。也正是有了这个接口,使得通过JTAG对片上闪存在线编程成为可能。
图4给出了CPU的JTAG接口的具体连接方法,四个二选一的数据选择器来控制JTAG接口的四个输入:TMS,TCK,TDI,TRST。数据选择器一的两个输入分别为片上***的输入引脚TMS_IN和固定的低电平;数据选择器二的两个输入分别为片上***的输入引脚TCK_IN和固定的低电平;数据选择器三的两个输入分别为片上***的输入引脚TDI_IN和固定的低电平;数据选择器四的两个输入分别为片上***输入引脚TRST_IN和固定的高电平。四个数据选择的控制信号都为JTAG_OFF。这个控制信号来自eFlash Controller中的一个寄存器REG1,并与REG1的值保持一致。这个REG1只有读写功能,不会随***的复位而复位。当控制信号JTAG_OFF为高电平时,固定的低电平和固定的高电平分别被选中,任何的调试控制信息都无法传递给TAP,也就是说JTAG调试被完全屏蔽;当JTAG_OFF为低电平时,来自片上***的输入引脚被选中,可以通过这四根输入将需要的数据传入TAP,从而JTAG调试能够正常的进行。
选定两个关键值KEY1,KEY2分别为0x20101234和0x19876789(关键值可任意选取,注意不要选择0xffffffff,原因见前文论述),存放关键值的地址ADDR为0xffff0c(可在片上闪存地址空间范围内任意选取一个地址,注意不要与存储在片上闪存的数据相冲突,而且按照word读取,地址应对齐)。
为了能够根据片上闪存某个地址的值来改变寄存器REG1的值,需要固化一段ROM程序,并将这段ROM程序作为整个芯片的启动程序。ROM程序的流程如附图5所示。首先检测eFlash Controller是否是空闲的(只有在空闲状态,才能通过eFlash Controller对片上闪存发起读操作)。非空闲则等待,空闲则从0xffff0c读取一个32位的数据,记为VALUE。再将VALUE与0x20101234进行比较,相等则直接跳到程序起始地址。不相等则将eFlash Controller中的寄存器REG1置成0,即将JTAG_OFF置成低电平,并继续将VALUE与0x19876789进行比较。若两者相等,则跳到程序起始段;若两者不相等,则跳到一段位于ROM程序的循环指令。
     芯片开始调试前,复位后从ROM程序段启动。从0xffff0c处读回的32位数据为0xffffffff(闪存初始状态为擦除状态),与KEY1,KEY2都不相等,ROM程序将REG1写0。JTAG_OFF为低电平,JTAG能够正常工作,并跳到一段位与ROM程序的循环指令。此时可以通过JTAG来装载需要调试的程序。程序装载完成后,再将0xffff0c写成0x19876789。复位再启动后,从0xffff0c处读回来的值为0x19876789,与KEY2相等,ROM程序将REG1写0。JTAG_OFF为低电平,JTAG能够正常工作,并跳到程序的起始段。此时可以通过JTAG来运行程序,并可重复装载,反复调试。等到程序调试完全完成,再将0xffff0c写成0x20121234。再次复位重启后,从0xffff0c读回的数据与KEY1相等,ROM程序将REG1写1。此时JTAG_OFF为高电平,屏蔽JTAG接口,并直接跳到程序起始地址,开始运行程序。此时,不能再通过JTAG接口来截取或者修改程序,也不能再去写0xffff0c这个地址。闪存能够在断电后保存0xffff0c处的数据,同时REG1不会被复位,从而JTAG被屏蔽的状态能够永久的保存。

Claims (5)

1.一种基于片上闪存的***芯片JTAG调试控制方法,所述JTAG通过TAP实现对边界扫描链的控制,所述TAP接口包括TCK接口、TMS接口、TDI接口、TDO接口和TRST接口,其特征在于:所述TCK接口、TMS接口和TDI接口分别通过一个二选一的数据选择器来控制,数据选择器的两个输入分别为正常信号和固定的低电平信号,再通过***芯片内的一个位宽为一位的寄存器REG1来控制数据选择器,当寄存器REG1的值为一时,将低电平信号连接到TCK接口、TMS接口和TDI接口上,屏蔽JTAG接口;而寄存器REG1的值为零时,将正常信号连接到TCK接口、TMS接口和TDI接口上,进入正常的调试模式;
设置两个关键值为KEY1和KEY2,以及选定片上闪存中存放关键词的地址ADDR;
所述***芯片JTAG调试控制方法包括以下步骤:
(1)、启动程序,从零地址开始取指,即进入ROM段;
(2)、从片上闪存的ADDR地址读取32位数据VALUE,并将VALUE与关键值KEY1进行比较:
如果VALUE与KEY1相等,则将REG1写成一,此时JTAG接口被屏蔽,并跳转到程序的起始地址;
如果VALUE与KEY1不相等,则将REG1写成零,此时JTAG接口能够正常的工作,顺利进入调试模式;
(3)继续将VALUE与KEY2进行比较:
如果VALUE与KEY2相等,则直接跳转到程序的起始地址;如果VALUE与KEY2不相等,则跳转到一段循环指令。
2.如权利要求1所述的一种基于片上闪存的***芯片JTAG调试控制方法,其特征在于:所述TRST接口也通过一个二选一的数据选择器来控制,数据选择器的两个输入分别为正常信号和固定的高电平信号,当寄存器REG1的值为一时,将高电平信号接到TRST接口上;当寄存器REG1的值为零时,将正常信号接到TRST接口上。
3.如权利要求1或2所述的一种基于片上闪存的***芯片JTAG调试控制方法,其特征在于:所述寄存器REG1支持读和写。
4.如权利要求1或2所述的一种基于片上闪存的***芯片JTAG调试控制方法,其特征在于:所述两个关键值KEY1和KEY2选用除了0xffffffff外的数值。
5.如权利要求4所述的一种基于片上闪存的***芯片JTAG调试控制方法,其特征在于:所述两个关键值KEY1和KEY2的地址与程序段的地址位于片上闪存的不同位置。
CN2010105617014A 2010-11-29 2010-11-29 一种基于片上闪存的***芯片jtag调试控制方法 Active CN102073009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105617014A CN102073009B (zh) 2010-11-29 2010-11-29 一种基于片上闪存的***芯片jtag调试控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105617014A CN102073009B (zh) 2010-11-29 2010-11-29 一种基于片上闪存的***芯片jtag调试控制方法

Publications (2)

Publication Number Publication Date
CN102073009A CN102073009A (zh) 2011-05-25
CN102073009B true CN102073009B (zh) 2012-11-07

Family

ID=44031627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105617014A Active CN102073009B (zh) 2010-11-29 2010-11-29 一种基于片上闪存的***芯片jtag调试控制方法

Country Status (1)

Country Link
CN (1) CN102073009B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186458A (zh) * 2011-12-29 2013-07-03 联芯科技有限公司 基于嵌入式操作***的仿真调试***及方法
CN102662835B (zh) * 2012-03-23 2015-10-28 凌阳科技股份有限公司 一种针对嵌入式***的程序调试方法及嵌入式***
US9323633B2 (en) * 2013-03-28 2016-04-26 Stmicroelectronics, Inc. Dual master JTAG method, circuit, and system
KR102066661B1 (ko) * 2013-09-02 2020-01-15 삼성전자 주식회사 스캔-체인으로 연결된 플립-플롭들의 값들을 jtag 인터페이스를 이용하여 재구성할 수 있는 집적 회로, 이의 동작 방법, 및 상기 집적 회로를 포함하는 장치들
CN108027796B (zh) * 2015-09-04 2021-06-08 惠普发展公司有限责任合伙企业 独立控制串行端口引脚电压的装置、计算设备及其方法
CN107607853B (zh) * 2017-08-18 2020-03-17 北京集创北方科技股份有限公司 芯片的调试方法、装置、存储介质和处理器
CN108197699B (zh) * 2018-01-05 2020-04-07 中国人民解放军国防科技大学 针对卷积神经网络硬件加速器的调试模块
CN108388492A (zh) * 2018-03-20 2018-08-10 珠海格力电器股份有限公司 多dsp芯片调试控制方法及装置
CN109613421A (zh) * 2018-12-21 2019-04-12 郑州云海信息技术有限公司 一种jtag电路及测控装置
CN113010344B (zh) * 2019-12-19 2022-10-11 瑞昱半导体股份有限公司 联合测试工作组存取接口装置、主机端以及目标***
CN111881636B (zh) * 2020-07-07 2021-05-04 广芯微电子(广州)股份有限公司 一种基于risc-v芯片的仿真调试方法及装置
CN118278054A (zh) * 2024-05-31 2024-07-02 中国电子科技集团公司第五十八研究所 一种jtag接口加密装置及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228440B1 (en) * 2002-02-13 2007-06-05 Lsi Corporation Scan and boundary scan disable mechanism on secure device
US8255700B2 (en) * 2004-06-29 2012-08-28 Qualcomm Incorporated Lockstep mechanism to ensure security in hardware at power-up
US7398441B1 (en) * 2005-12-21 2008-07-08 Rockwell Collins, Inc. System and method for providing secure boundary scan interface access
CN101329385B (zh) * 2008-08-01 2011-08-24 炬力集成电路设计有限公司 一种片上***的调测***、调测方法以及片上***

Also Published As

Publication number Publication date
CN102073009A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102073009B (zh) 一种基于片上闪存的***芯片jtag调试控制方法
US7653845B2 (en) Test algorithm selection in memory built-in self test controller
US5828825A (en) Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port
CN100392617C (zh) 片上***与应用于其中的测试/除错方法
US7533309B2 (en) Testing memories using algorithm selection
US8812921B2 (en) Dynamic clock domain bypass for scan chains
US20040237015A1 (en) Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits
TWI384244B (zh) 可控制階層式測試架構之測試裝置與方法
US6829751B1 (en) Diagnostic architecture using FPGA core in system on a chip design
WO2004005949A1 (en) Hierarchical test methodology for multi-core chips
US8924801B2 (en) At-speed scan testing of interface functional logic of an embedded memory or other circuit core
CN105575438A (zh) 用于测试存储器的方法及装置
CN103675641A (zh) 芯片故障定位方法、装置及***
CN106098104A (zh) Fpga芯片内嵌bram核的测试***及方法
US20130311843A1 (en) Scan controller configured to control signal values applied to signal lines of circuit core input interface
Appello et al. Exploiting programmable BIST for the diagnosis of embedded memory cores
CN100492315C (zh) 嵌入式信号处理器模拟器
US20050041460A1 (en) Method and circuit for scan testing latch based random access memory
JP5610506B2 (ja) Jtagテスト・データ・レジスタを用いる非同期通信装置
CN101545950A (zh) 扫描控制方法和设备
CN110415751B (zh) 一种可参数化配置的存储器内建自测试电路
CN101782626A (zh) 一种jtag端口控制器
Remmers et al. Hierarchical DFT methodology-a case study
JP5623035B2 (ja) 集積回路の機能回路と通信するようにIEEE1149.1JointTestActionGroup標準を拡張するための装置、及びその方法
CN101055613A (zh) 一种芯片数据输出信号的保护方法及其电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant