您的位置 首页 培训

单片机仿真器的原理介绍

一个理想的单片机仿真器使开发者能观察到单片机内部的操作,仿真器是使替代单片机并使单片机操作可视化的硬件工具。一个ICE应包括两个接…

一个抱负的单片机仿真器使开发者能调查到单片机内部的操作,仿真器是使代替单片机并使单片机操作可视化的硬件东西。
一个ICE应包含两个接口,一个是连接到方针板上的MCU插座,另一个与PC相连。仿真器应该与方针MCU在电气及物理上等价,并能在开发体系中代替MCU。方针体系的操作可由PC得以操控及调查。在开发初期,开发体系依托仿真器作业,当方针功用完善后,仿真器将被真实的MCU替代。

ICE的功用及特性:
在主机与方针体系间发生对应的程序区,host memory作为仿真程序区(emulator memory)或Shadow memory
脱离方针硬件实时测验代码
单步(Step),全速(Run),从特定的状况运转到特定的状况或到断点(BreakPoint)。这通常指特定的地址,但也可所以特定的触发条件。
修正MCU Register值
在线修正Memory内容
实时盯梢记载已履行的程序(Trace)

ICE规划中的难点及局限性:
ICE功用的完结需要与MCU的data bus,address bus,control bus相连,而实践芯片三总线往往不连外部引脚
电气上:ICE的驱动才能及时序需要与MCU完全相同,而ICE的外加电缆及电路必将下降负载才能及改动时序特性,引起一些方针体系在极限状况下与ICE联调往往会失利。
一个常见的现象是一个体系用ICE调试完结终究用实践MCU替代ICE可确保运转,但若硬件开发过程中未用ICE,为了调试软件问题在半途运用了ICE,往往会在时序及负载上出现问题。
抱负的是所以的引脚的所以功用与MCU相同,而实践上不少低端仿真器占用了一个中止资源以操控监控程序的运转

运用ICE的首要长处在于:
软件规划及实时测验可先于实践硬件完结
供应了修正,显现memory及register的功用,供应了体系的开发功率

bond-out
MCU是芯片规划公司为完结其商用MCU的仿真功用,将内部的数据,地址及操控总线连接到芯片封装的管脚上,使得外部仿真逻辑能够监督和操控MCU内部的状况。一个ICE的质量很大程度上依赖于它与其要仿真的MCU之间的符合程度,bond-out
MCU能最大程度上供应ICE与商用MCU的无差别替换。

依据bond-out MCU的在线仿真器的结构
见图1。体系包含三部分,bond-out MCU,存贮用户程序的SRAM及仿真监控电路。bond-out
MCU的数据,地址总线连接到SRAM,作为外部程序储存器。一起数据,地址及操控总线连接到仿真监控电路,使ICE能够监督和操控bond-out
MCU的运转状况。与PC相连的通讯接口依据速度及本钱可选用串口,并口或USB接口。bond-out
MCU从本质上将是商用MCU的一种扩展,它包含一切商用MCU上的I/O并供应给用户运用,其电气与时序上应确保与商用MCU对应管脚完全一致。

在线仿真器基本功用的完结
单步(Step),全速(Run)
仿真监控电路将A/D总线的操控权交给bond-out MCU,bond-out
MCU先给出指令地址,再使能SRAM读信号,得到程序代码,顺次解码并履行。

断点(BreakPoint)
见图2。断点电路由存贮断点方位的SRAM和断点监控电路组成。存贮断点方位的SRAM与存贮用户程序的SRAM的地址总线并接,SRAM的某个数据位作为断点信息存贮位,在下载用户程序的一起将设置有断点的地址上该方位为1,其他为0。当仿真器在全速运转时,该SRAM设为读状况,断点判别电路监控此数据位,当其为高时中止仿真器全速运转。

盯梢记载已履行的程序(Trace)
见图3。Trace电路由存贮Trace内容的SRAM和Trace监控电路组成。Trace SRAM的数据总线与bond-out
MCU地址总线并接,Trace SRAM的地址操控信号由Trace监控电路发生。在仿真器初始化时Trace
SRAM的地址被设置为0,当用户要求开端记载已履行的程序,在每个指令周期中,Trace SRAM的地址自加一并将bond-out
MCU地址写入SRAM中。在PC要读取Trace内容时,bond-out
MCU顺次履行过的程序地址被上载到PC端并对应列出该地址上的指令代码。Trace
的记载长度受SRAM巨细约束,当超出记载长度时前面的数据会被掩盖。

读取修正Register/Memory
使bond-out
MCU将Register/Memory的值从数据总线上输出,例如要读取20H地址上的值,仿真监控电路获得总线操控权,首要履行一条指令使20H地址上的值送入A,再将A写到数据总线上,仿真监控电路就能读到20H地址上的值。修正Register/Memory的办法,例如要改20H地址上的值,仿真监控电路送出该值,操控bond-out
MCU履行读取数据总线到A的指令,再履即将A送人20H地址的指令。

期望对大家用仿真器有协助,还望各位评论和纠正。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/268142.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部