仿真系统的制作方法

文档序号:6489241阅读:328来源:国知局
仿真系统的制作方法
【专利摘要】本发明公开了一种仿真系统,包括:仿真器和集成开发环境模块;用户通过集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的Bank号和逻辑地址通过通信通道传递给仿真器的调试模块;调试模块通过调试通道从仿真芯片读取MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置Bank号和逻辑地址,以及从仿真芯片获得的MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。本发明在实现断点功能的同时,能提高系统工作效率和系统稳定性。
【专利说明】仿真系统
【技术领域】
[0001]本发明涉及一种仿真系统。
【背景技术】
[0002]处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片。仿真器上处理器芯片的存储器通常是外挂在仿真芯片外的仿真器主板上,仿真器可以不经仿真芯片直接访问存储器。使用仿真器时,还需要用户电脑上的集成开发环境(例如,51系列单片机的KEIL等)与仿真器连接,用户通过集成开发环境控制仿真器进行用户程序的调试。为了保障通用性,现有集成开发环境使用的全部都是逻辑地址。
[0003]现在很多处理器芯片都带有MMU (Memory Management Unit,存储器管理单元),用于实现逻辑地址范围与物理地址范围的映射,配合多页(多Bank)程序代码时,通过各个Bank的不同MMU配置,可以实现有限逻辑地址范围映射很大的物理地址范围,例如8051单片机中64K字节大小(编译器限制了任何时候的用户程序逻辑地址范围都不能超过64K)的多Bank用户程序通过使用MMU可以使用户程序的实际大小远超64K,即存储器内的用户程序大于64K,不同的Bank页逻辑地址区域(各Bank共用逻辑地址范围)由MMU映射到不同的存储器物理地址区域,这样一个时间点上只有一个Bank可见,用户程序逻辑地址范围不会超过64K,通过Bank切换使能不同的Bank,又可以访问到大于64K的物理地址范围。
[0004]MMU的实现方式有很多,各家芯片厂商也不尽相同,为了保障通用性,现有的集成开发环境(例如KEIL)使用的全部都是逻辑地址。因此,现有带MMU的处理器芯片仿真系统中,需要在集成开发环境中增加一个补丁软件,完成逻辑地址与物理地址间的转换。使用时,用户在程序语句上设置断点后,集成开发环境首先获得断点语句位置处的逻辑地址交给补丁 (一般是动态链接库形式),然后由补丁从仿真器获取仿真芯片当前MMU的配置信息,即获得当前逻辑地址和物理地址映射关系,然后结合逻辑地址计算转换成物理地址,再传递给仿真器,最后仿真器在存储器的对应物理地址位置打上断点(把用户程序语句改成软件断点特殊语句)。这一过程中,需要补丁软件的参与,增加了系统结构的复杂度;读取仿真芯片配置的过程需要用户电脑与仿真器的交互,通信过程耗时且易出错影响稳定性。

【发明内容】

[0005]本发明要解决的技术问题提供一种仿真系统,设置断点不需要在集成开发环境上增加补丁软件,减少用户电脑与仿真器的交互过程,提高设置速度和稳定性。
[0006]为解决上述技术问题,本发明的仿真系统,包括:仿真器和位于用户电脑上的集成开发环境模块;所述仿真器包括仿真芯片、调试模块和存储器;所述仿真器和集成开发环境模块之间由通信通道连接;所述仿真芯片与调试模块通过调试通道连接;所述仿真芯片与调试模块和存储器之间通过数据/地址总线连接;[0007]其中:用户通过所述集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的页Bank号和逻辑地址通过通信通道传递给仿真器的调试模块;
[0008]所述调试模块通过调试通道从仿真芯片读取MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置页Bank号和逻辑地址,以及从仿真芯片获得的MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。
[0009]采用本发明的仿真器系统不需要在集成开发环境上增加补丁软件,保证集成开发环境的通用性,也最大限度的减少了用户电脑与仿真器的交互过程,提高了断点的设置速度和稳定性。在实现断点功能的同时,简化系统结构,提高了系统工作效率和系统稳定性。
[0010]本发明可用于带有MMU的处理器芯片仿真器断点的设置。
【专利附图】

【附图说明】
[0011]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
[0012]附图是所述仿真系统结构示意图。
【具体实施方式】
[0013]参见附图所示,在下面的实施例中所述仿真系统,包括:仿真器I和位于用户电脑上的集成开发环境模块2。所述仿真器I和集成开发环境模块2由通信通道8连接。所述仿真器1,包括:仿真芯片3、调试模块4和存储器5。仿真芯片3与调试模块4通过调试通道6连接。仿真芯片3与调试模块4和存储器5之间由标准数据/地址总线7连接。
[0014]仿真芯片3模拟产品芯片功能,通过与存储器5连接的标准数据/地址总线7读取和执行用户程序,在执行到软件断点语句(例如8051单片机中通常用A5指令实现)时就会停止运行。所述标准数据/地址总线7上使用的是物理地址。存储器5内存放用户程序。
[0015]用户通过集成开发环境模块2在用户程序上设置断点,集成开发环境模块2把断点所在程序语句的Bank号和逻辑地址通过通信通道8传递给仿真器I的调试模块4。调试模块4通过调试通道6从仿真芯片3读取MMU的当前配置信息,调试模块4根据从集成开发环境2获得要设置断点位置处程序语句的Bank号和逻辑地址,以及从仿真芯片3获得的MMU配置信息换算成存储器5内要设置断点位置的物理地址。调试模块4通过与存储器5连接的标准数据/地址总线7改写存储器5内的用户程序语句,把要设置断点位置的物理地址上的用户程序语句改写成软件断点语句。
[0016]上述断点设置中,不需要在集成开发环境模块2上增加补丁软件,简化了系统结构。去除了集成开发环境模块2从仿真芯片3读取MMU配置的过程,也就是用户电脑与仿真器间这一次通信,最大限度的减少了用户电脑与仿真器的交互过程,节省了设置完成时间,MMU配置信息获取及物理地址换算都在仿真器内完成,降低了受到干扰的可能性,提高了系统工作效率和系统稳定性。
[0017]以上通过【具体实施方式】和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【权利要求】
1.一种仿真系统,包括:仿真器和位于用户电脑上的集成开发环境模块;所述仿真器包括仿真芯片、调试模块和存储器;所述仿真器和集成开发环境模块之间由通信通道连接;所述仿真芯片与调试模块通过调试通道连接;所述仿真芯片与调试模块和存储器之间通过数据/地址总线连接; 其特征在于:用户通过所述集成开发环境模块在用户程序上设置断点,集成开发环境模块把断点所在程序语句的页Bank号和逻辑地址通过通信通道传递给仿真器的调试模块; 所述调试模块通过调试通道从仿真芯片读取存储器管理单元MMU的当前配置信息,根据从集成开发环境模块获得的要设置断点位置页Bank号和逻辑地址,以及从仿真芯片获得的存储器管理单元MMU配置信息换算成要设置断点位置的物理地址;通过数据/地址总线改写存储器内各个地址处的用户程序语句,并能将用户程序语句改写成软件断点语句。
2.如权利要求1所述的仿真系统,其特征在于:所述仿真芯片用于模拟产品芯片功能,通过与存储器连接的数据/地址总线读取和执行用户程序。
3.如权利要求1所述的仿真系统,其特征在于:所述数据/地址总线上使用的是物理地址。
4.如权利要求1所述的仿真系统,其特征在于:所述存储器内存放用户程序。
【文档编号】G06F11/26GK103678073SQ201210362741
【公开日】2014年3月26日 申请日期:2012年9月25日 优先权日:2012年9月25日
【发明者】许国泰 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1