一种保护芯片固件程序的仿真器及方法技术

技术编号:11536268 阅读:59 留言:0更新日期:2015-06-03 10:57
本发明专利技术介绍一种保护芯片固件程序的仿真器及方法,涉及到芯片仿真技术领域。仿真器包括仿真器控制模块和仿真器硬件,仿真器硬件包括芯片功能调试模块、寄存器、停止信号产生模块和芯片功能模块。仿真器控制模块通过芯片功能调试模块设置寄存器,控制芯片功能模块产生软复位后CPU停止或是运行。保护芯片固件程序的方法:仿真器控制模块开启仿真器硬件的软复位停止功能,运行芯片固件程序中软复位指令后,自动停止在用户程序区的首地址,此时进入用户调试界面芯片固件程序不能访问,达到保护目的。本发明专利技术的仿真器实现自动切换到用户程序区并保护芯片固件程序的功能,具有设计简单、方便使用特点,为具有安全要求的芯片仿真器设计提供一种代码保护方案。

【技术实现步骤摘要】
一种保护芯片固件程序的仿真器及方法
本专利技术涉及一种芯片仿真器,特别涉及一种保护芯片固件程序的仿真器及方法。
技术介绍
智能卡芯片中都会存在芯片固件程序,通过执行程序实现基本功能设置和安全方面的功能。此程序由芯片厂商开发,并在芯片中进行保护,通过用户程序无法访问。对于智能卡芯片仿真器,通常方法是在仿真器硬件中固化功能设置,当芯片更新功能设置时,仿真器硬件需要重新设计,修改固化设置的内容,设计实现和维护都不方便,更主要问题是这种仿真器与真实芯片有较多差异,功能设置可能不全、寄存器操作顺序无法控制、用户程序引导时间不一致等,存在用户程序在仿真器调试后在芯片上运行出错的风险。另一种仿真器实现方法是通过固件程序进行仿真器功能配置,由仿真器控制模块对芯片固件程序进行读写和调试操作的保护,此方法使软件设计变得复杂且不易升级和维护。如何实现带有芯片固件程序且对固件程序进行有效保护的仿真器,为解决此问题,本专利技术提出一种保护芯片固件程序的仿真器及方法。本专利技术的仿真器在仿真器硬件中存放芯片固件程序,实现自动切换到用户程序区并保护芯片固件程序的功能,保证了与芯片功能的一致性,具有设计简单安全、方便用户使用的特点,为具有安全要求的芯片仿真器设计提供一种代码保护方案。
技术实现思路
本专利技术所解决的技术问题是,如何设计一种带有芯片固件程序且对固件程序进行有效保护的仿真器。本专利技术的仿真器包括仿真器控制模块和仿真器硬件两部分:仿真器控制模块与仿真器硬件相连,用于控制仿真器硬件运行,配置仿真器硬件中的寄存器,实现对芯片功能模块中的用户程序调试功能,仿真器硬件主要是仿真和调试芯片的功能,对程序代码或数据进行保护。仿真器硬件包括芯片功能调试模块、软复位停止模块和芯片功能模块,其中软复位停止模块由寄存器和停止信号产生模块组成。芯片功能调试模块用于接收仿真器控制模块的调试命令,对软复位停止模块中的寄存器进行读写,连接到芯片功能模块,对芯片功能模块进行调试;软复位停止模块,包括寄存器和停止信号产生模块,停止信号产生模块分别与寄存器和芯片功能模块相连,寄存器根据仿真器控制模块配置产生软复位停止使能信号,开启或关闭软复位停止功能,停止信号产生模块根据软复位停止使能信号和来自芯片功能模块的软复位信号,产生CPU停止信号,控制芯片功能模块的CPU软复位后是停止还是运行;芯片功能模块,用于仿真芯片的功能,包括芯片固件区和用户程序区,芯片固件区存放芯片固件程序,固件程序最后的指令为软复位指令,用户程序区存放用户程序。芯片功能模块具有软复位和硬复位功能,硬复位后能访问芯片固件区和用户程序区,从芯片固件区执行程序,软复位后只能访问用户程序区,从用户程序区执行程序。本专利技术的仿真器硬件实现了六种调试功能:硬复位操作停止功能、运行功能、软复位操作停止功能、软复位操作运行功能、执行软复位指令停止功能、执行软复位指令运行功能。在进入用户程序调试界面时,芯片固件程序已运行完成并不能访问,实现对仿真器中芯片固件程序的保护功能。硬复位操作停止功能:由芯片功能调试模块实现,接收到仿真器控制模块发送的硬复位操作命令后,控制芯片功能模块完成硬复位并停止运行。用于使芯片处于复位后的初始状态,下载或执行芯片固件程序。运行功能:由芯片功能调试模块实现,接收到仿真器控制模块发送的运行操作命令后,控制芯片功能模块中CPU运行。用于执行芯片固件程序或用户程序。软复位操作停止功能:芯片功能模块完成软复位并停止运行。软复位后芯片固件程序不能访问,此功能用于下载用户程序,或者是芯片软复位后调试用户程序,同时对芯片固件程序进行保护。软复位操作运行功能:芯片功能模块完成软复位并运行程序。软复位后芯片固件程序不能访问,此功能用于软复位并运行用户程序,同时对芯片固件程序进行保护。执行软复位指令停止功能:芯片功能模块执行软复位指令后完成软复位并停止运行。用于实现执行芯片固件程序中软复位指令后,自动停止在用户程序区的首地址的功能。执行软复位指令运行功能:芯片功能模块执行软复位指令后完成软复位并运行程序。保证执行用户程序中的软复位指令,或硬复位操作后从芯片固件程序开始运行遇到软复位指令,程序不会自动停止,不影响用户正常调试和测试。本专利技术的仿真器控制模块实现了两种调试操作,用于实现对仿真器中芯片固件程序的保护:程序下载操作、复位功能操作。程序下载操作:用于对芯片固件程序和用户程序下载,下载过程对用户不可见,下载后进入用户程序调试界面,芯片固件程序区不能访问,对芯片固件程序进行保护。芯片固件程序在芯片硬复位后进行加密下载,而不是固化在仿真器硬件中,此方法方便芯片固件程序的更新。用户程序在芯片软复位程序停止后下载,此时不需进行下载数据地址的转换。先开启软复位停止功能,执行软复位操作后停止在用户程序区的首地址,下载用户程序,之后进行硬复位操作,运行芯片固件程序,由于开启了软复位停止功能,当执行完芯片固件程序的软复位指令后,程序会自动停止在用户程序区的首地址。最后关闭软复位停止功能,保证执行用户程序中的软复位指令或硬复位操作后从芯片固件程序开始运行执行到软复位指令,程序不会自动停止,不影响用户正常调试功能。复位功能操作:复位功能操作后停止在用户程序区的首地址,芯片固件程序不能访问,达到保护目的。先进行硬复位操作,开启软复位停止功能,运行芯片固件程序,执行完芯片固件程序的软复位指令后,程序会自动停止在用户程序区的首地址,最后关闭软复位停止功能,不影响用户正常调试功能。附图说明图1是保护芯片固件程序的仿真器结构图。图2是软复位前后存储器空间分配结构图。图3是程序下载操作保护芯片固件程序流程图。图4是复位功能操作保护芯片固件程序流程图。具体实施方式下面结合附图对本专利技术仿真器进行详细说明。如图1所示,仿真器1包括仿真器控制模块2和仿真器硬件3,仿真器硬件3包括芯片功能调试模块4、软复位停止模块5和芯片功能模块8,其中软复位停止模块5由寄存器6和停止信号产生模块7组成。仿真器控制模块2与芯片功能调试模块4相连,芯片功能调试模块4连接到寄存器6和芯片功能模块8。仿真器控制模块2通过功能调试模块4实现寄存器6的读写访问,产生软复位停止使能信号9,同时通过功能调试模块4实现对芯片功能模块8进行调试操作。停止信号产生模块7连接到寄存器6和芯片功能模块8,根据寄存器6产生的软复位停止使能信号9和来自芯片功能模块8的软复位信号10,产生CPU停止信号11,此信号用于控制芯片功能模块8中的CPU软复位后是停止还是运行。包括软复位操作和执行软复位指令操作两类共四种情况,实现说明如下:软复位操作停止功能:仿真器控制模块2通过芯片功能调试模块4,配置软复位停止模块5中的寄存器6,使软复位停止使能信号9有效,开启软复位停止功能;芯片调试功能模块4接收到仿真器控制模块2发送的软复位操作命令后,控制芯片功能模块8产生软复位信号10,停止信号产生模块7根据软复位停止使能信号9和软复位信号10,设置CPU停止信号11有效,此时CPU完成软复位并停止运行。软复位操作运行功能:先配置软复位停止模块5中的寄存器6,关闭软复位停止功能;芯片调试功能模块4接收到仿真器控制模块2发送的软复位操作命令后,控制芯片功能模块8产生软复位信号10,停止信号产生模块7根据软复本文档来自技高网...
一种保护芯片固件程序的仿真器及方法

【技术保护点】
一种保护芯片固件程序的仿真器,其特征在于在调试通路中设计软复位停止模块,实现在仿真器调试过程中芯片固件程序不能访问的功能,达到对芯片固件程序保护的目的,具体包括:仿真器控制模块,与仿真器硬件相连,用于控制仿真器硬件运行,配置仿真器硬件中的寄存器,实现对芯片功能模块中程序的调试功能;仿真器硬件,包括芯片功能调试模块、软复位停止模块和芯片功能模块,用于仿真和调试芯片的功能,对程序代码或数据进行保护;其中芯片功能调试模块,接收仿真器控制模块的调试命令,连接到软复位停止模块中的寄存器,用于对寄存器进行读写,连接到芯片功能模块,对芯片功能模块进行调试;软复位停止模块,包括寄存器和停止信号产生模块,停止信号产生模块分别与寄存器和芯片功能模块相连,寄存器根据仿真器控制模块配置产生软复位停止使能信号,开启或关闭软复位停止功能,停止信号产生模块根据软复位停止使能信号和来自芯片功能模块的软复位信号,产生CPU停止信号,控制芯片功能模块的CPU软复位后是停止还是运行;芯片功能模块,用于仿真芯片的功能,包括芯片固件区和用户程序区,具有软复位和硬复位功能,硬复位后能访问芯片固件区和用户程序区,从芯片固件区执行程序,软复位后只能访问用户程序区,从用户程序区执行程序。...

【技术特征摘要】
1.一种保护芯片固件程序的仿真器,其特征在于在调试通路中设计软复位停止模块,实现在仿真器调试过程中芯片固件程序不能访问的功能,达到对芯片固件程序保护的目的,具体包括:仿真器控制模块,与仿真器硬件相连,用于控制仿真器硬件运行,配置仿真器硬件中的寄存器,实现对芯片功能模块中程序的调试功能;仿真器硬件,包括芯片功能调试模块、软复位停止模块和芯片功能模块,用于仿真和调试芯片的功能,对程序代码或数据进行保护;其中芯片功能调试模块,接收仿真器控制模块的调试命令,连接到软复位停止模块中的寄存器,用于对寄存器进行读写,连接到芯片功能模块,对芯片功能模块进行调试;软复位停止模块,包括寄存器和停止信号产生模块,停止信号产生模块分别与寄存器和芯片功能模块相连,寄存器根据仿真器控制模块配置产生软复位停止使能信号,开启或关闭软复位停止功能,停止信号产生模块根据软复位停止使能信号和来自芯片功能模块的软复位信号,产生CPU停止信号,控制芯片功能模块的CPU软复位后是停止还是运行;芯片功能模块,用于仿真芯片的功能,包括芯片固件区和用户程序区,具有软复位和硬复位功能,硬复位后能访问芯片固件区和用户程序区,从芯片固件区执行程序,软复位后只能访问用户程序区,从用户程序区执行程序。2.根据权利要求1所述的一种保护芯片固件程序的仿真器,其特征在于芯片功能模块运行芯片固件区的芯片固件程序时,执行软复位指令产生软复位信号,此时CPU停止信号由软复位停止使能信号控制,实现运行芯片固件程序中...

【专利技术属性】
技术研发人员:张洪波陈峰
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1