CN104077204B - 可重构的8位rsic单片机仿真器 - Google Patents
可重构的8位rsic单片机仿真器 Download PDFInfo
- Publication number
- CN104077204B CN104077204B CN201410351303.8A CN201410351303A CN104077204B CN 104077204 B CN104077204 B CN 104077204B CN 201410351303 A CN201410351303 A CN 201410351303A CN 104077204 B CN104077204 B CN 104077204B
- Authority
- CN
- China
- Prior art keywords
- chip
- emulation
- simulative surveillance
- singlechip
- rsic
- 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.)
- Active
Links
Abstract
本发明涉及一种可重构的8位RISC单片机仿真器,其包括仿真监控芯片、仿真芯片以及存储器。仿真监控芯片通过USB接口与上位机通信,上位机通过USB接口可方便更新仿真监控芯片内的仿真固件,通过仿真监控芯片,能自动把仿真芯片配置成用户需要的目标单片机,并能将用户代码下载到存储器内,仿真芯片读取存储器内的用户代码并执行代码。仿真监控芯片通过USB接口,随时接收上位机的各项命令,控制仿真芯片的仿真,同时随时向上位机返回仿真器的各种状态。本发明通过更新仿真监控芯片内的仿真固件,配置仿真芯片成为不同单片机的内核,实现通过软件的方法,构造出不同的单片机仿真器。能实现对不同厂家不同系列的RSIC单片机的仿真开发,操作方便。
Description
技术领域
本发明涉及一种仿真器,尤其是一种可重构的8位RISC单片机仿真器,属于电子控制装置的技术领域。
背景技术
当前,8位RISC体系结构的单片机(MCU)广泛应用于智能设备上,特别是家用电器、智能工具、智能玩具、医疗保健、安防系统、电源管理等方面,市场的需求量十分庞大。巨大的市场需求吸引了众多的微电子厂商开发出品种繁多的8位RISC单片机,其中大部分是通用型单片机,也有一部分是专用型或半专用型的。在这块热土上,云集了如PIC,EMC,Holtech,Sonix,Feeling等等著名厂商。
通用型单片机通常需要根据实际应用的需求,经过二次开发才能达到实际应用的要求。二次开发的重点是对单片机的编程,为了加快编程和调试,应用工程师通常会使用单片机仿真器。单片机厂商也推出了各自的仿真工具,提供给应用工程师用于开发各种各样的应用。尽管作为8位RISC单片机,其实际的功能大同小异,但各开发厂商推出的产品都是不兼容的,除了微控制器的架构有差异外,特别是指令系统的定义,各家厂商更是完全不同的。
通常,单片机厂商推出的仿真工具,只适合自家单片机系列的仿真和调试,对其他厂商的单片机就无能为力了。鉴于这种情况的存在,方案应用工程师的案头,往往会有一大堆的各种品牌单片机的仿真器,用于应对各种各样的应用方案的评估和开发。
由于巨大的市场需求,众多的微电子厂商开发出品种繁多的8位RISC单片机。由于不同厂商推出的单片机并不兼容,特别是指令代码、指令长度、寄存器地址、RAM地址等等都不一样,所以微电子厂商推出的各自仿真器,也只适用于各自推出的单片机,甚至有的仿真器只适用一种单片机。
公开号为CN102096725A的文件是一种采用FPGA的单片机仿真器,通过FPGA芯片来模拟BondoutMCU(下文简称目标单片机核)并实现微控制芯片CS6088的仿真功能。
目前微电子厂商推出的各自仿真器,由于难以通过软件的方法,在线更新仿真控制芯片和目标单片机的核,所以不能用于其他系列的单片机仿真,有的仿真器(如公开号为CN102096725A的文件)仅只能用于一种特定的单片机。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种可重构的8位RSIC单片机仿真器,其结构简单,能实现对不同厂家不同系列的RSIC单片机的仿真开发,操作方便,适应范围广,安全可靠。
按照本发明提供的技术方案,所述一种可重构的8位RSIC单片机仿真器,包括仿真器主板;所述仿真器主板包括仿真监控芯片、仿真芯片以及存储器;所述仿真监控芯片与仿真芯片以及存储器连接,仿真芯片与存储器连接;仿真监控芯片通过USB接口与上位机通信,上位机检测并能更新仿真监控芯片内的仿真固件,以使得仿真监控芯片内的仿真固件匹配目标单片机系列;仿真监控芯片内的固件匹配目标单片机系列后,能将仿真芯片的内核配置成目标单片机,仿真监控芯片能利用仿真固件控制仿真芯片的工作状态,以重构得到所需的单片机仿真器。
所述仿真监控芯片能将用户代码存储在存储器内,仿真芯片能读取存储器内的用户代码并执行代码仿真;仿真监控芯片将仿真芯片对用户代码执行时的仿真状态以及仿真数据通过USB接口返回至上位机内。
所述存储器采用SRAM静态存储器。所述仿真芯片采用现场可编程逻辑芯片FPGA,仿真芯片通过ICE控制总线以及配置下载总线与仿真监控芯片连接,仿真监控芯片与系统晶振连接,仿真芯片与用户晶振连接。
所述仿真监控芯片通过ICE控制总线控制仿真芯片的工作状态包括复位、调试运行、全速运行、单步运行或暂停运行。
所述仿真监控芯片采用ARM,仿真器主板的电源端与用于提供仿真监控芯片、仿真芯片以及存储器工作电压的外部电源连接。
所述仿真芯片能处理的指令宽度在12位到16位之间。仿真芯片通过端口电路板与用户目标板连接,所述端口电路板包括电平转换芯片组、端口芯片以及端口保护电路,端口芯片通过电平转换芯片组与仿真芯片连接,端口芯片通过端口保护电路与用户目标板连接。
所述仿真芯片具备Bond-out外部仿真逻辑。所述外部电源为输出DC9V的电源。
本发明的优点:在仿真器硬件架构不变的情况下,通过更新仿真监控芯片的仿真固件以适合各种不同系列的RISC单片机;通过更新仿真芯片的配置的目标单片机内核,来适合不同型号的RISC单片机,实现了采用软件的方法,重构出不同的仿真器,结构简单,操作方便,适应范围广,安全可靠。
附图说明
图1为本发明使用状态框图。
图2为仿真器初始化重构过程框图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能实现对不同厂家不同系列的RSIC(reducedinstructionsetcomputer)单片机的仿真开发,本发明包括仿真器主板;其特征是:所述仿真器主板包括仿真监控芯片、仿真芯片以及存储器;所述仿真监控芯片与仿真芯片以及存储器连接,仿真芯片与存储器连接;仿真监控芯片通过USB接口与上位机通信,上位机检测并能更新仿真监控芯片内的仿真固件,以使得仿真监控芯片内的仿真固件匹配目标单片机系列;仿真监控芯片内的固件匹配目标单片机系列后,能将仿真芯片的内核配置成目标单片机,仿真监控芯片能利用仿真固件控制仿真芯片的工作状态,以重构得到所需的单片机仿真器。
具体地,为了能对所需厂家所需型号的RSIC单片机进行仿真,仿真器初始化阶段,必须要完成仿真器的重构过程,具体流程如图2所示,具体为:
步骤1、仿真器上电后,首先进行硬件初始化,硬件初始化完成后,仿真监控芯片通过USB接口与上位机通信,返回当前仿真监控芯片内仿真固件的版本信息,上位机判别当前仿真监控芯片内的仿真固件是否符合目标单片机系列。当仿真监控芯片内的仿真固件与目标单片机系列相符,则通过仿真监控芯片直接配置仿真芯片的内核;若仿真监控芯片内的仿真固件与目标单片机系列不相符,则上位机通过下载当前目标单片机系列固件,更新仿真监控芯片内的仿真固件。
步骤2、当对仿真监控芯片的仿真固件进行检测或更新后,上位机根据目标单片机的具体型号,把相应的单片机内核代码配置到仿真芯片,使仿真芯片成为目标单片机。
本发明实施例中,通过先对仿真监控芯片的仿真固件的检测以及更新,使得仿真监控芯片内的仿真固件能匹配目标单片机系列,再通过仿真监控芯片将仿真芯片配置成目标单片机,从而通过软件更新等方法,实现重构得到所需的单片机仿真器,通过重构后的单片机仿真器能够实现对目标单片机的仿真。
步骤3、下载用户程序代码到存储器中。
在利用重构后的仿真器仿真时,仿真监控芯片能将用户代码存储在存储器内,仿真芯片能读取存储器内的用户代码并执行代码仿真;仿真监控芯片通过USB接口与上位机通信,上位机通过USB接口更新仿真监控芯片内用于与目标单片机内核相匹配的仿真固件,以使得仿真监控芯片能利用更新后的仿真固件控制仿真芯片的工作状态,并能将仿真芯片对用户代码执行时的仿真状态以及仿真数据通过USB接口返回至上位机内。
仿真监控芯片内的仿真固件与仿真芯片的目标单片机内核相匹配,即针对不同的目标单片机内核,要更新仿真监控芯片内相应的仿真固件。在具体实施时,同系列的目标单片机内核,仿真监控芯片的仿真固件相同,同系列不同型号的RSIC单片机,仿真芯片的目标单片机内核不同,通过仿真监控芯片内的仿真固件与仿真芯片内的目标单片机内核匹配后,可重构出不同的仿真器,实现对不同厂家不同系列型号的单片机的仿真开发。
进一步,所述存储器采用SRAM静态存储器。SRAM静态存储器用于保存用户的目标代码,SRAM静态存储器的地址总线、数据总线同时连接到仿真监控芯片以及仿真芯片,仿真监控芯片负责下载用户的目标代码到SRAM静态存储器,仿真开始后,仿真芯片从SRAM静态存储器取出用户的目标代码并执行。
所述仿真监控芯片采用ARM,仿真器主板的电源端与用于提供仿真监控芯片、仿真芯片以及存储器工作电压的外部电源连接。本发明实施例中,为了能让仿真器主板工作运行,需要外部电源提供仿真器主板的工作电压,所述外部电源能提供所需稳定的DC9V电源,外部电源连接仿真器主板后,能提供仿真器主板内不同器件所需的工作电压。
所述仿真芯片采用现场可编程逻辑芯片FPGA,仿真芯片通过ICE控制总线以及配置下载总线与仿真监控芯片连接,仿真监控芯片与系统晶振连接,仿真芯片与用户晶振连接。
具体实施时,对于不同的目标单片机,即使相同类型、不同型号,目标单片机的内核也会有较大的不同。通常在准备阶段,仿真监控芯片就要对现场可编程逻辑芯片FPGA(Field-ProgrammableGateArray)进行配置(Configration)。配置过程将目标单片机的内核和仿真逻辑综合成位图数据写进FPGA配置端口,配置完成后,现场可编程逻辑芯片FPGA就成为一款临时专用的所述目标单片机的仿真芯片。仿真芯片采用Xilinx公式的现场可编程逻辑芯片FPGA,在仿真前,由仿真监控芯片对仿真芯片进行配置,配置成目标单片机的内核,同时具备Bond-out外部仿真逻辑。
所述仿真监控芯片通过ICE控制总线控制仿真芯片的工作状态包括复位、调试运行、全速运行、单步运行或暂停运行。所述仿真芯片能处理的指令宽度在12位到16位之间。此外,仿真芯片在仿真时,能返回所有寄存器以及内部RAM的数据,并可以对部分寄存器或RAM进行改写,实现通常意义下的单片机仿真功能。
仿真器主板上的仿真监控芯片采用了ST公司的ARM(AdvancedRISCMachines)单片机,内嵌的USB2.0模块构建了上位机与仿真监控芯片的高速通信,接受由上位机上运行的仿真软件下达的所有仿真命令和下载任务,仿真监控芯片通过USB(UniversalSerialBus)接口,返回仿真状态和各类仿真数据。对仿真监控芯片的固件更新时,采用ST公司的Dfu(Devicefirmwareupgrade)技术,利用USB通信端口,实施在应用编程IAP(In-ApplicationProgramming)。具体实施方法将视用户选定的目标单片机的类型,选择相应的仿真固件,对所述仿真监控芯片的部分内容重新烧写,以完成对应的仿真固件的更新。
仿真监控芯片通过接受由上位机内仿真软件的命令数据包,将上位机发送过来的按指定协议封装的数据解析成芯片可以识别的命令信号,从而进行相应的命令处理,同时将处理的结果按指定的协议封装,通过USB接口传送到上位机中。仿真监控芯片通过仿真固件,主要完成以下的任务:
1、用户程序下载:由上位机下传用户的目标代码直接下载到SRAM静态存储器中,并确认;
2、配置仿真芯片FPGA:由上位机下传的经事先编译的目标单片机内核,配置到FPGA中,并确认;
3、通过ICE控制总线,控制仿真芯片的工作:复位、调试运行、全速运行、单步运行、暂停运行等;
4、读取内部寄存器、RAM空间、用户程序指针、堆栈内容;
5、修改和回存寄存器和RAM空间;
6设置与清除断点、断点处理;
7、主控芯片和仿真芯片访问用户程序空间的切换;
在具体仿真时,仿真器主板需要与用户目标板连接,用户目标板上未设置单片机,但用户目标板在工作时,需要设置与仿真芯片的目标单片机内核相一致的单片机。为了能让静态存储器的用户目标代码进行执行,仿真器主板的仿真芯片通过端口电路板与用户目标板连接,以使得仿真芯片与用户目标板构成一个完整的电路板,能够完成所需的工作要求。
具体地,仿真芯片通过端口电路板与用户目标板连接,所述端口电路板包括电平转换芯片组、端口芯片以及端口保护电路,端口芯片通过电平转换芯片组与仿真芯片连接,端口芯片通过端口保护电路与用户目标板连接。
本发明实施例中,端口电路板的电平转换芯片组、端口芯片以及端口保护电路均采用现有通用的结构,通过端口电路板能将仿真芯片与用户目标板连接,完成所需的信号传输与处理过程,具体不再赘述。
本发明在仿真器硬件架构不变的情况下,通过更新仿真监控芯片的仿真固件以适合各种不同系列的RISC单片机;通过更新仿真芯片的配置的目标单片机内核,来适合不同型号的RISC单片机,实现了采重构出不同的仿真器。
本发明仿真监控芯片、仿真芯片以及存储器。仿真监控芯片通过USB接口与上位机通信,上位机通过USB接口可方便更新仿真监控芯片内的仿真固件,通过仿真监控芯片,能自动把仿真芯片配置成用户需要的目标单片机,并能将用户代码下载到存储器内,仿真芯片读取存储器内的用户代码并执行代码。仿真监控芯片通过USB接口,随时接收上位机的各项命令,控制仿真芯片的仿真,同时随时向上位机返回仿真器的各种状态。本发明通过更新仿真监控芯片内的仿真固件,配置仿真芯片成为不同单片机的内核,实现通过软件的方法,构造出不同的单片机仿真器。能实现对不同厂家不同系列的RSIC单片机的仿真开发,操作方便。
Claims (8)
1.一种可重构的8位RSIC单片机仿真器,包括仿真器主板,其特征是:所述仿真器主板包括仿真监控芯片、仿真芯片以及存储器;所述仿真监控芯片与仿真芯片以及存储器连接,仿真芯片与存储器连接;仿真监控芯片通过USB接口与上位机通信,上位机检测并能更新仿真监控芯片内的仿真固件,以使得仿真监控芯片内的仿真固件匹配目标单片机系列;仿真监控芯片内的仿真固件匹配目标单片机系列后,能将仿真芯片的内核配置成目标单片机,仿真监控芯片能利用仿真固件控制仿真芯片的工作状态,以重构得到所需的单片机仿真器;
所述仿真监控芯片能将用户代码存储在存储器内,仿真芯片能读取存储器内的用户代码并执行用户代码仿真;仿真监控芯片将仿真芯片对用户代码执行时的仿真状态以及仿真数据通过USB接口返回至上位机内。
2.根据权利要求1所述的可重构的8位RSIC单片机仿真器,其特征是:所述存储器采用SRAM静态存储器。
3.根据权利要求1所述的可重构的8位RSIC单片机仿真器,其特征是:所述仿真芯片采用现场可编程逻辑芯片FPGA,仿真芯片通过ICE控制总线以及配置下载总线与仿真监控芯片连接,仿真监控芯片与系统晶振连接,仿真芯片与用户晶振连接。
4.根据权利要求3所述的可重构的8位RSIC单片机仿真器,其特征是:所述仿真监控芯片通过ICE控制总线控制仿真芯片的工作状态包括复位、调试运行、全速运行、单步运行或暂停运行。
5.根据权利要求1所述的可重构的8位RSIC单片机仿真器,其特征是:所述仿真监控芯片采用ARM,仿真器主板的电源端与用于提供仿真监控芯片、仿真芯片以及存储器工作电压的外部电源连接。
6.根据权利要求1所述的可重构的8位RSIC单片机仿真器,其特征是:所述仿真芯片能处理的指令宽度在12位到16位之间。
7.根据权利要求1所述的可重构的8位RSIC单片机仿真器,其特征是:仿真芯片通过端口电路板与用户目标板连接,所述端口电路板包括电平转换芯片组、端口芯片以及端口保护电路,端口芯片通过电平转换芯片组与仿真芯片连接,端口芯片通过端口保护电路与用户目标板连接。
8.根据权利要求3所述的可重构的8位RSIC单片机仿真器,其特征是:外部电源为输出DC9V的电源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410351303.8A CN104077204B (zh) | 2014-07-22 | 2014-07-22 | 可重构的8位rsic单片机仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410351303.8A CN104077204B (zh) | 2014-07-22 | 2014-07-22 | 可重构的8位rsic单片机仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077204A CN104077204A (zh) | 2014-10-01 |
CN104077204B true CN104077204B (zh) | 2016-01-27 |
Family
ID=51598473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410351303.8A Active CN104077204B (zh) | 2014-07-22 | 2014-07-22 | 可重构的8位rsic单片机仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077204B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022869B (zh) * | 2015-06-30 | 2018-07-20 | 深圳市芯海科技有限公司 | 一种快速可重构的mcu仿真方法 |
CN105204393B (zh) * | 2015-08-13 | 2017-12-26 | 彭增金 | 基于虚核单片机的单片机生产研发工具及其实现方法 |
CN106354598A (zh) * | 2016-10-14 | 2017-01-25 | 无锡中微爱芯电子有限公司 | 一种基于快闪存储器的一次性可编程微控制器调试方法 |
CN107608234A (zh) * | 2017-09-20 | 2018-01-19 | 东南大学 | 一种可重构系统的动态精度仿真控制器及方法 |
CN107577520A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
CN113392025B (zh) * | 2018-03-14 | 2024-01-26 | 上海微小卫星工程中心 | 对可重构fpga软件进行过程监控的方法 |
CN109977023A (zh) * | 2019-04-03 | 2019-07-05 | 北京智芯微电子科技有限公司 | 支持调试权限控制的cpu芯片仿真器 |
CN114385524A (zh) * | 2020-10-20 | 2022-04-22 | 北京梆梆安全科技有限公司 | 嵌入式固件仿真系统及其方法、装置和电子设备 |
CN114492261A (zh) * | 2021-08-10 | 2022-05-13 | 北京芯娴电子科技有限公司 | 一种芯片仿真系统 |
CN113673106B (zh) * | 2021-08-20 | 2024-02-13 | 国网智能电网研究院有限公司 | 一种fpga内核可编程仿真器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613062A (en) * | 1990-01-12 | 1997-03-18 | Tokyo Electron Limited | Logic simulator |
CN102096725A (zh) * | 2009-12-11 | 2011-06-15 | 无锡华润矽科微电子有限公司 | 一种基于fpga的仿真器 |
CN103678751A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真调试系统 |
-
2014
- 2014-07-22 CN CN201410351303.8A patent/CN104077204B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613062A (en) * | 1990-01-12 | 1997-03-18 | Tokyo Electron Limited | Logic simulator |
CN102096725A (zh) * | 2009-12-11 | 2011-06-15 | 无锡华润矽科微电子有限公司 | 一种基于fpga的仿真器 |
CN103678751A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真调试系统 |
Non-Patent Citations (1)
Title |
---|
基于FAPG的单片机仿真器设计;曹健雄等;《中国医疗器械杂志》;20101130;第34卷(第6期);第424-426、441页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104077204A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104077204B (zh) | 可重构的8位rsic单片机仿真器 | |
CN105573800B (zh) | 一种基于zynq的单板或多板系统及在线更新方法 | |
CN101344899B (zh) | 一种片上系统的仿真测试方法及仿真测试系统 | |
US9898388B2 (en) | Non-intrusive software verification | |
WO2017040145A1 (en) | Web-based programming environment for embedded devices | |
CN105204913A (zh) | 一种在Android操作系统上运行Linux应用程序的方法及系统 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
WO2018018978A1 (zh) | 一种通用串行总线控制器验证方法、系统及设备 | |
TW201341811A (zh) | 主機板測試裝置及其轉接模組 | |
CN104679559A (zh) | 单片机在线编程的方法 | |
CN106897090B (zh) | 一种嵌入式设备程序升级方法及系统 | |
CN105320531A (zh) | 一种基于MicroBlaze软核的FPGA软件在线升级方法 | |
CN104698950A (zh) | 一种外围设备控制方法、微控制器、上位机及系统 | |
CN103678194A (zh) | 用于stm32程序isp下载的装置 | |
CN103995939A (zh) | 一种基于arm与fpga的动态可重构嵌入式系统 | |
CN102520961A (zh) | 片外在线可编程的soc系统及其控制方法 | |
US20080126862A1 (en) | System and Method for Testing Software Code for Use on a Target Processor | |
CN112764981B (zh) | 一种协同测试系统及方法 | |
US9477579B2 (en) | Embedded software debug system with partial hardware acceleration | |
CN102043654A (zh) | 一种基于TMS320VC55xx的DSP简易开发方法 | |
US7711535B1 (en) | Simulation of hardware and software | |
CN109426511A (zh) | 软核更新方法和系统 | |
CN103678751B (zh) | 处理器芯片仿真调试系统 | |
CN115495136A (zh) | 一种基于国产飞腾平台的bmc快速在线升级方法 | |
CN102750167A (zh) | 应用程序启动方法、装置和计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |