可设置程序指针值的处理器芯片仿真器制造技术

技术编号:7365079 阅读:136 留言:0更新日期:2012-05-27 00:40
本发明专利技术公开了一种可设置程序指针值的处理器芯片仿真器,包括仿真器和集成开发环境调试软件。仿真芯片内包含PC指针寄存器和仿真逻辑模块。仿真逻辑模块与PC指针寄存器间通过寄存器访问总线连接。仿真逻辑模块可以通过所述寄存器访问总线对PC指针寄存器执行数据写入或读取操作。仿真芯片不能通过执行用户程序对PC指针寄存器写入数据。采用本发明专利技术,在开发用户程序的过程中,用户可以在调试状态下,通过设置PC指针寄存器值,使下一条执行的程序语句从用户指定位置的用户程序语句处开始执行,同时用户程序在运行状态下,即使有用户程序误写PC指针寄存器也不会引发用户程序执行混乱的情况,有助于用户高效、可靠地调试用户程序。

【技术实现步骤摘要】

本专利技术涉及智能卡领域,特别是涉及一种可以由用户设置当前程序指针(Program Counter,简称PC或PC指针)值的处理器芯片仿真器。
技术介绍
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器和用户电脑上的调试软件——集成开发环境。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片。程序指针(Program Counter,简称PC或PC指针)值存放于处理器芯片PC指针寄存器中,是用户程序下一步需要执行的程序语句的地址值,是用户程序执行的索引,也就是说,下一条执行的程序语句就是在程序区内地址值等于PC指针值的那条程序语句。举例而言,处理器芯片复位后PC指针值清零,启动处理器芯片执行用户程序后,就是从0地址处的第一条程序语句开始执行。PC指针值存放在处理器芯片的PC指针寄存器中,该寄存器对用户程序是只读属性的,用户程序不能改写PC指针寄存器中的当前PC指针值。不同于在实际产品芯片中,用户在使用仿真器和集成开发环境模拟处理器芯片调试用户程序时,所有的用户程序语句,当前PC指针值,下一条及所有可执行的用户程序语句都是可见的。因此,用户也会有一些特殊的调试需求,例如,处理器芯片复位后,不从0地址处开始执行,而是从某一地址处开始执行;执行到某一条用户程序语句后,需要跳过下面一段用户程序,从某个位置的程序语句继续执行等等。但是,如果直接在仿真器中的仿真芯片设计时,把PC指针寄存器从只读属性改为读写属性,又容易发生用户程序对PC指针寄存器的误写操作,造成用户程序执行时的混乱。因此,需要有一种可设置PC指针值的处理器芯片仿真器提供用户通过仿真器设置PC指针寄存器值的功能,满足用户上述的调试需求, 又不会发生用户程序运行时由于可能的对PC指针寄存器的误操作,而造成用户程序执行混乱的情况。
技术实现思路
本专利技术要解决的技术问题是提供一种可设置程序指针值的处理器芯片仿真器,能有助于用户高效、可靠地调试用户程序。为解决上述技术问题,本专利技术的可设置程序指针值的处理器芯片仿真器,包括仿真器和安装在用户电脑上的集成开发环境调试软件;所述仿真器包括仿真芯片和用户程序存储器;所述用户程序存储器通过数据/地址总线与仿真芯片连接,用于存放用户程序;所述仿真芯片内包含PC指针寄存器和仿真逻辑模块;该仿真逻辑模块与PC指针寄存器间通过寄存器访问总线连接,通过所述寄存器访问总线对PC指针寄存器执行数据写入或读取操作;仿真芯片则不能通过执行用户程序对所述PC指针寄存器写入数据;3安装有集成开发环境调试软件的用户电脑通过通信信道与所述仿真逻辑模块连接,调试状态下,所述集成开发环境调试软件通过通信信道向仿真逻辑模块发送指令和数据,控制仿真逻辑模块执行写入PC指针寄存器的操作,并接收仿真逻辑模块返回的数据。采用本专利技术的处理器芯片仿真器,在开发用户程序的过程中,用户可以在调试状态下,通过设置PC指针寄存器值,使下一条执行的程序语句从用户指定位置的用户程序语句处开始执行,同时用户程序在运行状态下,即使有用户程序误写PC指针寄存器也不会引发用户程序执行混乱的情况。这一新调试手段的提供有助于用户高效、可靠地调试用户程序。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细的说明附图是本专利技术的处理器芯片仿真器一实施例结构示意图。具体实施例方式需要先了解的是,仿真器的工作状态分为运行和调试两种状态,由用户控制仿真器工作状态的切换。当用户控制仿真器进入运行状态后,仿真器中的仿真芯片全速运行用户程序,此时集成开发环境调试软件不会干预仿真器对用户程序的执行,用户程序与在实际产品处理器芯片上执行的效果是基本一致的;当用户控制仿真器停止运行用户程序,仿真器退出运行状态进入调试状态,仿真器不再执行用户程序,此时用户可以通过集成开发环境调试软件发起观察/修改程序代码、存储器数据等调试操作。如图所示,在一实施例中,所述可设置程序指针值的处理器芯片仿真器,包括仿真器1和安装在用户电脑上的集成开发环境调试软件6。所述仿真器1包括仿真芯片2和用户程序存储器3。所述用户程序存储器3存放用户程序。所述用户程序存储器3通过数据/地址总线8与仿真芯片2连接。仿真芯片2内包含PC指针寄存器5和仿真逻辑模块 4。仿真逻辑模块4与PC指针寄存器5间通过寄存器访问总线9连接。仿真逻辑模块4可以通过所述寄存器访问总线9对PC指针寄存器5执行数据写入或读取操作。仿真芯片2不能通过执行用户程序对PC指针寄存器5写入数据。安装有集成开发环境调试软件6的用户电脑通过通信信道7与仿真器1内仿真芯片2的仿真逻辑模块4连接。在调试状态下,所述集成开发环境调试软件6通过通信信道7向仿真逻辑模块4发送指令和数据,控制仿真逻辑模块4执行向PC指针寄存器5写入数值的操作;并接收仿真逻辑模块4返回的数据。这样,在运行状态下,仿真器1内的仿真芯片2全速执行用户程序存储器3中的用户程序。由于仿真芯片2不能通过执行用户程序对PC指针寄存器5写入数据,所以即使用户程序中有误写PC指针寄存器5的操作也不会引发用户程序执行混乱的情况。在调试状态下,仿真芯片2不执行用户程序存储器3中的用户程序。如果用户要设置PC指针值,实现重新进入运行状态后,用户程序下一条执行的程序语句是用户指定位置处的用户程序语句,用户只需要在集成开发环境调试软件6中填入目标位置处用户程序语句的程序地址值。集成开发环境调试软件6会通过通信信道7向仿真逻辑模块4发送写入数据指令和数据值,控制仿真逻辑模块4向PC指针寄存器5写入数值。仿真器1重新进入运行状态后,执行的第一条用户程序语句就是用户指定位置处的程序语句。如果用户要观察PC指针值,了解用户程序下一条执行的程序语句地址,只需要打开集成开发环境调试软件6的PC指针值观察窗口,集成开发环境调试软件6会通过通信信道7向仿真逻辑模块 4发送读取数据指令,并接收仿真逻辑模块4返回的从PC指针寄存器5中读取到的数据,显示在观察窗口中。 以上通过具体实施方式对本专利技术进行了详细的说明,但这些并非构成对本专利技术的限制。在不脱离本专利技术原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本专利技术的保护范围。权利要求1. 一种可设置程序指针值的处理器芯片仿真器,包括仿真器和安装在用户电脑上的集成开发环境调试软件;所述仿真器包括仿真芯片和用户程序存储器;所述用户程序存储器通过数据/地址总线与仿真芯片连接,用于存放用户程序; 所述仿真芯片内包含PC指针寄存器和仿真逻辑模块;其特征在于 所述仿真逻辑模块与PC指针寄存器间通过寄存器访问总线连接,通过所述寄存器访问总线对PC指针寄存器执行数据写入或读取操作;仿真芯片则不能通过执行用户程序对所述PC指针寄存器写入数据;安装有集成开发环境调试软件的用户电脑通过通信信道与所述仿真逻辑模块连接,调试状态下,所述集成开发环境软件通过通信信道向仿真逻辑模块发送指令和数据,控制仿真逻辑模块执行写入PC指针寄存器的操作,并接收仿真逻辑模块返回的数据。全文摘要本专利技术公开了一种可设置程序指针值的处理器芯片仿真器,包括仿真器和集成开发环境调试软件。仿真芯片内包含PC指针寄存器本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:许国泰
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:

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

1
相关领域技术