The invention introduces an emulator with the function of prohibiting program debugging, which relates to the technical field of chip safety debugging. The emulator of the invention includes an emulator control module and an emulator hardware module. The debugging module in the hardware module of the emulator includes debugging register module, forbidding debugging module and address processing module. The control module of the emulator realizes the debugging operation of running, stopping, single step and breakpoint by setting the registers in the debugging register module. The address processing module detects the address bus of the CPU module and outputs the debugging forbidden signal. The debugging forbidden module realizes the debugging forbidden function by controlling the debugging bus of the CPU module. The emulator of the invention can effectively protect the program code, execution process and other safety sensitive information, and provides a debugging protection scheme for the chip or chip emulator design with safety requirements.
【技术实现步骤摘要】
一种具有禁止程序调试功能的仿真器
本专利技术涉及一种芯片仿真器,特别涉及一种具有禁止程序调试功能的仿真器。
技术介绍
随着集成电路CPU芯片的规模不断增大,用户程序代码量及设计复杂度也在增加,这就要求芯片必须支持Debug调试功能,以方便用户对程序调试和功能问题分析确认。芯片出厂前都会固化芯片固件程序代码、用户调用的API程序代码,对于安全芯片,固件程序用于芯片功能的配置,API程序中包含安全算法,这两种程序代码及程序执行的安全配置流程都需要进行保护。Debug调试功能很大程度提升了用户程序的开发效率,用户可以实时了解芯片的工作状态,和芯片寄存器、存储器中内容,但对于安全芯片,特定的区域是不允许用户访问,包括程序调试操作。有些安全芯片为了安全去除了Debug调试功能,也有些安全芯片增加EMMU模块功能,该模块对指定的寄存器、存储器增加读、写、执行的功能限制,但是对于用户调用API区的程序必须允许执行,无法禁止CPU中调试模块单步、断点、停止等调试功能,EMMU模块只能保证程序代码不被读取,无法彻底保护程序的安全配置和执行流程。为了满足带有Debug调试功能的芯片或是芯片仿真器的安全保护功能需要,本专利技术提出一种禁止调试功能的仿真器,设计一种包含调试寄存器模块、禁止调试模块和地址处理模块的调试模块,此调试模块支持直接连接CPU模块的调试总线,实现CPU调试操作的控制管理功能,从而实现对程序或数据的安全保护功能。本专利技术的仿真器,具有设计简单安全、与CPU调试接口兼容性高的特点,为具有安全要求的芯片或芯片仿真 ...
【技术保护点】
1.一种具有禁止程序调试功能的仿真器,其特征在于在仿真器硬件模块中增加调试模块,与CPU模块的调试总线和地址总线相连接,通过对存储器中的数据访问控制,以及存储器中程序执行运行、停止、单步、断点的调试操作控制,实现对存储器中的数据、程序代码及执行流程的安全保护;/n仿真器包括仿真器控制模块和仿真器硬件模块;/n仿真器硬件模块包括调试模块和芯片功能模块,调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,芯片功能模块包括存储器和CPU模块;/n仿真器控制模块,与调试模块中的调试寄存器模块连接,产生各种调试命令,通过对调试寄存器模块的读写访问,实现各种调试操作;/n调试寄存器模块,与仿真器控制模块连接,实现仿真器控制模块调试命令的接收和响应;/n禁止调试模块,通过调试总线与CPU模块连接,控制CPU模块执行运行、停止、单步、断点的调试操作,并通过CPU模块实现对存储器的读写访问;/n地址处理模块,通过地址总线与CPU模块连接,输出禁止调试信号和断点标志信号,如果地址总线上的地址值在禁止调试区域内,地址处理模块输出的禁止调试信号为有效高电平,禁止调试操作;如果地址值不在禁止调试区域内,输出 ...
【技术特征摘要】
1.一种具有禁止程序调试功能的仿真器,其特征在于在仿真器硬件模块中增加调试模块,与CPU模块的调试总线和地址总线相连接,通过对存储器中的数据访问控制,以及存储器中程序执行运行、停止、单步、断点的调试操作控制,实现对存储器中的数据、程序代码及执行流程的安全保护;
仿真器包括仿真器控制模块和仿真器硬件模块;
仿真器硬件模块包括调试模块和芯片功能模块,调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,芯片功能模块包括存储器和CPU模块;
仿真器控制模块,与调试模块中的调试寄存器模块连接,产生各种调试命令,通过对调试寄存器模块的读写访问,实现各种调试操作;
调试寄存器模块,与仿真器控制模块连接,实现仿真器控制模块调试命令的接收和响应;
禁止调试模块,通过调试总线与CPU模块连接,控制CPU模块执行运行、停止、单步、断点的调试操作,并通过CPU模块实现对存储器的读写访问;
地址处理模块,通过地址总线与CPU模块连接,输出禁止调试信号和断点标志信号,如果地址总线上的地址值在禁止调试区域内,地址处理模块输出的禁止调试信号为有效高电平,禁止调试操作;如果地址值不在禁止调试区域内,输出的禁止调试信号为无效低电平,允许调试操作;地址处理模块将地址总线上的地址值和BR功能寄存器输出的断点值实时比较,当两者值相等时,输出断点标志信号为有效高电平,表示CPU模块执行遇到了断点;当两者值不相等时,输出断点标志信号为无效低电平,表示CPU模块正常运行未遇到断点;
芯片功能模块,芯片功能模块中的CPU模块与禁止调试模块、地址处理模块连接,实现芯片功能仿真和调试命令的执行,芯片功能模块中的存储器与CPU模块连接,用于存储程序和数据。
2.根据权利要求1所述的一种具有禁止程序调试功能的仿真器,其特征在于仿真器中的调试寄存器模块包括IR、DR、CR、BR四个功能寄存器:
IR为指令寄存器,存储调试操作需要CPU模块执行的指令,通过指令接口连接禁止调试模块;
DR为数据寄存器,存储调试操作读写的数据,通过数据接口连接禁止调试模块;
CR为控制寄存器,实现运行、停止、单步、断点的调试操作,通过控制接口连接禁止调试模块;
BR为断点寄存器,存储程序调试操作设置的断点,BR输出的断点值连接到地址处理模块。
3.根据权利要求1所述的一种...
【专利技术属性】
技术研发人员:张洪波,赵满怀,刘瑾,
申请(专利权)人:北京中电华大电子设计有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。