CN101243451A - 嵌入式存储器保护 - Google Patents

嵌入式存储器保护 Download PDF

Info

Publication number
CN101243451A
CN101243451A CNA2006800303012A CN200680030301A CN101243451A CN 101243451 A CN101243451 A CN 101243451A CN A2006800303012 A CNA2006800303012 A CN A2006800303012A CN 200680030301 A CN200680030301 A CN 200680030301A CN 101243451 A CN101243451 A CN 101243451A
Authority
CN
China
Prior art keywords
microcontroller
storer
test interface
initial
state
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.)
Granted
Application number
CNA2006800303012A
Other languages
English (en)
Other versions
CN101243451B (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101243451A publication Critical patent/CN101243451A/zh
Application granted granted Critical
Publication of CN101243451B publication Critical patent/CN101243451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module

Abstract

本应用的一个实施例包括微控制器(30),所述微控制器(30)包括嵌入式存储器(46)、可编程处理器(32)和测试接口(34)。所述存储器(46)可通过测试接口(34)访问。响应于复位所述微控制器(30),在执行初始程序的同时,计数器被启动并且测试接口(34)被最初设定为禁止状态。当计数器达到预定值时,测试接口(34)变为允许状态,即允许通过测试接口(34)访问存储器(46),除非在达到预定值之前微控制器(30)执行编程代码,在随后的微控制器(30)操作过程中提供了禁止状态。

Description

嵌入式存储器保护
技术领域
本发明涉及电子设备,特别但不排它的是,涉及控制通过JTAG端口对微控制器的嵌入式存储器的访问。
背景技术
集成电路的安全性正日益受到关注,因为它们用在安全意识越来越强的应用中。这种应用的一些例子有:智能卡、蜂窝电话和其它无线通信设备、因特网通信系统等等。通常希望保护集成电路的一个或多个部分不接受未经授权的访问。对这种设备中的编程或其它存储器内容的未经授权的访问已经成为许多应用/程序开发者的关注焦点。
同时,人们还关注对向集成电路输入信息和从集成电路输出信息的许可。实际上,通常需要信息输入/输出(I/O)来测试、仿真和调试给定的集成电路。一种用于集成电路调试、仿真和/或测试目的的普通标准是JTAG(联合测试行动小组)IEEE(电气电子工程师协会)1194.1测试访问端口和边界扫描结构。除了标准JTAG接口之外,还有许多用于集成电路的其它调试、仿真和/或测试接口。遗憾的是,JTAG的输入/输出端或其它所需的接口有时为对集成电路的未经授权的访问提供了路径。其结果是,在期望保护对集成电路的访问和需要提供调试、仿真和/或测试能力之间,通常存在引人关注的竞争。因此,在这个技术领域中一直需要进一步的成果。
发明内容
本发明的一个实施例是一种用于保护对集成电路的访问的独特技术。本发明的其它实施例包括对集成电路的嵌入式存储器的访问进行控制的独特设备、方法、系统和装置。
另一实施例包括:复位微控制器,所述微控制器包括嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。响应于被复位,禁止(disable)通过测试接口对存储器进行访问,并且利用处理器开始执行存储在存储器中的代码(此后称之为复位代码)。稍后,允许(enable)通过测试接口对存储器进行访问,除非复位代码的执行针对随后的微控制器的操作再次禁止了测试接口。
另一实施例包括:微控制器的启动操作,所述微控制器包括嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口;响应于启动,启动计数器,将测试接口设定为初始禁止状态以禁止通过测试接口访问存储器,并利用处理器执行初始代码;并且,在计数器达到预定计数器状态时,将测试接口改变为允许状态以允许访问存储器,除非在计数器达到预定计数器状态之前初始代码的执行针对随后的微控制器操作设立了再次禁止状态。
再一实施例是一种微控制器集成电路,包括处理器、嵌入式存储器、和可操作地耦合至所述处理器和存储器的微控制器测试接口。所述微控制器响应于复位信号以执行复位操作逻辑,该逻辑设定测试接口的初始禁止状态并启动计数器。所述初始禁止状态防止通过测试接口访问存储器。在初始禁止状态期间,所述处理器可以执行存储在存储器中的复位初始代码,以在复位之后可选地为随后的微控制器操作设立再次禁止状态。响应于计数器达到预定计数器状态,所述复位操作逻辑提供测试接口的允许状态,以用于在随后的微控制器操作过程中通过测试接口访问存储器,除非在计数器达到预定计数器状态之前通过处理器的初始代码的执行设立了再次禁止存储器访问的状态。
又一实施例包括:启动微控制器的初始操作,所述微控制器包括嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口;在所述微控制器的初始操作过程中,设立测试接口的初始禁止状态,以禁止通过测试接口访问存储器;在所述初始禁止状态期间,由处理器执行存储在存储器中的至少一部分初始代码,以可选地设立测试接口的再次禁止状态;以及在初始操作之后允许微控制器操作通过测试接口访问存储器,除非初始代码的执行设立了再次禁止状态。所述再次禁止状态拒绝在初始操作之后的微控制器操作期间通过测试接口访问存储器。在一种形式中,所述初始代码包括第一部分和第二部分,所述初始禁止状态的设立是通过执行所述第一部分而进行的,而在所述初始禁止状态期间的执行则包括执行所述第二部分。
对于另一实施例,复位微控制器,所述微控制器包括嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。响应于被复位,由处理器执行存储在存储器中的复位代码。在复位之后的微控制器操作过程中,初始代码禁止通过测试接口访问存储器,以保护存储器内容;并且,在复位之后的微控制器操作过程中,改变存储器的内容,以允许通过测试接口访问存储器。在一种形式中,通过擦除来改变存储器的内容。在另一形式中,通过在存储器中存储不同的内容来选择性地或附加地改变所述内容。
本发明的一个目的是提供一种用于保护对集成电路的访问的独特技术。
本发明的另一目的是提供一种独特设备、方法、系统或装置,用以控制对集成电路的嵌入式存储器的内容的访问。
本发明的其它目的、实施例、形式、特征、益处和优点将由这里所包括的说明和附图而变得明显。
附图说明
图1是包括耦合至测试仪器的微控制器的集成电路系统的示意图。
图2是可以由图1的系统实现的一个过程的流程图。
具体实施方式
虽然本发明可以以许多不同的形式而实施,但是为了帮助理解本发明的原理,现在将参照附图中所示的实施例并使用特殊的语言来对其进行描述。不过,可以理解此举并非是限制本发明的范围。在所述实施例中的任何变体和进一步修改、以及对如此所述的发明原理的进一步应用都被认为是本发明涉及领域的技术人员通常能想到的。
本发明的一个实施例包括微控制器集成电路,该微控制器集成电路包括处理器、可操作地耦合至所述处理器的嵌入式存储器和可操作地耦合至所述处理器和存储器的微控制器测试接口。所述微控制器响应于复位信号,执行复位初始,包括设定测试接口的复位禁止状态和可选地设立测试接口的再次禁止状态。在随后的操作过程中,所述微控制器提供测试接口的允许状态,允许通过测试接口访问存储器,除非之前复位初始代码的执行设立了再次禁止状态。
图1示出集成电路系统20形式的另一实施例。系统20包括可操作地耦合至集成电路24的测试仪器22。集成电路24被构建为提供微控制器30。微控制器30包括处理器32和测试接口34。如此处所用,“测试接口”广泛地指被设置为根据一个或多个已建立的协议来提供测试、调试、仿真的任何集成电路接口或其组合。可通过专用端来访问给定的测试接口,或者,通过相应集成电路的一个或多个其它接口、设备等所共享的端子来访问给定的测试接口。在一个实施例中,接口34符合JTAG标准。代替地或者附加地,可以采用不同的测试接口协议。菲利普半导体型号LPC2114和型号LPC2124是具有JTAG和仿真跟踪端口能力的微控制器设备的非限制性例子。
图1中还示出了微控制器30的二元复位输入36。相应的复位信号复位微控制器30的操作,提示某些缺省并指导在预定启动存储器位置开始的程序执行。如下文结合图2所描述的那样,响应于复位条件,微控制器32执行复位初始化。该初始化可以以编程指令、硬件或二者组合的形式实现。
处理器32还耦合至本地总线40,以提供对嵌入式静态随机存取存储器(SRAM)存储器42和嵌入式非易失性闪存44的双向访问。总线40可以经由存储器控制逻辑(未示出)等耦合至SRAM存储器42和/或闪存44。典型地,存储器44用于存储处理器32在微控制器操作期间所执行的编程指令。存储器44被构建为经由一个或多个输入端口(例如串行通信端口)而被编程,并且对块擦除命令做出响应以擦除它的内容。在不同实施例中,存储器44的擦除可以响应于外部信号、内部信号或二者。根据需要,SRAM 42被用于数据和代码存储。共同地,SRAM 42和存储器44包括嵌入式微控制器存储器46。
微控制器30包括各种输入装置、输出装置、输入/输出(I/O)装置、和/或各种不同的专用内部装置,这些装置一起由附图标记52标注。高速内部总线50耦合至处理器32和装置52,以提供两者之间的选择性双向通信。在一个特殊形式中,装置52经由接口桥(未示出)耦合至总线50。装置52可以包括一个或多个计时器、实时时钟、模-数(A/D)转换器、数-模(D/A)转换器、通用I/O管脚(GPIO)、通用异步收发器(UART)接口和/或各种其它的串行通信端口、外部中断路径、脉冲宽度调制输出等。中断控制逻辑54也耦合至总线50。中断控制逻辑54管理与微控制器30相关的内部和外部中断。
测试仪器22是一种被配置为经由微控制器30的接口34提供适当的测试、调试和/或仿真的仪器。例如,对于JTAG形式的接口34,测试仪器22可以是多种标准类型的JTAG设备中的任意一种。可以理解的是,虽然在初始制造、测试和开发过程中通常期望经由测试仪器22访问微控制器30,但是在已编程部分在产品中被提供给相关消费者时,通常关心的是对存储在存储器42和/或44中的数据(例如编程)的未经授权的访问。实际上,通常期望采取措施来防止对手读取或成功访问这种部分的编程。因此,微控制器30构建有适合的操作逻辑,以在复位时向程序开发者提供是否禁止访问存储器的选择权。因为该选择是通过用户定义的编程而施行的,所以在已经将任何期望的测试/调试/仿真执行到令制造者和/或未编程部分的供应者满意的地步之前,不需要禁止测试接口访问存储器。
结合图2的流程图中所示的过程120,来描述可选地禁止微控制器30的测试接口34的一个非限制性例子。对于这个特殊的实现,测试接口34符合JTAG协议;但是应该理解的是,不同的协议也可以替换地或附加地用于其它实施例中。通过微控制器30的操作逻辑,至少实现结合程序120所谈及的操作中的一些操作,该逻辑可以以专用硬件的形式、硬线或固件微控制器指令的形式、可变的存储器存储的微控制器指令的形式和/或本领域技术人员能想到的不同形式而提供。
程序120开始于操作122,其中,启动复位条件。在操作122中,通过复位输入36处的状态的相应改变,二元逻辑复位信号被置位或者变为有效。作为非限制性示例,复位信号可以因断电/加电循环(加电复位POR)而获得,或者因在节电条件期间可能发生的电源电压降至预定阈值以下(节电复位BOR)而获得。
在操作122启动复位之后,过程120继续操作124,在相应的复位信号被“释放”之前,即在复位信号返回它的无效状态之前,执行操作124。在操作124中,对应于接口34的JTAG形式,设定逻辑JTAG禁止标记DIS_JTAG,使得DIS_JTAG=1。由于操作124中设定了该标记(DIS_JTAG=1),接口34的JTAG功能最初被禁止。通过禁止该功能,防止微控制器30的JTAG控制,这包括经由接口34访问存储器42或存储器44的能力。响应于复位条件,通过微控制器30的操作逻辑,实现该初始禁止状态,以除去在复位期间可能产生的任何存储器读取窗口。
离开操作124,过程120继续条件126。条件126测试是否已经释放了复位信号。如果复位信号还未被释放,即对应于测试的否定(否)结果,则条件126循环,重复执行,直到产生肯定(是)的结果。一旦产生肯定的结果,过程120就进入复位初始,该复位初始始于操作128。在操作128中,启动数字计数器CNTR,其对微控制器30的初始复位周期进行定时。
离开操作128,过程120继续操作130。在操作130中,处理器32导引至存储器44中的保留的复位初始位置。如果从该保留的位置开始编程指令(代码)的可选择的“引导块”被适当地载入存储器44,则在操作130中完成该执行。该代码定义由处理器32执行的复位初始。这样的复位初始代码被存储作为位置邻接的存储器“块”,该位置对应于所述实施例的特定存储器地址范围。或者,在存储器42和/或存储器44内,所述代码可以被存储在保留或非保留类型的两个或更多个非邻接位置。作为非限制性例子,预定的复位初始位置可以通过间接寻址等指向所存储的复位例程。典型地,所述复位初始代码由微控制器30的原始设备生产商(OEM)规定。
在所述复位初始代码的执行过程中,不时地(from time-to-time)执行过程120的条件132,以检测在操作128中启动的计数器CNTR是否已经达到预定计数器状态。该预定状态对应于一时间段,该时间段被选择以提供复位延迟,所述延迟至少包括复位初始代码(当存在时)的执行时间的初始部分。在一个形式中,该预定计数器状态是数字化定义值,在条件132的每次执行过程中将该值与计数器CNTR的数字输出进行比较。计数器CNTR可以以硬件设备或逻辑软件的形式、以微控制器30内部的计时器形式(例如包括在装置52中的计时器或者用户无法访问的专用硬件和/或软件计时器)提供,或者作为提供给微控制器30的外部计数装置或计数器信号,这只是一些例子。在所述实施例中,操作128和条件132通过微控制器的操作逻辑而实现。
如果条件132的测试为否定(否),即计数器CNTR还未达到预定计数器状态,则条件132循环,重复执行,直到计数器CNTR达到预定计数器状态。一旦达到该状态,条件132的测试为肯定(是),并且过程120继续条件134。条件134测试在计数器CNTR达到预定计数器状态之前,在操作130期间,引导块代码(当存在时)的执行或复位初始是否已经设定了安全标记EN_SECURITY。安全标记EN_SECURITY的设定(EN_SECURITY=1)是代码开发者所定义的复位初始代码的执行所设定的选择。典型地,该代码的开发由微控制器组件的原始设备生产商(OEM)实现。当执行复位初始代码时,可以通过多种技术中的任意一个来设定安全标记EN_SECURITY,例如外部信号输入、特定存储器位置的内容、一些存储器位置的内容校验和、或其它的安全性能可接受的操作/功能。
如果条件134的测试为否定(否),即在条件132为是之前,在执行操作130的引导块过程中未设定安全标记EN_SECURITY(EN_SECURITY=0),则过程120进行操作136。在操作136中,允许接口34的JTAG功能,包括通过该测试接口端访问存储器42和/或存储器44的能力。在操作136中,接口34的这个允许状态有效地去除了在操作124中设定的接口34的初始禁止状态。然后微控制器30在步骤138中离开复位过程120进行或返回至正常操作。
另一方面,如果条件134的测试为肯定(是),即在条件132为是之前,在执行操作130的引导块执行期间允许安全标记EN_SECURITY(EN_SECURITY=1),则程序120跳过操作136,直接进行至步骤138。因为操作136被绕过,所以从步骤138开始,继续保持接口34对于随后的微控制器操作的禁止状态。因此,程序120通过设立接口34的再次禁止状态(包括拒绝对存储器的访问),响应安全标记EN_SECURITY的肯定设定。通过所述实施例的微控制器的操作逻辑,实现条件134和操作136。
操作138对应于测试/调试接口34被禁止的微控制器30的后继的指定操作。离开操作136,程序120也继续操作138,返回或开始微控制器30的正常操作,而相应的接口34处于允许状态。
如前所述,可以通过采取措施而施加改变以设定给定状态,或者通过借助省略给定的相应动作而使得状态保持或改变,来实现测试接口34和/或存储器访问的禁止状态或允许状态的设立。应该理解的是,过程120的特征包括在复位时禁止通过接口34的访问,以防止在复位条件期间通过接口34的未经授权的控制断言。对结合过程120而描述的实施例来说,所述初始禁止状态由微控制器30的操作逻辑提供;但是,它可以通过用户代码(例如用户规定的复位代码)或以其它形式的不同方式而提供。通过用计数器CNTR设立延迟周期,用户定义的复位程序块可以有选择地启动对接口34的再次禁止,缺省地,在计数器延迟之后将允许识别接口34,除非采取了这种主动。当没有可选择的复位初始代码时,应该理解接口34的该缺省允许也是存在的。因此,对微控制器30的控制和/或访问可以在制造、测试和开发过程中经由接口34通过JTAG操作获得,只要没有复位初始代码,和/或在存在复位初始代码时从设定安全标记EN_SECURITY中退出。
在极少情况下,可以期望实现早已编程的微控制器30的测试、调试、仿真等,对于所述微控制器30,EN_SECURITY已经被设定以标称地防止经由接口34的访问(EN_SECURITY=1)。例如,当产品/代码开发者因为错误分析而将一个或多个已编程微控制器30返回至OEM时,会出现这样的期望。在这种情况下,经由接口34的访问可以通过变更存储器内容而得以重新设立,所述存储器内容通过接口34的再次禁止状态而受到保护。在一个非限制性例子中,通过损坏存储器位置的内容的块擦除命令或输入信号而实现该变更,从而继续保护这些内容不受未经授权的访问。替换地或附加地,可以通过重写至少一部分已存储的复位初始代码和/或任何涉及到的存储器位置而实现该变更,以在操作130期间设定安全标记EN_SECURITY。在一种情况下,包括在装置52中的串行通信装置提供对存储器42和存储器44的只写访问,可以通过该访问进行上述变更。以这种方式,存储器42和存储器44的内容可以由编程者的选择而受到保护,直到这样的时刻(如果有的话),即还需要对装置进行测试和调试;并且在此之后保护仍然继续,因为允许测试接口访问所需要的变更同时改变了正受到保护的内容。
可以想到本申请的许多其它实施例。例如,本申请的教导可以应用于除微控制器之外的其它类型的集成电路中。替换地或附加地,可以采用其它类型的存储器访问控制。另一例子是一种装置,包括微控制器,微控制器包括嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。所述微控制器还包括:用于设立测试接口的初始禁止状态,以禁止在初始操作期间通过测试接口对存储器进行访问的装置;用于通过处理器执行存储在存储器中的至少一部分复位代码,以可选地在初始禁止状态期间设立测试接口的再次禁止状态的装置;以及允许初始操作之后的微处理器操作通过测试接口来访问存储器,除非复位代码的执行设立了再次禁止状态的装置。在初始操作之后的微控制器操作期间再次禁止状态禁止访问存储器。在一个形式中,所述复位代码包括第一部分和第二部分,所述初始禁止状态的设立是通过执行所述第一部分而实现的,所述执行装置执行所述第二部分。
另一示例是一种装置,包括微控制器,该微处理器具有嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。所述微控制器包括:用于响应于复位微控制器而由处理器执行存储在存储器中的复位初始代码的装置。所述初始代码禁止通过测试接口访问存储器,以在复位之后的微控制器操作期间保护存储器内容。所述微控制器还包括用于改变存储器的内容,以在复位之后的微控制器操作之后允许通过测试接口访问存储器的装置。
在又一例子中,装置包括微控制器,微控制器具有嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。所述微控制器包括:用于复位微控制器的操作的装置,用于在微处理器响应于复位装置而执行初始程序的同时启动计数器并将测试接口设定为复位禁止状态的装置,和
用于当计数器达到预定值时,针对随后的微控制器操作将测试接口改变为允许状态,除非在达到预定值之前微控制器执行设立再次禁止状态的编程代码的装置。所述再次禁止状态在随后的微控制器操作期间拒绝通过测试接口访问存储器。
在再一例子中,装置包括微控制器,微控制器具有嵌入式存储器、可编程处理器和可操作地耦合至所述存储器和处理器的测试接口。所述微控制器包括:复位装置,用于响应于所述复位装置而禁止通过测试接口访问存储器的装置,用于在由所述禁止装置禁止测试接口之后由处理器执行存储在存储器中的复位初始代码的装置,和用于允许通过测试接口访问存储器、除非复位初始化程序的执行为随后的微控制器操作设立了测试接口的再次禁止的装置。
这里所述的任何原理、操作的机制、证明或发现旨在进一步增强对本发明的理解,而不试图以任何方式将本发明限制于这些原理、操作的机制、证明或发现。虽然在附图和前面的描述中详细地示出和阐述了本发明,但是将其视为说明性的,并非限制性的,应该理解的是,只示出和描述了所选择的实施例,期望保护的是落入如此处所限定或由所附权利要求所限定的本发明的精神之内的所有等同物、改变和修改。

Claims (30)

1.一种方法,包括:对微控制器(30)复位,所述微控制器(30)包括嵌入式存储器(46)、可编程处理器(32)和可操作地耦合至所述存储器(46)和所述处理器(32)的测试接口(34);响应于所述复位,禁止通过所述测试接口(34)访问所述存储器(46);
在禁止之后,开始由所述处理器(32)执行存储在所述存储器(46)中的复位代码;以及允许通过所述测试接口(34)访问所述存储器(46),除非所述复位代码的执行设立了针对随后的微控制器操作再次禁止通过所述测试接口(34)访问所述存储器。
2.如权利要求1的方法,包括在开始执行复位代码之前启动计数器。
3.如权利要求2的方法,包括将预定值与所述计数器的输出值进行比较并延迟所述允许,直到所述计数器的输出值达到所述预定值。
4.如权利要求1的方法,其中通过所述复位代码的执行而设立的再次禁止防止在随后的微控制器操作期间通过所述测试接口读取所述存储器(46)的内容。
5.如权利要求4的方法,包括在随后的微控制器操作期间变更所述存储器(46)的内容,以获得通过所述测试接口(34)对所述存储器的访问。
6.如权利要求5的方法,其中所述变更包括下列中的至少一项:擦除存储器(46),以及通过外部存储器端口将不同的内容存储在存储器(46)中。
7.如权利要求1的方法,其中在允许时,所述测试接口(34)用于执行JTAG操作。
8.一种方法,包括:微控制器(30)的初始操作,所述微控制器(30)包括嵌入式存储器(46)、可编程处理器(32)和可操作地耦合至所述存储器(46)和所述处理器(32)的测试接口(34);响应于所述启动,启动计数器,将所述测试接口设定为初始禁止状态,以禁止通过所述测试接口(34)访问所述存储器(46),并且由所述处理器(32)执行初始代码;以及,如果所述计数器达到预定计数器状态,则将所述测试接口(34)改变为允许状态,以允许访问所述存储器(46),除非在所述计数器达到预定计数器状态之前初始代码的执行针对随后的微控制器操作设立了再次禁止的状态。
9.如权利要求8的方法,其中所述计数器是定时器,并且所述预定计数器状态是预定时间量,而初始禁止状态的设定是在初始代码的执行之前由所述微控制器(30)的操作逻辑进行的。
10.如权利要求8的方法,包括通过根据JTAG协议耦合至所述测试接口(34)的外部仪器(22)来访问所述微控制器(30)。
11.如权利要求8的方法,其中通过初始代码的执行设立所述再次禁止的状态,以防止在随后的微控制器操作期间通过所述测试接口(34)读取存储器(46)的内容。
12.如权利要求11的方法,包括在随后的微控制器操作期间变更所述存储器(46)的内容,以获得通过所述测试接口(34)对存储器的访问。
13.如权利要求12的方法,其中:所述变更包括下列中的至少一项:擦除所述存储器(44),并将不同的内容存储在所述存储器(44)中;以及将初始代码存储在所述存储器(44)的预定部分中,而且所述存储器(44)是非易失性的。
14.如权利要求13的方法,其中当所述存储器(46)中未存储初始代码时,响应于所述计数器达到预定计数器状态,允许访问所述存储器(46)。
15.一种装置,包括:微控制器(30)集成电路(24),所述微控制器集成电路包括处理器(32)、可操作地耦合至所述处理器(32)的嵌入式存储器(46)、和可操作地连接至所述处理器(32)和存储器(46)的微控制器测试接口(34),所述微控制器(30)响应于复位信号,执行复位操作逻辑,所述复位操作逻辑用于设定所述测试接口(34)的初始禁止状态并启动计数器,所述初始禁止状态防止通过所述测试接口(34)访问存储器(46),所述处理器(32)用于在初始禁止状态期间执行存储在所述存储器(46)中的复位代码,针对复位之后随后的微控制器操作可选地设立再次禁止的状态,响应于所述计数器达到预定计数器状态,所述复位操作逻辑在随后的微控制器操作期间提供通过所述测试接口(34)访问存储器的测试接口(34)允许状态,除非在所述计数器达到预定计数器状态之前由所述处理器(32)执行的初始代码设立了再次禁止对存储器访问的状态。
16.如权利要求15的装置,其中所述复位操作逻辑在所述处理器(32)开始执行初始代码之前设定初始禁止状态。
17.如权利要求15的装置,其中所述微控制器(30)包括用于根据JTAG协议与外部仪器(22)进行输入和输出操作的装置。
18.如权利要求15的装置,其中在设定再次禁止访问存储器的状态之后,所述微控制器(30)响应于一个或多个外部信号,变更所述存储器(46)的内容,从而变更所述存储器(46)的内容并允许通过所述测试接口(34)访问所述存储器。
19.如权利要求15的装置,其中所述微控制器(30)包括用于在由初始代码的执行设定了再次禁止的状态之后改变所述存储器(46)的内容的装置。
20.如权利要求15的装置,其中所述存储器(44)是非易失性闪存类型。
21.一种方法,包括:启动微控制器(30)的初始操作,所述微控制器(30)包括嵌入式存储器(46)、可编程处理器(32)和可操作地耦合至所述存储器(46)和处理器(32)的测试接口(34);在微控制器(30)的初始操作过程中,设立所述测试接口的初始禁止状态,以禁止通过所述测试接口(34)访问所述存储器(46);在初始禁止状态期间,由所述处理器(32)执行存储在所述存储器(46)中的至少一部分初始代码,以可选地对所述测试接口(34)设立再次禁止的状态;并且对于初始操作之后的微控制器操作,允许通过所述测试接口(34)访问存储器,除非由初始代码的执行设立了再次禁止的状态,所述再次禁止的状态在初始操作之后的微控制器操作过程中禁止通过所述测试接口(34)访问存储器。
22.如权利要求21的方法,其中由所述微控制器(30)的专用操作逻辑来实现所述初始禁止状态。
23.如权利要求22的方法,包括在所述微控制器(30)的初始操作过程中操作计数器。
24.如权利要求23的方法,其中在所述计数器达到预定计数器状态之前,通过利用执行初始代码而设立的安全性来设定禁止所述允许,以提供所述再次禁止的状态。
25.如权利要求21的方法,其中所述初始代码包括第一部分和第二部分,所述初始禁止状态的设立是通过执行所述第一部分而进行的,所述执行包括执行所述第二部分。
26.一种方法,包括:复位微控制器(30),所述微控制器(30)包括嵌入式存储器(46)、可编程处理器(32)和可操作地耦合至所述存储器(46)和处理器(32)的测试接口(34);响应于所述复位,由所述处理器(32)执行存储在所述存储器(46)中的复位代码,在复位之后的微控制器操作期间,初始代码禁止通过所述测试接口(34)访问所述存储器(46)以保护存储器内容;以及,在复位之后的微控制器操作期间,变更所述存储器(46)的内容以允许通过所述测试接口(34)访问所述存储器(46)。
27.如权利要求26的方法,包括在进行所述执行之前,响应于所述复位,设立所述测试接口(34)的初始禁止状态。
28.如权利要求26的方法,包括在进行所述执行之前,响应于所述复位,启动计数器。
29.如权利要求26的方法,其中所述变更包括擦除所述存储器(46)的内容。
30.如权利要求26的方法,其中所述变更包括在所述存储器(46)中存储不同的内容。
CN2006800303012A 2005-08-22 2006-08-22 保护嵌入式存储器的访问的方法和装置 Active CN101243451B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71064805P 2005-08-22 2005-08-22
US60/710,648 2005-08-22
PCT/IB2006/052905 WO2007023457A2 (en) 2005-08-22 2006-08-22 Embedded memory protection

Publications (2)

Publication Number Publication Date
CN101243451A true CN101243451A (zh) 2008-08-13
CN101243451B CN101243451B (zh) 2010-10-13

Family

ID=37692615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800303012A Active CN101243451B (zh) 2005-08-22 2006-08-22 保护嵌入式存储器的访问的方法和装置

Country Status (5)

Country Link
US (1) US8065512B2 (zh)
EP (1) EP1920377A2 (zh)
JP (1) JP2009505303A (zh)
CN (1) CN101243451B (zh)
WO (1) WO2007023457A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404829A (zh) * 2014-07-21 2016-03-16 帝斯贝思数字信号处理和控制工程有限公司 用于选择性地释放调试接口的设备
CN108351380A (zh) * 2015-10-29 2018-07-31 北欧半导体公司 微处理器接口

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046571B1 (en) 2006-12-18 2011-10-25 Marvell International Ltd. System-on-a-chip (SoC) security using one-time programmable memories
US9141776B2 (en) 2008-04-30 2015-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for secure hardware analysis
US8332641B2 (en) * 2009-01-30 2012-12-11 Freescale Semiconductor, Inc. Authenticated debug access for field returns
US8484451B2 (en) 2010-03-11 2013-07-09 St-Ericsson Sa Method and apparatus for software boot revocation
US8255578B2 (en) 2010-06-14 2012-08-28 Microsoft Corporation Preventing access to a device from an external interface
KR101301022B1 (ko) * 2011-12-23 2013-08-28 한국전자통신연구원 암 코어 기반의 프로세서를 위한 외부 공격 방어 장치 및 이를 이용한 방법
US9390278B2 (en) 2012-09-14 2016-07-12 Freescale Semiconductor, Inc. Systems and methods for code protection in non-volatile memory systems
TW201516424A (zh) * 2013-10-31 2015-05-01 Hon Hai Prec Ind Co Ltd 伺服器開關機測試方法及系統
JP6390840B2 (ja) * 2014-10-07 2018-09-19 セイコーエプソン株式会社 半導体装置及び電子機器
US10318438B1 (en) * 2017-12-07 2019-06-11 Nuvoton Technology Corporation Secure memory access using memory read restriction
US10613955B2 (en) * 2017-12-28 2020-04-07 Intel Corporation Platform debug and testing with secured hardware
US10719607B2 (en) * 2018-03-19 2020-07-21 Nxp B.V. Data integrity verification in a non-volatile memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103782B1 (en) * 2000-09-27 2006-09-05 Motorola, Inc. Secure memory and processing system having laser-scribed encryption key
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7149854B2 (en) 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
EP1276033B1 (de) * 2001-07-10 2012-03-14 Trident Microsystems (Far East) Ltd. Speichereinrichtung mit Datenschutz in einem Prozessor
US7117352B1 (en) * 2002-02-13 2006-10-03 Lsi Logic Corporation Debug port disable mechanism
JP4526111B2 (ja) * 2003-12-19 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション マイクロコンピュータおよびデバッグ方法
WO2005076139A1 (en) * 2004-02-05 2005-08-18 Research In Motion Limited Debugging port security interface
US7386774B1 (en) * 2004-02-26 2008-06-10 Integrated Device Technology, Inc. Memory unit with controller managing memory access through JTAG and CPU interfaces

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404829A (zh) * 2014-07-21 2016-03-16 帝斯贝思数字信号处理和控制工程有限公司 用于选择性地释放调试接口的设备
CN105404829B (zh) * 2014-07-21 2019-03-08 帝斯贝思数字信号处理和控制工程有限公司 用于选择性地释放调试接口的设备
CN108351380A (zh) * 2015-10-29 2018-07-31 北欧半导体公司 微处理器接口

Also Published As

Publication number Publication date
CN101243451B (zh) 2010-10-13
EP1920377A2 (en) 2008-05-14
WO2007023457A3 (en) 2007-06-07
JP2009505303A (ja) 2009-02-05
WO2007023457A2 (en) 2007-03-01
US20090222652A1 (en) 2009-09-03
US8065512B2 (en) 2011-11-22

Similar Documents

Publication Publication Date Title
CN101243451B (zh) 保护嵌入式存储器的访问的方法和装置
US8176281B2 (en) Controlling access to an embedded memory of a microcontroller
CN100594551C (zh) 保护集成电路免于错误操作的方法和装置
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
CN101561857B (zh) 多模式启动的安全嵌入式系统
US5991849A (en) Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
US20060214009A1 (en) Nonvolatile storage apparatus
US20050039039A1 (en) Method and apparatus for providing security for debug circuitry
KR20010070149A (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US7058856B2 (en) Semiconductor circuit with flash ROM and improved security for the contents thereof
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
JP2009123071A (ja) データ処理回路及び通信携帯端末装置
CN101097609B (zh) 计算机系统、以及程序执行控制电路和方法
CN114020682A (zh) 芯片工作模式的控制方法、装置、芯片和存储介质
RU2469384C2 (ru) Способ маскировки перехода к концу срока службы электронного устройства и устройство, содержащее соответствующий контрольный модуль
CN101202115B (zh) 内置非挥发性存储器芯片的测试模式实现方法
US7436702B2 (en) Integrated circuit with a data memory protected against UV erasure
JP2011180963A (ja) 半導体集積回路装置
CN1937084A (zh) 一种对集成电路关闭内部功能的实现方法
JP6281302B2 (ja) 情報処理装置、icカード、及びデータ処理方法
JP2006277012A (ja) 半導体集積回路
KR19980083044A (ko) 컴퓨터의 시모스(cmos)데이터 보호장치와 그 보호방법
JPH09293063A (ja) マイクロコンピュータ
JP2008276894A (ja) 半導体集積回路のテスト回路およびテスト方法

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