CN109977023A - 支持调试权限控制的cpu芯片仿真器 - Google Patents

支持调试权限控制的cpu芯片仿真器 Download PDF

Info

Publication number
CN109977023A
CN109977023A CN201910266964.3A CN201910266964A CN109977023A CN 109977023 A CN109977023 A CN 109977023A CN 201910266964 A CN201910266964 A CN 201910266964A CN 109977023 A CN109977023 A CN 109977023A
Authority
CN
China
Prior art keywords
emulator
debugging
permission
hardware
debugging permission
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.)
Pending
Application number
CN201910266964.3A
Other languages
English (en)
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.)
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology 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 State Grid Information and Telecommunication Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN201910266964.3A priority Critical patent/CN109977023A/zh
Publication of CN109977023A publication Critical patent/CN109977023A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种支持调试权限控制的CPU芯片仿真器,包括:仿真器硬件以及仿真器软件。仿真器硬件包括主板,主板包括电源模块、芯片原型及调试线,且芯片原型内置有调试权限控制模块;以及仿真器软件通过调试线与仿真器硬件通信连接,且仿真器软件内置有调试权限操作模块;其中,仿真器软件通过调试权限操作模块对仿真器硬件中的调试权限控制模块进行操作,从而实现对仿真器硬件的调试权限的打开或关闭。借此,本发明的支持调试权限控制的CPU芯片仿真器,结构简单合理,仿真器软件和仿真器硬件的握手操作实现机制更安全。

Description

支持调试权限控制的CPU芯片仿真器
技术领域
本发明是关于芯片技术领域,特别是关于一种支持调试权限控制的CPU芯片仿真器。
背景技术
仿真器是一套仿真CPU芯片功能,并实现CPU芯片程序调试的系统,此处CPU芯片为有CPU,可以执行嵌入式程序的芯片。按目标芯片实现方式的不同,仿真器可分为硬仿真器和软仿真器,硬仿真器的目标芯片采用硬件实现,一般采用FPGA;软仿真器的目标芯片采用软件实现。
对于同一CPU核的不同类型的芯片,往往可以使用同样的仿真器软件,而仿真器硬件会因为主板中固化的不同类型芯片原型而不同,因此仿真器硬件和某类型的芯片对应。
一般情况下,使用通用仿真器软件和个性化的仿真器硬件就可以实现仿真器。但是在某些情况下,因为芯片的一些特殊需求,比如安全需求,芯片仿真器需要使用芯片厂商专门设计的仿真器软件,当然,仿真器硬件中的芯片原型往往也需要相应的设计。为了只有芯片厂商针对该芯片专门设计的仿真器软件才可以调试该芯片的仿真器硬件,就需要实现仿真器调试权限的控制,即只有有调试权限的仿真器软件才可以调试该芯片的仿真器硬件,而无调试权限的仿真器软件不可以调试该芯片的仿真器硬件,无调试权限的仿真器软件包括了通用的仿真器软件和芯片厂商为其他芯片设计的仿真器软件。
目前有一些仿真器实现了仿真器软件和仿真器硬件间的握手机制。芯片厂商为每一款芯片仿真器都分配ID号,在芯片仿真器硬件的芯片原型中,将ID号固化到寄存器或非易失的存储器中,在仿真器软件启动连接仿真器硬件时,仿真器软件先从仿真器硬件中读出ID号,和仿真器软件中的ID号进行比对,比对一致即握手成功,这样可以保证仿真器软件和仿真器硬件是匹配的,此时,仿真器软件可以正常调试仿真器硬件;若比对不一致则握手失败,表明仿真器软件和仿真器硬件不匹配,此时,仿真器软件不可以调试仿真器硬件。
现有仿真器软件和仿真器硬件的握手机制实现简单,可以对仿真器软件和仿真器硬件是否匹配进行检查,可以保证芯片厂商内部开发的仿真器软件和仿真器硬件匹配时,仿真器软件才可以调试仿真器硬件。但是该方案有如下弊端,首先通用的仿真器软件没有从仿真器硬件读ID号并进行比对流程,因此通用的仿真器软件还是可以正常连接仿真器硬件并进行调试;其次是通过比对芯片仿真器ID号进行握手的机制实现简单,安全性不够。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种支持调试权限控制的CPU芯片仿真器,其结构简单合理,仿真器软件和仿真器硬件的握手操作实现机制更安全。
为实现上述目的,本发明提供了一种支持调试权限控制的CPU芯片仿真器,包括:仿真器硬件以及仿真器软件。仿真器硬件包括主板,主板包括电源模块、芯片原型及调试线,且芯片原型内置有调试权限控制模块;以及仿真器软件通过调试线与仿真器硬件通信连接,且仿真器软件内置有调试权限操作模块;其中,仿真器软件通过调试权限操作模块对仿真器硬件中的调试权限控制模块进行操作,从而实现对仿真器硬件的调试权限的打开或关闭。
在一优选的实施方式中,调试权限操作模块中具有密钥。
在一优选的实施方式中,调试权限控制模块中具有挑战数据。
在一优选的实施方式中,仿真器软件能够通过调试权限操作模块从仿真器硬件中的调试权限控制模块读取出挑战数据。
在一优选的实施方式中,仿真器软件的调试权限操作模块采用对称算法和密钥对挑战数据进行加密处理,调试权限操作模块将加密数据写回调试权限控制模块,且仿真器软件的调试权限操作模块启动仿真器硬件中的调试权限控制模块的打开调试权限流程。
在一优选的实施方式中,调试权限操作模块能够读取调试权限控制模块中的控制权限标示位,用于判断调试权限打开是否成功。
在一优选的实施方式中,当调试结束后,仿真器软件中的调试权限操作模块重新关闭仿真器硬件的调试权限。
与现有技术相比,根据本发明的支持调试权限控制的CPU芯片仿真器,结构简单合理,仿真器软件和仿真器硬件的握手操作实现机制更安全。
附图说明
图1是根据本发明一实施方式的支持调试权限控制的CPU芯片仿真器的线框结构示意图。
主要附图标记说明:
1-仿真器硬件,11-主板,12-电源模块,13-芯片原型,14-调试线,15-调试权限控制模块,2-仿真器软件,21-调试权限操作模块。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1所示,图1是根据本发明一实施方式的支持调试权限控制的CPU芯片仿真器的线框结构示意图。
根据本发明优选实施方式的一种支持调试权限控制的CPU芯片仿真器,包括:仿真器硬件1以及仿真器软件2。仿真器硬件1包括主板11,主板11包括电源模块12、芯片原型13及调试线14,且芯片原型13内置有调试权限控制模块15;以及仿真器软件2通过调试线14与仿真器硬件1通信连接,且仿真器软件2内置有调试权限操作模块21;其中,仿真器软件2通过调试权限操作模块21对仿真器硬件1中的调试权限控制模块15进行操作,从而实现对仿真器硬件1的调试权限的打开或关闭。
在一优选的实施方式中,调试权限操作模块21中具有密钥;调试权限控制模块15中具有挑战数据;仿真器软件2能够通过调试权限操作模块21从仿真器硬件1中的调试权限控制模块15读取出挑战数据。
在一优选的实施方式中,仿真器软件2的调试权限操作模块21采用对称算法和密钥对挑战数据进行加密处理,调试权限操作模块21将加密数据写回调试权限控制模块15,且仿真器软件2的调试权限操作模块21启动仿真器硬件1中的调试权限控制模块15的打开调试权限流程;调试权限操作模块21能够读取调试权限控制模块15中的控制权限标示位,用于判断调试权限打开是否成功,当调试结束后,仿真器软件2中的调试权限操作模块21重新关闭仿真器硬件1调试权限。
在实际应用中,在仿真器软件2中实现调试权限操作模块21,在仿真器硬件1中实现调试权限控制模块15,仿真器软件2通过调试权限操作模块21对仿真器硬件1中的调试权限控制模块15进行操作,实现对仿真器硬件1调试权限的打开或者关闭。仿真器软件2中的调试权限操作模块21必须持有密钥,并且在指定的操作流程下操作仿真器硬件1中的调试权限控制模块15,才能打开仿真器硬件1的调试权限,在调试结束后,仿真器软件2中的调试权限操作模块21需重新关闭仿真器硬件1的调试权限。仿真器硬件1中的调试权限控制模块15实现了对调试权限的控制功能,只有对仿真器硬件1中的调试权限控制模块15进行正确的操作,才可以打开对仿真器硬件1的调试权限。仿真器软件2打开对芯片原型13的调试权限的流程如下:仿真器软件2通过调试权限操作模块21从仿真器硬件1中的调试权限控制模块15读出挑战数据;仿真器软件2的调试权限操作模块21采用约定好的对称算法和密钥对挑战数据进行加密处理;仿真器软件2中的调试权限操作模块21将加密数据写回仿真器硬件1的调试权限控制模块15;仿真器软件2的调试权限操作模块21启动仿真器硬件1中的调试权限控制模块15的打开调试权限的操作;仿真器软件2中的调试权限操作模块21读取调试权限控制模块15中的控制权限标志位,用于判断调试权限打开是否成功,且调试结束后,仿真器软件2中的调试权限操作模块21重新关闭仿真器硬件1调试权限。
总之,本发明的支持调试权限控制的CPU芯片仿真器具有如下有益效果:
1、结构简单合理;
2、通用的仿真器软件无法连接仿真器硬件进行调试;
3、仿真器软件和仿真器硬件的握手操作实现机制更安全。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (7)

1.一种支持调试权限控制的CPU芯片仿真器,其特征在于,包括:
仿真器硬件,包括主板,所述主板包括电源模块、芯片原型及调试线,且所述芯片原型内置有调试权限控制模块;以及
仿真器软件,通过所述调试线与所述仿真器硬件通信连接,且所述仿真器软件内置有调试权限操作模块;
其中,所述仿真器软件通过调试权限操作模块对所述仿真器硬件中的所述调试权限控制模块进行操作,从而实现对所述仿真器硬件的调试权限的打开或关闭。
2.如权利要求1所述的支持调试权限控制的CPU芯片仿真器,其特征在于,所述调试权限操作模块中具有密钥。
3.如权利要求2所述的支持调试权限控制的CPU芯片仿真器,其特征在于,所述调试权限控制模块中具有挑战数据。
4.如权利要求3所述的支持调试权限控制的CPU芯片仿真器,其特征在于,所述仿真器软件能够通过所述调试权限操作模块从所述仿真器硬件中的所述调试权限控制模块读取出所述挑战数据。
5.如权利要求4所述的支持调试权限控制的CPU芯片仿真器,其特征在于,所述仿真器软件的所述调试权限操作模块采用对称算法和所述密钥对所述挑战数据进行加密处理,所述调试权限操作模块将加密数据写回所述调试权限控制模块,且所述仿真器软件的所述调试权限操作模块启动所述仿真器硬件中的所述调试权限控制模块的打开调试权限流程。
6.如权利要求5所述的支持调试权限控制的CPU芯片仿真器,其特征在于,所述调试权限操作模块能够读取所述调试权限控制模块中的控制权限标示位,用于判断调试权限打开是否成功。
7.如权利要求6所述的支持调试权限控制的CPU芯片仿真器,其特征在于,当调试结束后,所述仿真器软件中的所述调试权限操作模块重新关闭所述仿真器硬件的调试权限。
CN201910266964.3A 2019-04-03 2019-04-03 支持调试权限控制的cpu芯片仿真器 Pending CN109977023A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910266964.3A CN109977023A (zh) 2019-04-03 2019-04-03 支持调试权限控制的cpu芯片仿真器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910266964.3A CN109977023A (zh) 2019-04-03 2019-04-03 支持调试权限控制的cpu芯片仿真器

Publications (1)

Publication Number Publication Date
CN109977023A true CN109977023A (zh) 2019-07-05

Family

ID=67082817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910266964.3A Pending CN109977023A (zh) 2019-04-03 2019-04-03 支持调试权限控制的cpu芯片仿真器

Country Status (1)

Country Link
CN (1) CN109977023A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865574A (zh) * 2020-06-22 2020-10-30 北京智芯微电子科技有限公司 支持数据安全传输的cpu芯片仿真器及数据安全传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030216902A1 (en) * 2002-05-20 2003-11-20 Hwang-Kyu Lim Chip development system with built-in function library
CN101169809A (zh) * 2006-10-24 2008-04-30 展讯通信(上海)有限公司 一种安全的jtag连接认证系统及其认证方法
CN104077204A (zh) * 2014-07-22 2014-10-01 无锡中微爱芯电子有限公司 可重构的8位rsic单片机仿真器
CN104112095A (zh) * 2013-04-18 2014-10-22 晨星半导体股份有限公司 用于主机板控制模块的除错权限判断方法及主机板控制模块
CN108460296A (zh) * 2016-12-09 2018-08-28 上海新微技术研发中心有限公司 一种具有调试接口安全机制的soc芯片及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030216902A1 (en) * 2002-05-20 2003-11-20 Hwang-Kyu Lim Chip development system with built-in function library
CN101169809A (zh) * 2006-10-24 2008-04-30 展讯通信(上海)有限公司 一种安全的jtag连接认证系统及其认证方法
CN104112095A (zh) * 2013-04-18 2014-10-22 晨星半导体股份有限公司 用于主机板控制模块的除错权限判断方法及主机板控制模块
CN104077204A (zh) * 2014-07-22 2014-10-01 无锡中微爱芯电子有限公司 可重构的8位rsic单片机仿真器
CN108460296A (zh) * 2016-12-09 2018-08-28 上海新微技术研发中心有限公司 一种具有调试接口安全机制的soc芯片及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
荆晓龙: "一种基于JTAG接口的仿真器系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865574A (zh) * 2020-06-22 2020-10-30 北京智芯微电子科技有限公司 支持数据安全传输的cpu芯片仿真器及数据安全传输方法

Similar Documents

Publication Publication Date Title
McLaughlin et al. A Trusted Safety Verifier for Process Controller Code.
Lalande et al. Software countermeasures for control flow integrity of smart card C codes
US7152193B2 (en) Embedded sequence checking
CN100578473C (zh) 嵌入式系统和增加嵌入式系统安全性的方法
McLaughlin CPS: Stateful policy enforcement for control system device usage
CN112035152A (zh) 一种SoC芯片固件升级的安全处理系统及方法
CN109670312A (zh) 安全控制方法及计算机系统
CN109101237A (zh) 代码的加密编译方法及装置
CN110457870A (zh) 可执行文件的处理方法及装置、嵌入式设备和存储介质
Cimatti et al. Model checking safety critical software with SPIN: an application to a railway interlocking system
CN102682244B (zh) 信息处理设备和程序执行方法
CN109977702A (zh) 一种基于ds2432芯片的fpga设备加密认证系统和方法
CN106155855B (zh) 对微处理器进行功能验证的方法及服务器
CN109977023A (zh) 支持调试权限控制的cpu芯片仿真器
US20140278334A1 (en) Method to verify correctness of computer system software and hardware components and corresponding test environment
US5751595A (en) Method for building and verifying authenticity of a rule system
Rivière et al. A novel simulation approach for fault injection resistance evaluation on smart cards
GB2336005A (en) Maintaining security in development tools
CN109918240B (zh) 用于模块化验证设备配置的方法
Bouffard et al. Detecting laser fault injection for smart cards using security automata
Dubreuil et al. Type classification against fault enabled mutant in java based smart card
Masson et al. An Access Control Model Based Testing Approach for Smart Card Applications: Results of the {POSÉ} Project
CN106383762A (zh) 一种用于dram控制器的验证方法
KR20200126888A (ko) 시뮬레이터를 구현하는 방법, 장치, 기기 및 매체
Bouffard et al. Evaluation of the ability to transform SIM applications into hostile applications

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190705

RJ01 Rejection of invention patent application after publication