[发明专利]仿真器在审
申请号: | 201210362746.8 | 申请日: | 2012-09-25 |
公开(公告)号: | CN103677954A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 许国泰 | 申请(专利权)人: | 上海华虹集成电路有限责任公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 戴广志 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 仿真器 | ||
技术领域
本发明涉及一种仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片,仿真芯片与仿真器的调试模块配合实现用户程序的仿真运行和各项调试功能。仿真器有监控模式和用户模式两种工作模式,用户模式下仿真器内仿真芯片全速执行用户程序,模拟产品芯片执行程序的状态,监控模式下仿真器内仿真芯片执行仿真器提供的监控程序,并与调试模块交互,完成用户关注芯片状态数据、信息的导出和修改。仿真芯片在用户模式下执行用户程序,在监控模式下执行监控程序时,会复用一些通用寄存器(例如8051单片机的累加器A、R0、R1、DPTR等),因此,仿真芯片在用户控制下退出用户模式进入监控模式时,需要保护这些在监控模式下会被用到的寄存器值,即把这些寄存器值由仿真器保存起来,也就是保护现场。在用户观察完芯片状态后,需要仿真器继续运行用户程序,控制仿真芯片退出监控模式重新进入用户模式。此时,用户程序是从之前退出用户模式处继续运行的,所以对应的所有寄存器值也需要是退出用户模式时的,要把那些在监控模式下被用到的寄存器值恢复成仿真器在保护现场时保存的值,即把这些寄存器值由仿真器恢复出来,也就是恢复现场。这样,才能保证用户程序执行过程中即使进出过监控模式,也与用户程序连续执行的状况是一致的。现有仿真器中,上述保护和恢复现场的工作需要仿真器和仿真芯片配合完成。保护现场时,仿真器控制仿真芯片进入监控模式,并提供一段保护现场的监控程序由仿真芯片执行,把需要保护的寄存器值逐个读取到仿真芯片中专用的缓冲寄存器中,由仿真器通过与仿真芯片连接的专用通信通道逐个取走并保存到仿真器中。恢复现场时,仿真器控制仿真芯片暂不进入用户模式,仍在监控模式。仿真器通过与仿真芯片连接的专用通信通道逐个把保存到仿真器中的寄存器值放到仿真芯片中专用的缓冲寄存器中,并由仿真芯片执行一段恢复现场的监控程序,把这些寄存器值逐个写入仿真芯片的寄存器中,最后才控制仿真芯片进入用户模式。可见现有仿真器中的上述保护/恢复现场过程繁琐复杂、效率不高,在需要保护/恢复的寄存器较多的情况下,易出现错误。仿真器也无法实现对这些寄存器值的实时观察。
发明内容
本发明要解决的技术问题提供一种仿真器,能够简化保护现场和恢复现场的过程,提高效率,降低出现错误的概率。
为解决上述技术问题,本发明的仿真器,包括一仿真芯片,所述仿真芯片包括一仿真逻辑模块、一寄存器组和一镜像寄存器组;
在用户模式下,仿真逻辑模块控制镜像寄存器组的内容与寄存器组的内容实时保持一致,即寄存器组内某一寄存器值发生变化时,镜像寄存器组内对应镜像寄存器的值也随之变化;
从用户模式进入监控模式后,仿真逻辑模块控制镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;
从监控模式进入用户模式后,仿真逻辑模块控制寄存器组的内容改写成镜像寄存器组中的内容,此时寄存器组中的数值恢复成了退出用户模式时的数值。
采用本发明的仿真器,保护现场和恢复现场的工作完全交由仿真芯片在退出和重新进入用户模式时自动完成,同时,仿真器可以实时读取到寄存器值,供用户观察。简化了保护现场和恢复现场的过程、提高了仿真器的工作效率、降低了出现错误的概率,提供了实用的调试新功能。有助于提高用户程序的开发调试效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是所述仿真器的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华虹集成电路有限责任公司,未经上海华虹集成电路有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210362746.8/2.html,转载请声明来源钻瓜专利网。