CN103678073A - 仿真系统 - Google Patents

仿真系统 Download PDF

Info

Publication number
CN103678073A
CN103678073A CN201210362741.5A CN201210362741A CN103678073A CN 103678073 A CN103678073 A CN 103678073A CN 201210362741 A CN201210362741 A CN 201210362741A CN 103678073 A CN103678073 A CN 103678073A
Authority
CN
China
Prior art keywords
breakpoint
development environment
integrated development
module
debugging
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
Application number
CN201210362741.5A
Other languages
English (en)
Inventor
许国泰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201210362741.5A priority Critical patent/CN103678073A/zh
Publication of CN103678073A publication Critical patent/CN103678073A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种仿真系统,包括:仿真器和集成开发环境模块;用户通过集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的Bank号和逻辑地址通过通信通道传递给仿真器的调试模块;调试模块通过调试通道从仿真芯片读取MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置Bank号和逻辑地址,以及从仿真芯片获得的MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。本发明在实现断点功能的同时,能提高系统工作效率和系统稳定性。

Description

仿真系统
技术领域
本发明涉及一种仿真系统。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片。仿真器上处理器芯片的存储器通常是外挂在仿真芯片外的仿真器主板上,仿真器可以不经仿真芯片直接访问存储器。使用仿真器时,还需要用户电脑上的集成开发环境(例如,51系列单片机的KEIL等)与仿真器连接,用户通过集成开发环境控制仿真器进行用户程序的调试。为了保障通用性,现有集成开发环境使用的全部都是逻辑地址。
现在很多处理器芯片都带有MMU(Memory Management Unit,存储器管理单元),用于实现逻辑地址范围与物理地址范围的映射,配合多页(多Bank)程序代码时,通过各个Bank的不同MMU配置,可以实现有限逻辑地址范围映射很大的物理地址范围,例如8051单片机中64K字节大小(编译器限制了任何时候的用户程序逻辑地址范围都不能超过64K)的多Bank用户程序通过使用MMU可以使用户程序的实际大小远超64K,即存储器内的用户程序大于64K,不同的Bank页逻辑地址区域(各Bank共用逻辑地址范围)由MMU映射到不同的存储器物理地址区域,这样一个时间点上只有一个Bank可见,用户程序逻辑地址范围不会超过64K,通过Bank切换使能不同的Bank,又可以访问到大于64K的物理地址范围。
MMU的实现方式有很多,各家芯片厂商也不尽相同,为了保障通用性,现有的集成开发环境(例如KEIL)使用的全部都是逻辑地址。因此,现有带MMU的处理器芯片仿真系统中,需要在集成开发环境中增加一个补丁软件,完成逻辑地址与物理地址间的转换。使用时,用户在程序语句上设置断点后,集成开发环境首先获得断点语句位置处的逻辑地址交给补丁(一般是动态链接库形式),然后由补丁从仿真器获取仿真芯片当前MMU的配置信息,即获得当前逻辑地址和物理地址映射关系,然后结合逻辑地址计算转换成物理地址,再传递给仿真器,最后仿真器在存储器的对应物理地址位置打上断点(把用户程序语句改成软件断点特殊语句)。这一过程中,需要补丁软件的参与,增加了系统结构的复杂度;读取仿真芯片配置的过程需要用户电脑与仿真器的交互,通信过程耗时且易出错影响稳定性。
发明内容
本发明要解决的技术问题提供一种仿真系统,设置断点不需要在集成开发环境上增加补丁软件,减少用户电脑与仿真器的交互过程,提高设置速度和稳定性。
为解决上述技术问题,本发明的仿真系统,包括:仿真器和位于用户电脑上的集成开发环境模块;所述仿真器包括仿真芯片、调试模块和存储器;所述仿真器和集成开发环境模块之间由通信通道连接;所述仿真芯片与调试模块通过调试通道连接;所述仿真芯片与调试模块和存储器之间通过数据/地址总线连接;
其中:用户通过所述集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的页Bank号和逻辑地址通过通信通道传递给仿真器的调试模块;
所述调试模块通过调试通道从仿真芯片读取MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置页Bank号和逻辑地址,以及从仿真芯片获得的MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。
采用本发明的仿真器系统不需要在集成开发环境上增加补丁软件,保证集成开发环境的通用性,也最大限度的减少了用户电脑与仿真器的交互过程,提高了断点的设置速度和稳定性。在实现断点功能的同时,简化系统结构,提高了系统工作效率和系统稳定性。
本发明可用于带有MMU的处理器芯片仿真器断点的设置。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是所述仿真系统结构示意图。
具体实施方式
参见附图所示,在下面的实施例中所述仿真系统,包括:仿真器1和位于用户电脑上的集成开发环境模块2。所述仿真器1和集成开发环境模块2由通信通道8连接。所述仿真器1,包括:仿真芯片3、调试模块4和存储器5。仿真芯片3与调试模块4通过调试通道6连接。仿真芯片3与调试模块4和存储器5之间由标准数据/地址总线7连接。
仿真芯片3模拟产品芯片功能,通过与存储器5连接的标准数据/地址总线7读取和执行用户程序,在执行到软件断点语句(例如8051单片机中通常用A5指令实现)时就会停止运行。所述标准数据/地址总线7上使用的是物理地址。存储器5内存放用户程序。
用户通过集成开发环境模块2在用户程序上设置断点,集成开发环境模块2把断点所在程序语句的Bank号和逻辑地址通过通信通道8传递给仿真器1的调试模块4。调试模块4通过调试通道6从仿真芯片3读取MMU的当前配置信息,调试模块4根据从集成开发环境2获得要设置断点位置处程序语句的Bank号和逻辑地址,以及从仿真芯片3获得的MMU配置信息换算成存储器5内要设置断点位置的物理地址。调试模块4通过与存储器5连接的标准数据/地址总线7改写存储器5内的用户程序语句,把要设置断点位置的物理地址上的用户程序语句改写成软件断点语句。
上述断点设置中,不需要在集成开发环境模块2上增加补丁软件,简化了系统结构。去除了集成开发环境模块2从仿真芯片3读取MMU配置的过程,也就是用户电脑与仿真器间这一次通信,最大限度的减少了用户电脑与仿真器的交互过程,节省了设置完成时间,MMU配置信息获取及物理地址换算都在仿真器内完成,降低了受到干扰的可能性,提高了系统工作效率和系统稳定性。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (4)

1.一种仿真系统,包括:仿真器和位于用户电脑上的集成开发环境模块;所述仿真器包括仿真芯片、调试模块和存储器;所述仿真器和集成开发环境模块之间由通信通道连接;所述仿真芯片与调试模块通过调试通道连接;所述仿真芯片与调试模块和存储器之间通过数据/地址总线连接;
其特征在于:用户通过所述集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的页Bank号和逻辑地址通过通信通道传递给仿真器的调试模块;
所述调试模块通过调试通道从仿真芯片读取存储器管理单元MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置页Bank号和逻辑地址,以及从仿真芯片获得的存储器管理单元MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。
2.如权利要求1所述的仿真系统,其特征在于:所述仿真芯片用于模拟产品芯片功能,通过与存储器连接的数据/地址总线读取和执行用户程序。
3.如权利要求1所述的仿真系统,其特征在于:所述数据/地址总线上使用的是物理地址。
4.如权利要求1所述的仿真系统,其特征在于:所述存储器内存放用户程序。
CN201210362741.5A 2012-09-25 2012-09-25 仿真系统 Pending CN103678073A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210362741.5A CN103678073A (zh) 2012-09-25 2012-09-25 仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210362741.5A CN103678073A (zh) 2012-09-25 2012-09-25 仿真系统

Publications (1)

Publication Number Publication Date
CN103678073A true CN103678073A (zh) 2014-03-26

Family

ID=50315717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210362741.5A Pending CN103678073A (zh) 2012-09-25 2012-09-25 仿真系统

Country Status (1)

Country Link
CN (1) CN103678073A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406154A (zh) * 2015-07-30 2017-02-15 新唐科技股份有限公司 侦错系统及其控制方法
CN106528414A (zh) * 2016-11-03 2017-03-22 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN110431536A (zh) * 2017-03-20 2019-11-08 微软技术许可有限责任公司 实现整个数据结构上的断点

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710934A (en) * 1992-05-27 1998-01-20 Sgs-Thomson Microelectronics, S.A. Methods and test platforms for developing an application-specific integrated circuit
CN1632759A (zh) * 2003-12-24 2005-06-29 上海华虹集成电路有限责任公司 可灵活实现片内eeprom仿真功能的方法
US20060212758A1 (en) * 2005-03-21 2006-09-21 Drake Daniel R System and method for automated interaction diagram generation using source code breakpoints
CN101241465A (zh) * 2007-02-08 2008-08-13 上海华虹集成电路有限责任公司 接触式智能卡芯片的仿真器
CN102467446A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 可设置程序指针值的处理器芯片仿真器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710934A (en) * 1992-05-27 1998-01-20 Sgs-Thomson Microelectronics, S.A. Methods and test platforms for developing an application-specific integrated circuit
CN1632759A (zh) * 2003-12-24 2005-06-29 上海华虹集成电路有限责任公司 可灵活实现片内eeprom仿真功能的方法
US20060212758A1 (en) * 2005-03-21 2006-09-21 Drake Daniel R System and method for automated interaction diagram generation using source code breakpoints
CN101241465A (zh) * 2007-02-08 2008-08-13 上海华虹集成电路有限责任公司 接触式智能卡芯片的仿真器
CN102467446A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 可设置程序指针值的处理器芯片仿真器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406154A (zh) * 2015-07-30 2017-02-15 新唐科技股份有限公司 侦错系统及其控制方法
CN106406154B (zh) * 2015-07-30 2018-10-23 新唐科技股份有限公司 侦错系统及其控制方法
CN106528414A (zh) * 2016-11-03 2017-03-22 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN106528414B (zh) * 2016-11-03 2018-12-11 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN110431536A (zh) * 2017-03-20 2019-11-08 微软技术许可有限责任公司 实现整个数据结构上的断点

Similar Documents

Publication Publication Date Title
CN102184122B (zh) 一种龙芯CPU主板bios及中断的实现方法
CN101739283B (zh) 一种计算机及虚拟系统直接访问计算机硬件的方法
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
EP1835396A2 (en) Address space emulation
CN101626351A (zh) 多协议数据采集网关
CN105335548B (zh) 一种用于ice的mcu仿真方法
CN104268074A (zh) 一种基于dcs系统应用软件在线调试方法
CN105204393A (zh) 基于虚核单片机的单片机生产研发工具及其实现方法
US11768757B2 (en) Kernel debugging system and method
CN103309830A (zh) VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法
CN100487668C (zh) 一种嵌入式处理器的调试方法
CN104503825A (zh) 一种基于kvm混合式设备虚拟化方法
CN114153779A (zh) 一种i2c通信方法、系统、设备、及存储介质
CN103678073A (zh) 仿真系统
CN102110045B (zh) 实时显示调试信息的仿真器
CN103207824B (zh) 监控模式下不受复位干扰的仿真器
CN103455438A (zh) 一种内存管理方法及设备
CN110209605B (zh) Pcie总线网卡的寄存器读写方法和计算设备
CN110457198A (zh) 调试信息输出方法、装置及存储介质
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN102467444A (zh) 特殊功能寄存器的仿真调试系统
CN211878599U (zh) 应用于现场可编辑门阵列fpga的仿真验证系统
CN103678751A (zh) 处理器芯片仿真调试系统
CN113609052A (zh) 基于fpga和微处理器的芯片模拟系统及实现方法
CN103645936B (zh) 一种基于设备模拟的数据卡虚拟化实现方法

Legal Events

Date Code Title Description
PB01 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: 20140326