带有非易失性存储器的处理器芯片仿真器的制作方法

文档序号:14289159阅读:433来源:国知局

本实用新型涉及一种处理器芯片仿真器,特别是涉及一种带有非易失性存储器的处理器芯片仿真器。



背景技术:

处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合电脑上的集成开发环境共同实现用户程序的编写、编译、下载、仿真运行和各项调试功能。

很多处理器芯片带有非易失性存储器,例如EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、Flash(Flash memory,闪存存储器)等,且出于使用方便、结构灵活,以及节省存储器资源,降低结构复杂度等考虑,片内的非易失性存储器只有一片且容量做的较大,全片地址范围既可以作为程序存储器操作,也可以作为数据存储器操作。实际使用时,可按照代码工程编译结果的大小来灵活划分片内非易失性存储器资源,分出作为代码(Code)区域和数据(Data)区域的地址范围。举例来说,例如某款8051核处理器芯片使用Flash作为存储器,容量为64K字节大小,某个工程编译结果使用了48K字节代码,16K字节数据,则片内Flash的0-BFFFH物理地址范围作为代码区使用,C000-FFFFH物理地址范围作为数据区使用;因为应用发生了变化,工程做了修改,重新编译后使用了32K字节代码,32K字节数据,无需更换芯片,只需要把片内Flash的0-7FFFH物理地址范围作为代码区使用,8000-FFFFH物理地址范围作为数据区使用即可。但是非易失性存储器写入时是带有写入时序要求的,例如EEPROM和Flash都要求全片或按页擦除、等待一个指定时间、按页或按字节写入等,不能像SRAM(Static Random Access Memory,静态随机存取存储器)存储器一样提供目标写入地址、数据和写信号就可以写入。

现有仿真器通常是采用SRAM加存储器等效控制逻辑(相当于存储器控制器,例如EEPROM Controller、Flash Controller等,实现存储器写入操作时序上的模拟等效)来等效替代产品芯片中的非易失性存储器,以尽可能做到与真实芯片中非易失性存储器在功能和性能上的等效。但是,仿真器配套使用的集成开发环境都是标准的调试软件,例如KEIL、MDK、IAR等。用户通过集成开发环境向仿真器内的存储器下载代码时,都是直接按操作SRAM方式下发目标地址和代码数据给仿真芯片内的处理器核,由处理器核按操作SRAM的方式完成写入代码的,不会考虑如果目标存储器是非易失性存储器,需要按照对应的操作方式和时序操作。所以现有仿真器通常有两种实现方式,第一种直接在仿真器中把非易失性存储器做成纯粹的SRAM特性,以确保通过标准的集成开发环境可以直接操作,但会造成仿真器内非易失性存储器在功能、性能上与产品芯片的不一致;第二种是SRAM加等效控制逻辑替代非易失性存储器的方式,确保功能性能的一致性,但需要请集成开发环境厂商增加针对目标芯片非易失性存储器大小和特性的补丁,或者自行开发和提供集成开发环境上的非易失性存储器代码下载引导工程(例如,KEIL支持的FLM和FLX工程格式),针对自己代码工程编译结果的存储器代码区大小、存储器写入特性定制,编译后产生特殊机器码文件(例如,KEIL的后缀为FLM和FLX的文件),在下载代码前先把代码下载引导工程机器码文件下载到芯片的XRAM(on-chip expanded RAM,外部随机存储器)区域并执行,按片内非易失性存储器的操作时序要求,把代码引导写入到芯片的非易失性存储器指定区域内,过程复杂且需要按时序要求写入,效率较低,还需要针对代码工程编译结果中代码区域的大小变化不断修改调整代码下载引导工程的设置并重新编译产生机器码文件,虽然保证了仿真器上非易失性存储器功能和性能的一致性,但使用比较麻烦、效率较低。



技术实现要素:

本实用新型要解决的技术问题是提供一种带有非易失性存储器的处理器芯片仿真器,在保证仿真器功能、性能一致性的同时,简化了系统的实现和使用方式。

为解决上述技术问题,本实用新型的带有非易失性存储器的处理器芯片仿真器,包括:监控模块和仿真芯片;所述仿真芯片内包括:处理器核、控制逻辑模块和SRAM存储器;所述监控模块通过调试通道与用户电脑相连接;所述SRAM存储器通过第二标准数据/地址总线与控制逻辑模块相连接,通过第一标准数据/地址总线与处理器核相连接;所述监控模块通过写入通道与控制逻辑模块相连接,通过指令插入通道与处理器核相连接。

所述用户电脑上安装有集成开发环境模块;所述监控模块通过调试通道与集成开发环境模块相连接。

采用本实用新型的仿真器,在集成开发环境模块可以采用标准数据加地址的方式向所实现的仿真器内的非易失性存储器下载代码,而无需集成开发环境模块定制针对芯片非易失性存储器特性的补丁,也无需开发和使用代码下载引导工程。用户程序运行时,执行数据区写入,仍能真实等效产品芯片中非易失性存储器的写入功能和性能。代码工程修改引起编译结果中代码和数据区域大小变化时,也无需做任何配置或修改。在保证仿真器功能、性能一致性的同时,简化了系统的实现和使用方式,提高了仿真器的易用性和调试性能,方便了用户程序的开发、调试和测试,有助于提高代码开发效率。

附图说明

下面结合附图和具体实施方式对本实用新型作进一步详细的说明:

图1是所述带有非易失性存储器的处理器芯片仿真器的结构示意图。

具体实施方式

如图1所示,所述带有非易失性存储器的处理器芯片仿真器1(即图1中的仿真器),包括:监控模块3和仿真芯片12,以及安装在用户电脑上的集成开发环境模块2。所述仿真芯片12内包括处理器核4、控制逻辑模块5和SRAM存储器6。所述监控模块3通过调试通道7与集成开发环境模块2相连接。所述SRAM存储器6通过第二标准数据/地址总线11与控制逻辑模块5相连接,所述控制逻辑模块5通过第一标准数据/地址总线10与处理器核4相连接。所述监控模块3通过写入通道9与所述仿真芯片12内的控制逻辑模块5相连接,所述监控模块3通过指令插入通道8与所述仿真芯片12内的处理器核4相连接。所述控制逻辑模块5内具有代码范围配置。

所述集成开发环境2通过调试通道7向监控模块3下发用户代码的目标地址和代码数据,所述监控模块3接收到所有下发代码后,能判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置。所述监控模块3通过指令插入通道8向仿真芯片内的处理器核4塞入带有用户代码目标地址和代码数据的写入语句指令,这些语句指令是操作SRAM方式的,不带有写入时序。所述处理器核4能执行SRAM方式写入语句指令,通过与所述控制逻辑模块5连接的第一标准数据/地址总线10向控制逻辑模块5写入地址和数据。所述监控模块3能通过写入通道9向控制逻辑模块5写入代码范围配置。所述控制逻辑模块5依据其中的代码范围配置,如果通过第一标准数据/地址总线10接收到的写入操作目标地址在所述代码范围配置内,则所述控制逻辑模块5是透明通道功能,功能和性能上相当于把与处理器核4连接的第一标准数据/地址总线10和与SRAM存储器6连接的第二标准数据/地址总线11直接对接连接;如果接收到的写入操作目标地址不在所述代码范围配置内,则所述控制逻辑模块能5模拟等效非易失性存储器写入操作时序控制功能和性能,配合SRAM存储器6一起等效产品芯片中非易失性存储器的写操作时序、功能和性能。

这样,在实际应用中,用户工程编译产生需要下载的代码,由集成开发环境模块2通过调试通道7下发给监控模块3,监控模块3依据接收到所有下发代码后,判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置,并将此代码范围配置写入控制逻辑模块5中。所述监控模块3通过指令插入通道8把代码写入指令塞入处理器核4,所述处理器核4执行这些指令向控制逻辑模块5写入代码,由于这些指令中包含的写入操作目标地址在控制逻辑模块5存放的代码范围配置范围内,控制逻辑模块5相当于一个透传通道,就实现了以操作SRAM方式直接向SRAM存储器6下载、写入用户程序代码的功能。当用户工程发生修改,重新编译产生新的下载代码,代码范围发生变化,由于重新下载代码时,会重复所述过程,监控模块3会判断出新的代码地址范围,更新控制逻辑模块5内存放的代码范围配置,使其与新的工程代码地址范围匹配,新的工程代码仍然是以操作SRAM方式直接下载到SRAM存储器6中,无需用户做任何额外配置或操作,方便了用户的开发和使用。

所实现的仿真器在全速运行用户程序时,执行所有数据区写入操作语句时,目标地址必然都在代码区域范围以外的数据区域,等效控制逻辑模块5接收到的指令中包含的写入操作目标地址都在控制逻辑模块5存放的代码范围配置范围以外,此时控制逻辑模块5与SRAM存储器6一起等效实现了非易失性存储器的写入操作时序、功能和性能,保证了仿真器功能和性能的一致性。

所述集成开发环境模块2可以是标准商用集成开发环境产品,例如KEIL、IAR、MDK等。所述监控模块3可以使用普通通用处理器芯片实现,例如STM32等。所述仿真芯片12可以采用FPGA(Field Programmable Gate Array即现场可编程门阵列)芯片实现,处理器核4、控制逻辑模块5可以用FPGA的逻辑资源实现,SRAM存储器6可以使用FPGA芯片内的片内RAM存储器资源实现。写入通道9可以采用普通寄存器写入结构和方式实现。指令插入通道8可以采用标准的JTAG或者SWD调试技术和接口实现。

以上通过具体实施方式对本实用新型进行了详细的说明,但这些并非构成对本实用新型的限制。在不脱离本实用新型原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本实用新型的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1