一、嵌入式产品的开发周期
典型的嵌入式微操控器开发项目的第一个阶段是用C编译器从源程序生成方针代码,生成的方针代码将包含物理地址和一些调试信息。现在代码可以用软件模仿器、方针Monitor或在线仿真器来履行和调试。软件模仿器是在PC机或作业站平台上,以其CPU(如x86)及其体系资源来模仿方针CPU(如P51XA),并履行用户的方针代码;而方针Monitor则是将生成的方针代码下载到用户方针板的程序存储器中,并在下载的代码中添加一个Monitor使命软件,用来监督和操控用户方针代码的履行,用户经过方针板上的串行口或其它调试端口,运用桌面计算机来调试程序。
程序的调试是经过设置断点、使程序在指定的指令方位间断运转来完结的。在程序间断的时分,查看存储器和寄存器的内容,作为发现程序过错的头绪。
程序经过调试、找到一切的过错后,修正源代码,从头编译,以一种规范格局生成方针代码文件,比方Intel HEX。这个方针代码将被存储在终究产品的非蒸发存储器,比方EPROM或FLASH中。
二、为什么需求仿真器
软件模仿器和方针 Monitor供给了一种经济的调试手法,关于许多规划来说现已满足。可是也有许多场合,需求运用仿真器来找到程序过错。 不管在哪一种场合,仿真器都可以削减调试时刻、简化体系集成、添加可靠性、优化测验过程,然后使其物有所值。更常见的状况是工程师在项目的不同阶段一起运用软件模仿器和仿真器,特别是在大的开发项目中。
软件模仿器和软件调试器在断点之外只供给了很少的几种功用,比方显现端口内容和代码掩盖。没有检测作业和条件、然后作出反应的手法,也没有办法记载MCU的总线周期、然后判别程序的履行终究产生了什么状况。假如你的MCU有片上EPROM或FLASH存储器,并且运转在单片方法,则只要仿真器才干够对体系进行调试,而不严峻占用和耗费MCU资源。
在线仿真器可以很简单地做到这些作业,并且还可以供给许多其它功用。仿真器是软件和硬件之间的桥梁。在项目进行的某些阶段,你有必要让程序在实践的硬件上面运转。仿真器可以很简单地协助你了解如安在调试阶段充分运用仿真器。
三、仿真器终究是什么
仿真器可以代替你的方针体系中的MCU,仿真其运转。 仿真器运转起来和实践的方针处理器相同,可是添加了其它功用,使你可以经过桌面计算机或其它调试界面来调查MCU中的程序和数据,并操控MCU的运转。仿真器是调试嵌入式软件的一个经济、有用的手法。Nohau的EMUL51XA-PC仿真器系列用来调试Philips P51XA系列MCU,而EMUL51-PC系列仿真器则支撑许多厂家的8051系列单片机。
四、内部和外部方法
内部方法是指程序和数据坐落MCU芯片内部,以FLASH或EPROM的方法存在,地址和数据总线关于用户并不行见,由此节省下来的芯片引脚作为I/O口供给给用户。内部方法也称单片方法,一切的程序履行都产生在内部ROM中。为了有用地仿真这种芯片,要求仿真器运用bondout或增强型Hooks芯片。
外部方法是当程序存储器,或许还有部分数据存储器,坐落MCU外部的状况,需求有地址和数据总线来拜访这部分存储器。外部方法也称扩展方法,用户芯片、bondout芯片和增强型hooks芯片都可以产生这种作业方法,这种状况下芯片的地址和数据总线引脚不能作为通用I/O口运用。Nohau的仿真器运用这三种芯片来完结有用的程序调试。
五、Bondout、增强型Hooks芯片和规范产品芯片
这些名词是指仿真器所运用的、用来代替方针MCU的三种仿真处理器。只要Bondout和增强型Hooks芯片可以完结单片调试,规范产品芯片不能。和规范产品芯片比较,bondout芯片有一些添加的引脚,衔接到芯片内部硅片的电路节点上,一切又称“超脚芯片”。P51XA系列单片机仿真器都运用bondout芯片,EMUL51XA-PC便是很好的比方。
增强型Hooks芯片运用各种芯片引脚上面没有的机器周期来供给地址和数据总线,一些80C51系列仿真器便是运用增强型Hooks芯片。风趣的是,这些增强型Hooks芯片中的一些也是规范的产品芯片。运用增强型Hooks芯片作为仿真CPU需求一些额定的特别功用电路来从复用的芯片引脚中,分解出地址和数据总线以及一些有必要的操控信号,用户的方针板没有这些电路,一切仍然是单片作业方法。选用bondout芯片和增强型Hooks芯片可以完结极为准确的仿真,从功用一直到芯片的功耗。
六、使硬件作业起来
软件模仿器是很好的,可是它不能考虑进一切的改变要素。软件模仿器规划师有必要考虑到每一件作业,特别是那些只要在硬件搭起来今后才会呈现的要素,比方电容、守时、电感、芯片版别等,跟着 CPU速度的添加,这些变得越来越重要。
方针Monitor比较之下要好得多,由于它是在实践硬件中运转的。可是为了使Monitor程序可以运转起来,方针体系有必要是一个完好的、可以作业的体系。选用仿真器后就不是这样,仿真器在方针体系硬件不完好、或者是一点硬件都没有的状况下都可以运转。可是方针Monitor可以装置在终究产品的程序中,随时都可以激活,用来进行调试,所以这关于测验和保护来说仍是有必定优势的。
七、仿真器的长处
仿真器具有软件模仿器和方针Monitor的一切功用,加上下面一些长处:
1.不运用方针体系或CPU资源
方针Monitor内核一般需求10K的ROM和10~20字节的RAM以及一个闲暇的通讯端口。一个好的仿真器不会运用上面任何一项。仿真器关于方针体系应当是不行见的,也便是所谓的“全透明仿真”。
2.硬件断点
软件断点的完结是经过在用户方针代码中刺进2字节的TRAP(陷井)指令,将正常的程序流偏转到调试器上。假如程序计数器可巧落到第二个字节上,程序就会溃散。 Nohau仿真器的硬件断点功用运用比较器,将体系总线状况与预先设定的锁存器内容比较较,用以监测关于指定地址的拜访,而不修正任何程序存储器内容。区域断点需求运用硬件断点来完结,可是软件断点仍然是很便利、有用的,所以Nohau的仿真器两种断点功用都供给。
当用户的方针程序存放在ROM中时,软件断点是不能用的,由于无法刺进TRAP指令。关于ROM程序存储器体系,只能运用硬件断点。
3.盯梢功用(TRACE)
盯梢功用以时刻为头绪记载一切的处理器机器周期、以及可选的外部信号电平。盯梢功用可以记载一切的取指操作,并且在选用流水线并行处理方法的单片机中,如P51XA,区分在流水线中被撤销的指令以及那些成功地履行的指令。盯梢的开端经过条件触发来完结,这样可以完结过滤功用,也便是只要感兴趣的指令周期被记载下来,其他的被放弃。软件模仿器和方针Monitor没有盯梢存储器,也不能完结Trace功用。
4.条件触发
条件触发是十分强壮、便于运用的功用,它使你可以在某些作业产生时,进行某个预先设定的举动,触发条件可以包含地址、数据、时钟周期和外部信号,这些条件可以触发一个断点、发动/间断盯梢记载、记载一个时刻符号、以及许多其它由仿真器功用所决议的举动。这种强壮的东西只要在仿真器中才干完结。Nohau仿真器的条件触发功用和盯梢功用有机地结合在一起,具有三级时刻触发,第一流触发具有计数功用。
5.实时显现存储器和I/O口内容
运用仿真器后,可以实时地调查存储器和I/O口的内容,而不仅仅是软件模仿。你可以将自己特别喜爱的外设芯片衔接到Nohau仿真器特性板的下部,然后在调试界面中拜访它。假如你了解外设的一切细节,那么可以十分准确地进行体系模仿。
在许多状况下咱们或许现已发现,好象只要在接入实践的硬件体系后某些问题才开端呈现。选用仿真器可以使你从一开端就进入这一阶段,然后及早地发现问题、更快地完结调试使命。
由于仿真器内部自带的RAM可以和方针体系中的ROM相互代替,所以你在ROM方针体系中也可以简易地进行程序代码和数据的调试和修正。
相同,当方针体系中还没有装上存储器时,你可以运用仿真器中的仿真存储器对体系进行调试。仿真存储器的巨细、分辨率和映象地址可以由用户挑选。
6.硬件功能剖析
软件模仿器和方针Monitor只能模仿体系运转,然后进行功能剖析,可是它们现已做得不错了;而仿真器则更进一步,在实践硬件上面进行功能剖析,这样就添加了精度。并且,运用实践的硬件可以发现在软件模仿中无法发现的过错。虚伪中止以及其它一些毛病或许会出人意料地耗费CPU资源,导致严峻的功能问题,并且很难发现。运用仿真器的功能剖析,这些问题很简单露出。
7.将仿真器和方针体系相衔接
仿真器和方针体系的衔接很简单。大多数问题都被仿真器公司及其署理处理了。衔接需求两个过程:
首要,需求挑选恰当的适配器衔接办法,最好选用焊接和插座方法。P51XA系列单片机仿真器支撑PLCC插座和外表装置两种方针衔接方法。夹接适配器价格较高并且不