CN102467446A - 可设置程序指针值的处理器芯片仿真器 - Google Patents
可设置程序指针值的处理器芯片仿真器 Download PDFInfo
- Publication number
- CN102467446A CN102467446A CN2010105415830A CN201010541583A CN102467446A CN 102467446 A CN102467446 A CN 102467446A CN 2010105415830 A CN2010105415830 A CN 2010105415830A CN 201010541583 A CN201010541583 A CN 201010541583A CN 102467446 A CN102467446 A CN 102467446A
- Authority
- CN
- China
- Prior art keywords
- user
- user program
- emulation
- logic module
- pointer register
- 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
Links
Abstract
本发明公开了一种可设置程序指针值的处理器芯片仿真器,包括仿真器和集成开发环境调试软件。仿真芯片内包含PC指针寄存器和仿真逻辑模块。仿真逻辑模块与PC指针寄存器间通过寄存器访问总线连接。仿真逻辑模块可以通过所述寄存器访问总线对PC指针寄存器执行数据写入或读取操作。仿真芯片不能通过执行用户程序对PC指针寄存器写入数据。采用本发明,在开发用户程序的过程中,用户可以在调试状态下,通过设置PC指针寄存器值,使下一条执行的程序语句从用户指定位置的用户程序语句处开始执行,同时用户程序在运行状态下,即使有用户程序误写PC指针寄存器也不会引发用户程序执行混乱的情况,有助于用户高效、可靠地调试用户程序。
Description
技术领域
本发明涉及智能卡领域,特别是涉及一种可以由用户设置当前程序指针(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指针寄存器写入数据;
安装有集成开发环境调试软件的用户电脑通过通信信道与所述仿真逻辑模块连接,调试状态下,所述集成开发环境调试软件通过通信信道向仿真逻辑模块发送指令和数据,控制仿真逻辑模块执行写入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中读取到的数据,显示在观察窗口中。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (1)
1.一种可设置程序指针值的处理器芯片仿真器,包括:仿真器和安装在用户电脑上的集成开发环境调试软件;
所述仿真器包括仿真芯片和用户程序存储器;
所述用户程序存储器通过数据/地址总线与仿真芯片连接,用于存放用户程序;
所述仿真芯片内包含PC指针寄存器和仿真逻辑模块;其特征在于:
所述仿真逻辑模块与PC指针寄存器间通过寄存器访问总线连接,通过所述寄存器访问总线对PC指针寄存器执行数据写入或读取操作;仿真芯片则不能通过执行用户程序对所述PC指针寄存器写入数据;
安装有集成开发环境调试软件的用户电脑通过通信信道与所述仿真逻辑模块连接,调试状态下,所述集成开发环境软件通过通信信道向仿真逻辑模块发送指令和数据,控制仿真逻辑模块执行写入PC指针寄存器的操作,并接收仿真逻辑模块返回的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105415830A CN102467446A (zh) | 2010-11-11 | 2010-11-11 | 可设置程序指针值的处理器芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105415830A CN102467446A (zh) | 2010-11-11 | 2010-11-11 | 可设置程序指针值的处理器芯片仿真器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102467446A true CN102467446A (zh) | 2012-05-23 |
Family
ID=46071108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105415830A Pending CN102467446A (zh) | 2010-11-11 | 2010-11-11 | 可设置程序指针值的处理器芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467446A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365701A (zh) * | 2013-07-10 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种模拟读卡器的工作方法和模拟通信系统 |
CN103677953A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 可设置程序指针值的仿真器 |
CN103678073A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 仿真系统 |
CN104346249A (zh) * | 2013-07-31 | 2015-02-11 | 上海华虹集成电路有限责任公司 | 仿真调试系统 |
CN105786688A (zh) * | 2014-12-23 | 2016-07-20 | 华润半导体(深圳)有限公司 | 微控制器应用软件的调试方法 |
CN106528414A (zh) * | 2016-11-03 | 2017-03-22 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN107895099A (zh) * | 2017-12-30 | 2018-04-10 | 盛科网络(苏州)有限公司 | 一种芯片设计错误的定位方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154184A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器jtag调试方法 |
CN101206614A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 仿真特殊功能寄存器的仿真器 |
CN100474266C (zh) * | 2007-04-24 | 2009-04-01 | 上海华龙信息技术开发中心 | 一种用于数字信号处理器的调试系统及其调试方法 |
CN100487668C (zh) * | 2006-10-10 | 2009-05-13 | 北京中电华大电子设计有限责任公司 | 一种嵌入式处理器的调试方法 |
CN100501696C (zh) * | 2007-04-24 | 2009-06-17 | 上海华龙信息技术开发中心 | 一种应用于数字信号处理器的高速仿真器 |
CN101751323A (zh) * | 2008-11-28 | 2010-06-23 | 上海华虹集成电路有限责任公司 | 微处理器芯片仿真器及断点设置的方法 |
-
2010
- 2010-11-11 CN CN2010105415830A patent/CN102467446A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154184A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器jtag调试方法 |
CN100487668C (zh) * | 2006-10-10 | 2009-05-13 | 北京中电华大电子设计有限责任公司 | 一种嵌入式处理器的调试方法 |
CN101206614A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 仿真特殊功能寄存器的仿真器 |
CN100474266C (zh) * | 2007-04-24 | 2009-04-01 | 上海华龙信息技术开发中心 | 一种用于数字信号处理器的调试系统及其调试方法 |
CN100501696C (zh) * | 2007-04-24 | 2009-06-17 | 上海华龙信息技术开发中心 | 一种应用于数字信号处理器的高速仿真器 |
CN101751323A (zh) * | 2008-11-28 | 2010-06-23 | 上海华虹集成电路有限责任公司 | 微处理器芯片仿真器及断点设置的方法 |
Non-Patent Citations (1)
Title |
---|
李金良,许珊琳: "智能卡操作系统(COS)仿真器系统设计与实现", 《中国集成电路》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677953A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 可设置程序指针值的仿真器 |
CN103678073A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 仿真系统 |
CN103365701A (zh) * | 2013-07-10 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种模拟读卡器的工作方法和模拟通信系统 |
CN104346249A (zh) * | 2013-07-31 | 2015-02-11 | 上海华虹集成电路有限责任公司 | 仿真调试系统 |
CN104346249B (zh) * | 2013-07-31 | 2016-03-02 | 上海华虹集成电路有限责任公司 | 仿真调试系统 |
CN105786688A (zh) * | 2014-12-23 | 2016-07-20 | 华润半导体(深圳)有限公司 | 微控制器应用软件的调试方法 |
CN105786688B (zh) * | 2014-12-23 | 2018-10-12 | 华润半导体(深圳)有限公司 | 微控制器应用软件的调试方法 |
CN106528414A (zh) * | 2016-11-03 | 2017-03-22 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106528414B (zh) * | 2016-11-03 | 2018-12-11 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN107895099A (zh) * | 2017-12-30 | 2018-04-10 | 盛科网络(苏州)有限公司 | 一种芯片设计错误的定位方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102467446A (zh) | 可设置程序指针值的处理器芯片仿真器 | |
CN101339581B (zh) | 基于中断通讯的嵌入式系统的在线调试仿真方法 | |
US20020144235A1 (en) | Debugging embedded systems | |
CN110515641A (zh) | 服务器固件的更新方法、装置及系统 | |
CN104778116B (zh) | 一种多断点的软件调试装置和方法 | |
CN101206614B (zh) | 仿真特殊功能寄存器的仿真器 | |
CN102117243A (zh) | 一种在Flash存储器中高效的使用软件断点调试的方法 | |
CN100359486C (zh) | 一种调试操作系统内核态程序的方法及装置 | |
CN101329647A (zh) | 一种仿真片内flash的仿真器 | |
CN100514298C (zh) | 异构硬件体系间软件移植的系统 | |
CN103207824B (zh) | 监控模式下不受复位干扰的仿真器 | |
CN105190551A (zh) | 具有存储器区域交换机制的双引导系统 | |
CN101329650B (zh) | 智能卡仿真器 | |
CN102467444A (zh) | 特殊功能寄存器的仿真调试系统 | |
CN106528414B (zh) | 处理器芯片仿真器 | |
CN102193860A (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN101968759A (zh) | 具有断点功能的处理器芯片仿真器 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
CN102880574A (zh) | 利用gpio模拟低速并行接口的方法 | |
CN106095631B (zh) | 一种基于有限状态机实现的多周期非流水线cpu动态调试方法 | |
CN109656758A (zh) | 用于异构双处理器系统芯片的调试方法及系统 | |
CN104573421A (zh) | 一种基于若干分区的mcu芯片信息保护方法和装置 | |
CN103678751A (zh) | 处理器芯片仿真调试系统 | |
CN110109849B (zh) | 一种基于pci总线的can设备驱动装置及方法 | |
CN103345377A (zh) | Fifo存储器控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120523 |