CN105404829A - 用于选择性地释放调试接口的设备 - Google Patents
用于选择性地释放调试接口的设备 Download PDFInfo
- Publication number
- CN105404829A CN105404829A CN201510680948.0A CN201510680948A CN105404829A CN 105404829 A CN105404829 A CN 105404829A CN 201510680948 A CN201510680948 A CN 201510680948A CN 105404829 A CN105404829 A CN 105404829A
- Authority
- CN
- China
- Prior art keywords
- interface
- hardware component
- programmable hardware
- configuration
- equipment
- 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
Links
- 238000012544 monitoring process Methods 0.000 claims description 41
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 16
- 230000005055 memory storage Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 abstract description 11
- 230000008859 change Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Abstract
本发明的技术方案是一种用于禁止对第一可编程的硬件构件(1)进行配置的设备,所述设备具有第一可编程的硬件构件(1)、第二可编程的硬件构件(2)和开关元件(3),其中,第一可编程的硬件构件(1)具有:配置接口(5),其构造用于配置第一可编程的硬件构件(1)的逻辑电路(4);数据接口(7),其构造用于使所述逻辑电路(4)和第二可编程的硬件构件(2)通信;调试接口(8),其构造用于调试和配置逻辑电路(4);和配置监视接口(9),其构造用于用信号表示逻辑电路(4)的配置过程,其中,开关元件(3)与调试接口(8)连接和构造,使得在配置过程期间能够禁止对调试接口(8)的访问。
Description
发明内容
本发明涉及用于禁止可编程的硬件构件、特别是PLD或者处理器的配置或者编程的设备和方法。
背景技术
PLD、即可编程逻辑器件是数字技术的集成电路,在其中,能够对逻辑电路进行编程或者配置。为此PLD具有配置接口,借助所述配置接口能够配置PLD内的逻辑电路,这样为PLD和布线中的各个通用块的基础的功能方式互相具体地确定通过逻辑电路呈现的结构准则。属于PLD的特别是有FPGA即现场可编程门阵列和CPLD即复合可编程逻辑器件。
处理器是数字技术的集成电路,在其中在很大程度上固定布线地存在逻辑电路并且在其中通过运行软件能够编程或者配置逻辑功能。为此处理器具有用于运行软件或者操作所运行的软件的配置接口。
所谓可编程的硬件构件以下理解为处理器、PLD或者两者的组合。所谓逻辑以下理解为处理器内的软件或者PLD内的逻辑电路。
可编程的硬件构件除用于配置该硬件构件的配置接口外多具有另外一个调试接口,所述调试接口主要可以用于调试可编程的硬件构件中被编程的逻辑电路,然而同样允许配置该逻辑电路。
一些模型也不具有分开的配置接口,因为在制造商处仅通过调试接口设置逻辑电路的配置。在这种情况下,可以借助一个在该硬件构件外部实现的电路提供一个分开的配置接口和一个分开的调试接口。例如可以将调试接口与一个开关连接,该开关设置用于,将调试接口选择性地与一个第一外部接口或者一个第二外部接口连接,其中,第一外部接口设置用于编程可编程的硬件构件,而第二外部结构给用户提供用于调试在该可编程的硬件构件中编程的逻辑电路,并且其中,该开关设置用于,在该硬件构件的编程过程期间连接调试接口与第一外部接口,并且当不发生该硬件构件的编程过程时连接调试接口与第二外部接口。对于该要求保护的发明无关紧要的是,某个配置接口和某个调试接口通过该可编程的硬件构件原来作为相应分开的接口提供,还是这借助设置在该硬件构件外部的电路而发生。
如果现在要禁止通过某个用户对可编程硬件构件进行配置,则可以首先禁止该用户对配置接口的访问。然而如果该用户应该获得调试可编程硬件构件的逻辑电路的可能性,则必须释放调试接口。然而这在于是也在由现有技术已知的构造形式的情况下意味着,该用户不仅能够调试可编程硬件构件,而且也能够对它进行配置或者编程。
然而在确定的情况下不希望通过调试接口对可编程的硬件构件进行编程,例如当第一可编程的硬件构件、特别是FPGA与第二可编程的硬件构件、特别是处理器耦合时。这种设置在现有技术中例如由用于实时模拟复杂的物理和电子系统的计算机系统中所已知。在那里,这种设置能够使处理器将确定的、尤其是时间特别关键的计算过程向FPGA转达。
在这种设置中有意义的是,FPGA的配置仅能够通过处理器执行。这种计算机系统的制造商通常也提供用于配置或者编程整个计算机系统的工具,包括与处理器耦合的FPGA。在计算机系统的编程过程中处理器通过一个配置接口对耦合的FPGA进行配置,也就是说以逻辑写入。该逻辑除可由用户自由配置的部分外还包含强制的、由用户不能配置或者仅能受限制地能配置的接口逻辑,所接口逻辑在持续的运行中使用耦合的处理器调节数据交换。以这种方式由计算机系统的制造商能够预定在处理器和FPGA之间经定义的通信行为,并且能够预定防止错误编程的安全机制。在没有这种安全机制的情况下,错误的编程可能导致计算机系统的错误的行为,在最差的情况下甚至导致FPGA或者其他的安装的硬件损坏。FPGA的通过调试接口的可编程性提供一种绕过该安全机构的可能性。通过调试接口的编程访问引起对FPGA上的全部存在的逻辑或者其逻辑电路的至少一个突出的部分区域的覆盖,并且还能够以这种方式引起原本强制的接口逻辑的覆盖。处于该原因在现有技术中,在如上述的计算机系统中调试接口对于用户大多不能访问。但是由此用户也不能为编程FPGA以外的目的使用调试接口,例如为调试FPGA逻辑的目的而监视变量。
发明内容
从这种情况出发本发明的任务在于,说明一种用于禁止对可编程的硬件构件进行配置的设备,借助所述设备能够避免由于对硬件构件的不正确的或者不允许的编程导致硬件构件或者与该硬件构件连接的硬件的损坏,但是在需要时仍然能够通过调试接口为编程或者配置以外的其他目的来访问该硬件构件。
该任务的解决根据本发明通过独立权利要求的特征解决。本发明的有利的构造形式在从属权利要求中说明。
因此该任务的解决方案通过一种用于禁止第一可编程的硬件构件的配置的设备进行,所述设备具有所述可编程的硬件构件和开关元件,其中,该可编程的硬件构件具有配置接口、数据接口和调试接口,所述配置接口构造用于对所述可编程的硬件构件的逻辑电路进行编程,所述数据接口构造用于与所述可编程的硬件构件的硬件环境进行数据交换,所述调试接口构造用于调试和配置所述逻辑电路,其中,开关元件如此与调试接口连接和构造,使得在逻辑电路的配置过程期间能够禁止对调试接口的访问。根据另一个优选的构造形式,可编程的硬件构件具有配置监视接口,其构造用于用信号表示逻辑电路的配置过程。
在一种优选的构造形式中,所述设备具有第二可编程的硬件构件,并且所述数据接口构造用于使第一可编程的硬件构件与第二可编程的硬件构件通信。在所述设备的一种特别优选的构造形式中,第一可编程的硬件构件是FPGA,并且第二可编程的硬件构件是FPGA或者是处理器。
因此本发明的重要的一点是,设有开关元件,通过该开关元件在配置过程期间能够禁止对调试接口的访问,其中该开关元件尤其这样构造,使得在配置过程期间禁止对调试接口的访问。这意味着,一方面能够借助配置接口对所述可编程的硬件构件的逻辑电路进行配置,并且也同样能够利用调试接口对逻辑电路进行调试,然而在配置过程期间能够阻止对调试接口的访问。
所述可编程的硬件构件优选如此构造,使得不仅在通过配置接口配置或者编程的情况下而且在通过调试接口编程或者配置的情况下用信号表示配置过程。备选地,所述配置过程,亦即逻辑电路的编程和配置同样能够从向调试接口传输的操控信号来识别,例如通过从操控信号中提取配置指令。为此例如可以提供一个适宜地构造的监视单元,所述监视单元在该操控信号内查找配置指令。下面同义地说明两个变体方案,即配置监视接口存在以及配置监视接口不存在。
配置过程的信号通知尤其是通过输出0或1的逻辑状态或者通过上升的或者下降的边沿进行。例如当可编程的硬件构件通过配置接口或者调制接口被编程时,也就是说发生一个配置过程时,通过向配置监视接口输出逻辑的0,并且在硬件构件配置结束后,通过向配置监视接口输出逻辑的1。对于这种情况,开关元件优选如此构造,使得在逻辑的0作为配置监视接口上的信号的情况下,或者用于调试接口的操控信号的情况下,识别为可编程的硬件构件的配置过程,从而通过开关元件能够禁止对调试接口的访问,尤其是禁止该访问。
优选地,所述可编程的硬件构件是第一可编程的硬件构件并且数据接口构造用于与第二可编程的硬件构件通信。特别优选地,第一可编程的硬件构件是FPGA并且第二可编程的硬件构件是处理器。所述FPGA基本上可以作为从现有技术中已知的现场可编程门阵列来构造,例如作为数字技术中的集成电路,其中能够编程或者配置逻辑电路。通过数字接口,FPGA或者FPGA的逻辑电路与处理器通信。所述处理器同样可以作为从现有技术中已知的任意的处理器来构造。所述FPGA优选这样构造,使得该FPGA的配置一方面能够通过配置接口以及另一方面能够通过调试接口进行,然而其中优选,用于配置FPGA的配置装置借助配置接口与FPGA连接。
通过本发明,通过对于可编程的硬件构件的逻辑电路的配置访问仅借助配置接口才可能,然而不能、或者仅在特殊的情况下才能、通过调试接口进行,能够防止可编程的硬件构件的错误的行为以及可编程的硬件构件和与该可编程的硬件构件连接的硬件例如处理器由于对可编程的硬件构件的不允许的、错误的编程而引起的无意的损坏。然而与此并行的是,调试接口另外可为其他的应用,特别是为调试可编程的硬件构件的逻辑电路而使用。换句话说,通过开关元件创造一种控制情况,通过该控制情况,在可编程的硬件构件的配置方面能够控制通过调试接口的数据传输,其中,通过该控制情况在对可编程的硬件构件未授权编程的情况下能够禁止对调试接口的访问,或者根据先前确定的参数例如针对特定的应用允许该访问。
根据另一个优选的构造形式,开关元件与配置监视接口如此连接并且构造为使得在用信号表示配置过程的情况下通过配置监视接口能够禁止、优选禁止对调试接口的访问。根据该构造形式,如果通过配置监视接口用信号表示配置过程,则能够禁止或者禁止对调试接口的访问。配置过程的信号通知例如可以通过信号的向配置监视接口输出的上升边沿或者下降边沿进行,或者通过信号从逻辑的0向逻辑的1的变化或者反之亦然进行。配置接口自身优选如此构造,使得识别FPGA的逻辑电路的配置改变。
根据另一个优选的构造形式,开关元件如此构造,使得在对可编程的硬件构件的逻辑电路进行配置过程的情况下或者在识别到配置过程的情况下关断所述设备,如此优选在无电流和/或无电压的状态下执行(überführen)。配置过程的信号通知优选通过从可编程的硬件构件产生的信号进行,该信号在可编程的硬件构件的配置或者编程期间或者紧接其开始之后改变,并且由此表示配置过程的开始、继续和/或结束。
另外优选地,,配置过程的信号通知或者用于表示用于配置可编程的硬件构件的过程的开始、执行和/或结束的相应的信号通过可编程的硬件构件的不可配置的部分来提供。这意味着,在这种构造形式中可编程的硬件构件的逻辑电路不能被这样配置,使得配置过程的信号通知不可输出,也就是说配置过程的信号通知强制通过配置监视接口提供。备选地,配置过程的信号通知还可以通过逻辑电路进行或者通过外部的布线,例如上拉或者下拉电阻产生。
根据另一个优选的构造形式,所述设备具有配置开关元件,所述开关元件构造为用于操控开关元件。通过这种构造形式,即使在用信号表示配置过程的情况下通过配置开关元件也可以允许通过调试接口配置逻辑电路,例如通过配置开关元件对开关元件的相应的操控。这意味着,例如通过事先定义的用户干预,借助该设备通过调试接口不仅能够调试FPGA的逻辑电路,而且也能够借助调试接口配置逻辑电路,并且由此能够附加于配置接口进行编程。
然而此外特别优选,配置开关元件与配置监视接口连接并且构造用于在用信号表示配置过程的情况下通过操控开关元件禁止对调试接口的访问。也就是说在通过配置监视接口识别到配置过程的情况下不直接操控开关元件来禁止对调试接口的访问,而是通过配置监视接口进行开关元件的操控。
完全特别优选地,开关元件与调试接口借助配置开关元件如此连接,使得在配置过程期间选择性地能够或者不能够访问调试接口。在这种构造形式中,即使在借助开关元件能够禁止对调试接口的访问的配置过程期间也仍然能够实现通过配置开关元件进行对调试接口的访问。
另外优选地,配置开关元件设置在调试接口和开关元件之间,使得能够通过配置开关元件使开关元件与调试接口之间的连接成为可能或者将其阻止。此外,可以通过配置开关元件在调试接口上也提供信号电平,例如逻辑的0或者逻辑的1。另外优选地,配置开关元件具有逻辑电路,借助所述逻辑电路能够与预定的参数有关地控制对调试接口的访问。另外优选地,所述逻辑电路与所述可编程的硬件构件和/或第二可编程的硬件构件和/或用于所述可编程的硬件构件的外部的配置装置通信。
根据本发明的一种优选的进一步扩展方案,配置开关元件构造用于从向调试接口传输的操控信号中提取配置过程。换句话说,优选地改进配置开关元件,所述开关元件用以按照位串分析向调试接口传输的操控信号,借助该位串能够实施对可编程的硬件构件进行配置。也就是说,配置开关元件在向调试接口发送的操控信号方面监视调试接口并且为了确定通过该操控信号是否引起对可编程的硬件构件的配置过程来分析该操控信号。
在识别到查找可编程的硬件构件的重编程的情况下,例如还可以在删除或者重编程可编程的硬件构件的逻辑电路之前识别配置过程并且阻止对调试接口的访问。通过开关元件对调试接口的访问的阻止可以持续一个要定义的时间,或者也可以进行直到另一个事件,例如设备的关断/接通。由此能够阻止多次紧邻相继的未授权的旨在通过调试接口改变对可编程的硬件构件的配置的访问。
根据一种优选的进一步扩展方案,配置开关元件可以如此构造,使得在配置过程时进行所述设备和/或可编程的硬件构件的关断/接通和/或向接通状态的复位。同样可以规定,可编程的硬件构件在未授权的重编程的情况下、亦即识别到不希望的配置过程的情况下通过配置接口重新获得对于逻辑电路的配置,其相应于一个输出状态或者一个事先存储的状态。也就是说一旦用户通过经由调试接口的未授权的访问来删除可编程的硬件构件的一个迄今的配置,就能够自动地用迄今的配置进行该可编程的硬件构件的一次新的编程。
所述设备为此可以具有一个如下的配置装置,所述配置装置与配置接口连接。同样该设备可以如此构造,使得虽然识别到通过调试接口的未授权的访问以重新配置可编程的硬件构件,但是不禁止对该调试接口的访问。在如此重编程的硬件构件重新起动后则能够检验,该硬件构件是否具有一种定义的行为,例如在该可编程的硬件构件的接口上施加事先定义的信号。如果该行为存在,则可以允许该重编程。否则可以删除该可编程的硬件构件的配置并且通过配置接口用事先存储的配置写入。
这种构造形式的优点是,不正确的、未授权的配置虽然能够被执行,但是通常不会导致损坏,因为设备能够立即自动地检验,该重配置是有问题的还是也许是没有问题的。在该重配置有问题的情况下例如可以将所述可编程的硬件构件和其他在重配置有问题的情况下可能受到损坏的部件之间的布线置于一种防止损坏的状态。同样可以在识别到某种不允许的配置过程的情况下向用户或者制造商进行用信号表示,使得他们能够对于另外的步骤作出决定。
根据另一个优选的构造形式配置,开关元件具有一个存储装置,其中在该存储装置中存储如下信息,根据该信息确定,能够还是不能够通过配置开关元件进行访问。该信息尤其构造为许可或者许可密钥,根据其确定:用户是否为了改变可编程的硬件构件的配置而对调试接口进行了访问。因为如上所述,借助配置开关元件能够控制,是否能通过调试接口执行可编程的硬件构件的配置改变。存储装置例如可以是在其中可存储有许可的非易失存储器。同样可以想到,用户可以从因特网下载许可并且将其存储在存储装置中。
根据一种完全特别优选的构造形式,配置开关元件构造为CPLD、FPGA、处理器或者所述可编程的硬件构件的组合。此外,配置开关元件同样可以构造为机械的跨接线(Jumper)、开关或者其他的构件如上拉和/或下拉电阻。
根据一种优选的进一步扩展方案,配置监视接口构造为数据接口的一部分,其中,可编程的硬件构件具有如下的逻辑电路,所述逻辑电路向数据接口的该部分用信号表示配置过程。例如从现有技术已知的FPGA并不总是具有单独实施的配置监视接口。在这种情况下,为配置监视接口的功能例如可以使用数据接口的插脚。通常在从现有技术已知的FPGA中,在某个编程过程期间,数据接口、例如特别该数据接口的输出端取定义的值,例如逻辑的1、逻辑的0、弱高、弱低或者高阻抗。该信号可以在本构造形式中使用,以便识别配置过程和相应地通过配置监视接口来用信号表示。在一种可能的构造形式中,可编程的硬件构件将其数据接口的各输出端在编程过程期间置于弱高状态,从在一个输出端上的该弱高状态识别出一个信号“逻辑的1”并且使用该信号来确定配置过程。
根据另一种优选的进一步扩展方案,配置监视接口构造为数据接口的一部分,其中,可编程的硬件构件具有如下的逻辑电路,所述逻辑电路向数据接口的该部分用信号表示配置过程的结束。在一种可能的构造形式中,该逻辑电路向一定数目预定的数据输出端输出逻辑1和逻辑0的类型的信号的一种预定的组合,并且所述信号的该组合的输出用于识别某个配置过程的结束。由此本发明的设备也能够在从现有技术已知的任意可编程的硬件构件上实现,而可编程的硬件构件无须具有单独的、专门的配置监视接口。
开关元件基本上可以任意构造,其中,特别优选开关元件构造为可开关的总线驱动器,其中,进一步优选通过经由单独的、专门的配置监视接口输出的配置信号实现配置过程的信号通知,例如通过AlteraCorporation公司的FPGA的CONF_DONE和INIT_DONE信号。根据另一种优选的构造形式,调试接口构造为尤其根据IEEE标准1149.1的JTAG接口。另外优选地,数据接口构造为数据总线。
根据该构造形式,JTAG接口可以通过总线驱动器引导,以便保护该JTAG接口不受来自外部的如过电压、反极性等的损坏性影响。总线驱动器优选具有使能够输出的输入端,用所述输入端能够解除总线驱动器的输出驱动器的激活。根据本发明的一个优选的构造形式,硬件构件的配置信号现在与总线驱动器的使能够输出的输入端连接,使得JTAG接口仅当可编程的硬件构件的配置完成时才对用户可访问。在这种状态下,用户能够通过JTAG接口调试可编程的硬件构件。
在尝试配置可编程的硬件构件的情况下,配置信号是有效的,从而通过总线驱动器分开连接并且禁止向可能引起损坏的配置的对可编程的硬件构件的重新配置。尽管如此为了给设备的供应商在开发阶段为建立所述设备的配置仍然给出对JTAG接口不受限制的访问,该连接例如可以通过跨接线、零欧姆电阻或者配置开关元件来引导。如上所述,对JTAG接口的访问可以通过CPLD、通过FPGA、处理器或者两个上述类型的可编程的硬件构件的组合例如特别是用于控制JTAG接口的使能够输出的信号来控制。
借助先前提到的另外的构造形式甚至能够以软件方式通过存储为许可的信息仅为一部分获得了相应的许可的用户解除通过JTAG接口对可编程的硬件构件进行调试的锁定。该解锁同样可以仅为那些省去任何保证的用户进行,并且于是相反地获得对JTAG接口不受限制的访问。
本发明的任务另外通过一种用于禁止对可编程的硬件构件进行配置的方法解决,其中,该可编程的硬件构件具有:配置接口,其构造用于配置所述可编程的硬件构件的逻辑电路;数据接口,其构造用于进行所述可编程的硬件构件与硬件环境的数据交换;调试接口,其构造用于调试和配置所述逻辑电路;和配置监视接口,其构造用于用信号表示所述逻辑电路的配置过程,所述方法具有如下步骤:在用信号表示配置过程的情况下禁止对调试接口的访问。
通过这种构造形式能够以粗糙(granular)的方式控制用户对调试接口的访问。本发明的方法的其它构造形式对于本领域技术人员类似于先前讨论的设备的构造形式而得出。
附图说明
下面参照附图根据优选的实施形式详细说明本发明。
图中:
图1以示意图表示根据本发明的第一优选实施形式的设备,
图2以示意图表示根据本发明的第二优选实施形式的设备,
图3以示意图表示根据本发明的第三优选实施形式的设备。
具体实施形式
图1到3以三种不同的优选实施形式示出用于禁止对FPGA1进行配置的设备。
如从图1所见,该设备除FPGA1外分别具有一个微处理器2以及一个开关元件3。FPGA1具有一个逻辑电路4,所述逻辑电路经由配置接口5能通过配置装置6配置或者编程。此外,逻辑电路4通过数据接口7与微处理器2通信连接,所述数据接口在本例中构造为数据总线。此外,FPGA1具有一个调试接口8,所述调试接口构造为根据IEEE标准1149.1的JTAG接口,以用于调试和配置逻辑电路4。最后,FPGA1还具有一个配置监视接口9,所述配置监视接口在本例中构造为用于用信号表示逻辑电路4的配置过程的配置毕接口(ConfigDone)。JTAG连接器10使用户能实现访问FPGA1的调试接口8。
FPGA1如此构造,使得在配置逻辑电路4的情况下,、通过配置接口5或者通过调试接口8,向配置监视接口9用信号表示FPGA1或者逻辑电路4的配置的改变的开始,例如通过信号电平从逻辑1向0的改变。
如从图1进一步看出,开关元件3实施为总线驱动器并且如此与调试接口8连接和构造,使得在配置过程时能够禁止对调试接口8的访问。具体来说,总线驱动器3具有一个使能够输出(OutputEnable)的输入端,利用所述输入端能够解除总线驱动器3或者总线驱动器3的输出驱动器的激活。通过FPGA1向配置监视接口9提供的配置毕信号与总线驱动器3的使能够输出的输入端连接。
如果现在通过配置毕信号通知FPGA1的编程或者逻辑电路4的编程,则由总线驱动器3禁止对调试接口8的访问。在这种情况下,不再能够通过JTAG连接器10访问JTAG接口8。由此实现,FPGA1的配置一方面通过配置装置6借助配置接口5能够进行,并且另一方面,在正常运行的情况下,能够借助JTAG连接器10通过JTAG接口8进行FPGA1或者FPGA1的逻辑电路4的调试。然而如果借助JTAG连接器10发生通过FPGA1的JTAG接口8的编程,则配置监视接口9用信号表示配置过程。因为配置监视接口9与开关元件3连接,所以在这种情况下禁止对JTAG接口8进行访问。
图2示出所述设备的第二实施形式,所述设备具有一个配置开关元件11,它在本例中作为用于控制开关元件3的CPLD构造。此外配置开关元件11与配置监视接口9连接。这意味着,在用信号表示配置过程的情况下能借助CPLD11能禁止通过CPLD11操控总线驱动器3对JTAG8的访问。但是另一方面,CPLD11也可以这样编程,即,尽管通过配置监视接口9用信号表示配置过程,但是CPLD11不通过总线驱动器3的相应的操控来引起禁止对调试接口8的访问。CPLD11也可以这样编程,使得其根据从另一个部件、例如从CPU2发出的信号,在通过配置监视接口9用信号表示配置过程的情况下中断或者不中断对调试接口8的访问。
此外配置开关元件11可以具有一个存储装置12,其中,在该存储装置12中存储如下信息、亦即许可,根据该信息确定,允许还是不允许通过配置开关元件11访问调试接口8。如果例如用户获得相应的许可,则该许可包含这样的可能性,即该用户通过调试接口8不仅调试逻辑电路4,而且也可以引起对逻辑电路4进行配置,即使当通过配置监视接口9向配置开关元件11发送一个信号,按照该信号在没有相应的许可的情况下将禁止对调试接口8的访问。
图3示出所述设备的第三优选实施形式,其中,开关元件3与调试接口8借助配置开关元件11这样连接,使得能够从一个从开关元件3向调试接口8传输的操控信号13中提取一个配置过程。这意味着,配置开关元件11例如通过查找在操控信号13中包含的位串能够从所述操控信号中识别,是否通过JTAG10经由调试接口8起动配置过程。如果配置开关元件11识别到相应的位串,则可以通过配置开关元件11中断对调试接口8的访问。在此,同样可以的是,配置开关元件11从操控信号13中删除用于配置FPGA1的位串或者通过另外的正好不引起FPGA1的配置的位串来代替。在所述设备的该实施形式的一个有利的构造形式中,此外给配置开关元件11配设一个延迟元件(未图示)、例如一个延迟单元,其在时间上延迟向FPGA1传输数据并且由此给配置开关元件11足够的时间分析向FPGA1传输的数据并且删除用于配置FPGA1的位串或者通过另外的位串来代替。
附图标记列表
第一可编程的硬件构件1
第二可编程的硬件构件2
开关元件3
逻辑电路4
配置接口5
配置装置6
数据接口7
调试接口8
配置监视接口9
JTAG连接器10
配置开关元件11
存储装置12
用于调试接口的操控信号13
Claims (16)
1.用于禁止对第一可编程的硬件构件(1)进行配置的设备,所述设备具有第一可编程的硬件构件(1)和开关元件(3),
其中,第一可编程的硬件构件(1)具有配置接口(5)、数据接口(7)和调试接口(8),所述配置接口构造用于配置第一可编程的硬件构件(1)的逻辑电路(4),所述调试接口(8)构造用于调试和配置逻辑电路(4),
其中,开关元件(3)与调试接口(8)连接并且构造为使得在逻辑电路(4)的配置过程时能够禁止对调试接口(8)的访问.
2.根据权利要求1所述的设备,其中,第一可编程的硬件构件(1)具有配置监视接口(9),所述配置监视接口构造用于用信号表示逻辑电路(4)的配置过程.
3.根据权利要求2所述的设备,其中,开关元件(3)与配置监视接口(9)连接并且构造为使得在通过配置监视接口(9)用信号表示配置过程的情况下能够禁止对调试接口(8)的访问.
4.根据上述权利要求之一所述的设备,其中,所述设备具有构造用于操控开关元件(3)的配置开关元件(11)。
5.根据权利要求4所述的设备,其中,配置开关元件(11)与配置监视接口(9)连接并且构造用于在用信号表示配置过程的情况下通过操控开关元件(3)禁止对调试接口(8)的访问.
6.根据权利要求4或5所述的设备,其中,开关元件(3)与调试接口(8)借助配置开关元件(11)连接,使得在配置过程时可选地能够或者不能够访问调试接口(8)。
7.根据权利要求6所述的设备,其中,配置开关元件(11)构造用于,在向调试接口(8)传输的操控信号(13)中识别引起配置过程的位串.
8.根据权利要求4到7之一所述的设备,其中,在存储装置(12)中存储如下信息,根据该信信确定,能够还是不能够通过配置开关元件(11)进行访问.
9.根据权利要求4到8之一所述的设备,其中,配置开关元件(11)构造为CPLD、FPGA、处理器或者所述类型的可编程的硬件构件的两种或者更多种的组合。
10.根据权利要求2所述的设备,其中,配置监视接口(9)构造为数据接口(7)的一部分,并且可编程的硬件构件(1)具有如下的逻辑电路(4),所述逻辑电路向数据接口(7)的该部分用信号表示配置过程.
11.根据权利要求2所述的设备,其中,配置监视接口(9)构造为单独的和专用的配置监视接口.
12.根据上述权利要求之一所述的设备,其中,调试接口(8)构造为JTAG接口、优选根据IEEE标准1149.1的JTAG接口。
13.根据权利要求7所述的设备,其中,配置开关元件(11)具有延迟元件,其中,延迟元件构造用于,延迟向第一可编程的硬件构件(1)传输的信号.
14.根据上述权利要求之一所述的设备,其中,所述设备具有第二可编程的硬件构件(2),数据接口(7)为了向逻辑电路(4)进行通信与第二可编程的硬件构件(2)连接,并且第二可编程的硬件构件(2)构造和设置用于配置第一可编程的硬件构件(1).
15.根据权利要求14所述的设备,其中,第一可编程的硬件构件(1)构造为FPGA,第二可编程的硬件构件(2)构造为处理器或者FPGA.
16.根据上述权利要求之一所述的设备,其中,配置接口(5)和调试接口(8)通过在第一可编程的硬件构件(1)外部实现的电路提供,并且配置接口(5)和调试接口(8)通过该电路与第一可编程的硬件构件(1)的一个唯一的接口连接或能连接。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014110197.9 | 2014-07-21 | ||
DE102014110197 | 2014-07-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404829A true CN105404829A (zh) | 2016-03-16 |
CN105404829B CN105404829B (zh) | 2019-03-08 |
Family
ID=53716375
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510680947.6A Active CN105426280B (zh) | 2014-07-21 | 2015-07-21 | 用于部分地释放调试接口的设备 |
CN201510680948.0A Active CN105404829B (zh) | 2014-07-21 | 2015-07-21 | 用于选择性地释放调试接口的设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510680947.6A Active CN105426280B (zh) | 2014-07-21 | 2015-07-21 | 用于部分地释放调试接口的设备 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9759770B2 (zh) |
EP (1) | EP2977905A1 (zh) |
JP (2) | JP6005222B2 (zh) |
CN (2) | CN105426280B (zh) |
DE (1) | DE102015110729A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108475473A (zh) | 2016-02-12 | 2018-08-31 | 本田技研工业株式会社 | 车辆控制装置、车辆控制方法及车辆控制程序 |
US10853522B2 (en) * | 2017-06-06 | 2020-12-01 | Itron Networked Solutions, Inc. | Automatic closing of non-secure ports in a remote network communications device |
US11105850B2 (en) * | 2018-05-24 | 2021-08-31 | Seagate Technology Llc | Secure debug system for electronic devices |
EP3702947B1 (en) * | 2019-03-01 | 2021-10-20 | Siemens Aktiengesellschaft | Method for verifying at runtime of a hardware-application component a current configuration setting of an execution environment provided by a configurable hardware module |
EP3812938A1 (de) * | 2019-10-24 | 2021-04-28 | Siemens Aktiengesellschaft | Rekonfiguration einer hardwarekomponente eines technischen geräts |
DE102020116872A1 (de) | 2020-03-27 | 2021-09-30 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Programmierung einer programmierbaren Gatteranordnung in einem verteilten Computersystem |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020166061A1 (en) * | 2001-05-07 | 2002-11-07 | Ohad Falik | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
CN1815628A (zh) * | 2004-12-02 | 2006-08-09 | 奥特拉股份有限公司 | 用于在集成电路上组合易失性和非易失性可编程逻辑的技术 |
US7149636B2 (en) * | 2002-04-04 | 2006-12-12 | Texas Instruments Incorporated | Method and apparatus for non-obtrusive power profiling |
CN101243451A (zh) * | 2005-08-22 | 2008-08-13 | Nxp股份有限公司 | 嵌入式存储器保护 |
CN102301375A (zh) * | 2009-01-30 | 2011-12-28 | 飞思卡尔半导体公司 | 用于市场返修的认证调试访问 |
EP2608102A1 (en) * | 2011-12-23 | 2013-06-26 | Electronics and Telecommunications Research Institute | Appparatus for protecting against external attack for processor based on arm core and method using the same |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03205690A (ja) | 1989-07-07 | 1991-09-09 | Hudson Soft Co Ltd | メモリアクセス制御装置 |
US5838901A (en) * | 1996-08-05 | 1998-11-17 | Xilinx, Inc. | Overridable data protection mechanism for PLDs |
JPH1165884A (ja) * | 1997-08-25 | 1999-03-09 | Nec Corp | マイクロコンピュータ及びそのデバッグ方法 |
DE19835609C2 (de) | 1998-08-06 | 2000-06-08 | Siemens Ag | Programmgesteuerte Einheit |
US6910127B1 (en) | 2001-12-18 | 2005-06-21 | Applied Micro Circuits Corporation | System and method for secure network provisioning by locking to prevent loading of subsequently received configuration data |
US6907595B2 (en) | 2002-12-13 | 2005-06-14 | Xilinx, Inc. | Partial reconfiguration of a programmable logic device using an on-chip processor |
US7245134B2 (en) * | 2005-01-31 | 2007-07-17 | Formfactor, Inc. | Probe card assembly including a programmable device to selectively route signals from channels of a test system controller to probes |
US20080168562A1 (en) * | 2005-02-25 | 2008-07-10 | Tomoyuki Haga | Secure Processing Device and Secure Processing System |
CN101233525A (zh) * | 2005-05-26 | 2008-07-30 | 松下电器产业株式会社 | 数据处理装置 |
US7665002B1 (en) * | 2005-12-14 | 2010-02-16 | Advanced Micro Devices, Inc. | Multi-core integrated circuit with shared debug port |
US7581087B2 (en) * | 2006-01-17 | 2009-08-25 | Qualcomm Incorporated | Method and apparatus for debugging a multicore system |
US7657805B2 (en) * | 2007-07-02 | 2010-02-02 | Sun Microsystems, Inc. | Integrated circuit with blocking pin to coordinate entry into test mode |
US7971051B2 (en) | 2007-09-27 | 2011-06-28 | Fujitsu Limited | FPGA configuration protection and control using hardware watchdog timer |
US7836347B2 (en) * | 2007-10-17 | 2010-11-16 | GE Intelligent Platforms Inc. | Service and diagnostic logic scan apparatus and method |
US8055936B2 (en) * | 2008-12-31 | 2011-11-08 | Pitney Bowes Inc. | System and method for data recovery in a disabled integrated circuit |
US8074118B2 (en) | 2009-01-28 | 2011-12-06 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method for influencing a control unit and manipulation unit |
US20110145934A1 (en) | 2009-10-13 | 2011-06-16 | Miron Abramovici | Autonomous distributed programmable logic for monitoring and securing electronic systems |
US8686753B1 (en) | 2011-04-08 | 2014-04-01 | Altera Corporation | Partial reconfiguration and in-system debugging |
US20130031419A1 (en) * | 2011-07-28 | 2013-01-31 | International Business Machines Corporation | Collecting Debug Data in a Secure Chip Implementation |
JP5742575B2 (ja) * | 2011-08-11 | 2015-07-01 | 富士電機株式会社 | 半導体集積回路およびデータ漏洩防止方法 |
JP5816034B2 (ja) * | 2011-09-12 | 2015-11-17 | パナソニック デバイスSunx株式会社 | 増設記憶装置、plcシステム、アダプタ装置 |
US8966313B2 (en) * | 2012-04-30 | 2015-02-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for a shared debug pin |
-
2015
- 2015-07-03 DE DE102015110729.5A patent/DE102015110729A1/de not_active Withdrawn
- 2015-07-17 EP EP15177297.7A patent/EP2977905A1/de not_active Withdrawn
- 2015-07-21 JP JP2015143847A patent/JP6005222B2/ja active Active
- 2015-07-21 CN CN201510680947.6A patent/CN105426280B/zh active Active
- 2015-07-21 US US14/804,500 patent/US9759770B2/en active Active
- 2015-07-21 CN CN201510680948.0A patent/CN105404829B/zh active Active
- 2015-07-21 US US14/804,692 patent/US9797947B2/en active Active
- 2015-07-21 JP JP2015143611A patent/JP5940201B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020166061A1 (en) * | 2001-05-07 | 2002-11-07 | Ohad Falik | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US7149636B2 (en) * | 2002-04-04 | 2006-12-12 | Texas Instruments Incorporated | Method and apparatus for non-obtrusive power profiling |
CN1815628A (zh) * | 2004-12-02 | 2006-08-09 | 奥特拉股份有限公司 | 用于在集成电路上组合易失性和非易失性可编程逻辑的技术 |
CN101243451A (zh) * | 2005-08-22 | 2008-08-13 | Nxp股份有限公司 | 嵌入式存储器保护 |
CN102301375A (zh) * | 2009-01-30 | 2011-12-28 | 飞思卡尔半导体公司 | 用于市场返修的认证调试访问 |
EP2608102A1 (en) * | 2011-12-23 | 2013-06-26 | Electronics and Telecommunications Research Institute | Appparatus for protecting against external attack for processor based on arm core and method using the same |
Also Published As
Publication number | Publication date |
---|---|
DE102015110729A1 (de) | 2016-01-21 |
US9797947B2 (en) | 2017-10-24 |
JP2016024827A (ja) | 2016-02-08 |
JP5940201B2 (ja) | 2016-06-29 |
JP2016024829A (ja) | 2016-02-08 |
US9759770B2 (en) | 2017-09-12 |
CN105404829B (zh) | 2019-03-08 |
US20160018464A1 (en) | 2016-01-21 |
EP2977905A1 (de) | 2016-01-27 |
US20160018465A1 (en) | 2016-01-21 |
CN105426280B (zh) | 2018-03-30 |
JP6005222B2 (ja) | 2016-10-12 |
CN105426280A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404829A (zh) | 用于选择性地释放调试接口的设备 | |
CN110494855B (zh) | 用于恢复可信系统固件状态的系统和方法 | |
JP6790325B2 (ja) | ターゲットデバイス、方法、プログラム、および非一時的なコンピュータ可読記憶媒体 | |
KR101022639B1 (ko) | 디버그 회로에 안전성을 제공하는 방법 및 장치 | |
US10387646B2 (en) | Input/output parameter selection | |
CN104424044A (zh) | 伺服器系统 | |
CN100590599C (zh) | 一种flash的写操作处理方法、系统及设备 | |
JP4209771B2 (ja) | 汎用コンピュータアーキテクチャ | |
CN107817981A (zh) | 一种嵌入式控制器的控制方法及电子设备 | |
CN107273756B (zh) | F2f解码芯片中的安全信息防护装置 | |
WO1996038775A1 (en) | A method and apparatus for limiting access to a nonvolatile memory device | |
CN110459260B (zh) | 自动测试切换装置、方法和系统 | |
JP7441896B2 (ja) | システム特徴をセキュアに分離するためのシステムおよび方法 | |
CN108073462B (zh) | 一种sd卡读取异常的复位方法及系统 | |
WO2017072500A1 (en) | Microprocessor interfaces | |
CN103838996B (zh) | 计算机系统及其操作方法 | |
CN102637152B (zh) | 具有处理单元和信息存储装置的设备 | |
CN111949004B (zh) | 电动尾门匹配方法、装置、终端设备及存储介质 | |
TWI447589B (zh) | 電子支付終端與維護工具間經由usb連結之資料交換 | |
CN105550322B (zh) | 一种文件访问方法、装置及电子设备 | |
CN117573571A (zh) | 闪存芯片控制方法及系统 | |
CN116047979A (zh) | 一种管脚电平控制方法、系统、设备及存储介质 | |
EP2367090A1 (en) | Electronic control module with boot pin arrangement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Paderborn, Germany Patentee after: Desbeth Co.,Ltd. Address before: Paderborn, Germany Patentee before: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GmbH |
|
CP01 | Change in the name or title of a patent holder |