EMUL51-PC仿真器使用经验
“...8051系列中,Nohau提供最佳的始终如一的实用系统。”
“...我见过的最实用的用户界面之一。”
“...用户界面多方面的适用性使Nohau更为杰出。”
“...嵌入式系统编程最值得提倡使用EMUL51-PC工具。”
Nohau公司的 EMUL51-PC仿真器为全尺寸PC卡式,包括32K或128K字节仿真存储器。还有供选用的4K或16K字节的跟踪板,它也是全尺寸的。这两块卡由一条短的扁平电缆相连接。
Nohau的仿真器在几个重要方面与其它产品有不同之处。因为仿真器为PC机插卡式,所以它与调试软件的通信速率比采用串行方式要快得多。主机总线扩展槽上要插入一块(或二块)板。根据主机硬件配置的差异,特别是类似PS/2串行计算机,用户有不同的选择。对插槽数量不足,或需要将仿真器外挂的用户,可选购外置箱式仿真器。这种外置式仿真器是通过串行口与主机相连接的。更有意义的是,如果你打算以遥控方式调试目标板,那么还可以选购内部带调制解调器的款式,这种类型的仿真器可通过电话线调试远端的目标板。
Nohau十分清楚工程实际中目标板有时常会处于不便于接触到的位置,针对这种情形,专门设计了具有足够长度的电缆线 (可达1.5米长)以便于连接到目标板。连接电缆一端上的外挂插板是一块可插入到目标系统上的小卡,它类似于探头,但这个插卡上由于有一个附加的2英寸长的插座延长器,而不会对目标系统造成任何妨碍。延长器给外挂插卡提供足够的间隙以保证这一点。延长器还可以让你选择用于外挂插卡插入目标系统的针脚数目,一排DIP开关的不同设置可以改变外挂插件的针脚数,使之可以在不同的硬件环境中都能够进行调试。
外挂插板上配有若干个跳线端子,这是为了解决其它硬件调试问题时便于灵活跳线而设。例如,若目标系统上有一个看门狗时钟老是错误地随机插入“Reset”信号,那么就可以跳过外挂插板上的RST线,让仿真器在不受这一时钟干扰的情况下继续工作。
Nohau系统所附带的文件惊人地少。让人称赞之处在于这么少的文件却足以指导用户掌握该系统的操作。文件有一用户速查章节,它使你很容易进入到系统并介绍系统主要特点的概括。接下来的章节详细给出了硬件安装指南,有关段落讨论了不同外挂插板的配置情况。有两个章节讨论了属于调试软件方面的内容,其中一段描述具体指令,另一段提供简短的注释。既然Nohau仿真器有许多特点,注释就应该更详细些,但考虑到用户还可以通过速查段的介绍获得不相重复的信息而如此做的。更详尽的有关跟踪板和性能分析工具方面的讨论对用户而言也很有帮助。
Nohau提供的软件是该系统最具特色的部分。类似美国全自动化系统(American Automation System)。它设想编程人员是以愉快的而不是以象打仗一样的心情去调试系统。软件以打包文档形式记录在软盘 (新的 Seehau软件采用光盘) 上,通过安装程序,所有的文档便可安装在需要的地方。使用时用户必须知道运行该系统的硬件配置情况,Nohau提供用户一系列批文件用于最通常的配置。
仿真器软件是至今我们所见到的最具广泛适用性的指令系统之一。用户使用的指令输入有多种形式可供选用:通过下拉式菜单和光标键、组合键、组合软件包、鼠标、直接键入指令字或采用宏指令自动执行多任务。上述各种输入命令的方式都是彼此间相互独立的,并不会引起混淆。
可根据自己的情况选择最合适的方式。对于愿意键入完整指令字而不愿采用光标点入指令方式的用户将会发现,键入的每一个指令字的字母是上下文有关的,这会令你产生兴趣。当你键入一条命令的每一个字母时,用户界面上将显示出与键入字母相关联的多条命令供你参考选取。例如,若你 键入字母R,则显示屏的下半部会示出诸如RESET, REPEAT, REMOVE, REGISTER等多条命令,当你继续键入字母逐步确定命令时,屏幕上供选择参考的指令数目会不断减少,直至确认到一条指令。
你还可以使用功能键上下滚屏,以显示出先前键入的或使用鼠标选入的指令字, 有几个子窗口可设置在屏幕的任何位置,并可按需要缩、放或移动。对于它们的操作可以通过鼠标单点或顺序击键来实现。
总共约有120屏数量的帮助信息,这些信息可以在线获得而不必滚动整个帮助信息文本来查找。
{{分页}}
调试软件共有95条命令,这个命令集所达到的控制程度令人吃惊。有些命令看起来似乎是多余的, 但在某些特定情况下, 余性就意味着可塑性。例如,你可以直接汇编单条指令或者多条指令,汇编单条或汇编多条的命令形式完全可以合并成一条,但Nohau还是选择采用两条不同的命令来区别汇编单条指令或者多条指令。EMUL51-PC拥有的命令集几乎可以做任何你能够想象到的事,包括修改或观察存储器、寄存器、端口、断点、跟踪点、中断、汇编、反汇编、单步执行、运行、跟踪、监视符号、代码、改变基数、实施校验和等。一条高级IF语句可以写复杂的宏,采用宏来进行断点控制和程序执行。
在所有更强的功能中,断点和跟踪最具特色。断点工具有非常好的适用性。在断点发生处可以定义一系列的操作动作,此外,还可以在需设断点处规定指令的某些类型。 例如,你能够指定所有可位寻址的指令都须带断点。当有这种要求时,调试程序会遍布整个存储器空间搜寻出每一条可作用位寻址区域单个比特位的指令码(如CPL或SETB等),并在这些指令上设置断点。你还可以在许多不同地址段的指令、改变寄存器内容的指令、写外部地址的指令、读外部地址的指令上设置断点。
所指定的地址区域可以很宽。换言之,你能够在以0000为前四位比特而其余比特位可为任意0或1的整个地址范围内设置断点。执行是连续进行的直至遇到一系列断点,随之SY0信号低、高变化或不变。若需要的话,仿真器的运行还可以慢下来并显示寄存器的内容。
高级语言代码窗口能够命令你通过一个人机交互视窗观察到运行中的代码,当使用工程C51编译器时,你不仅可以通过滚屏观察到C源代码,还可以监视C堆栈中变量的变化。此外,如果你使用C语言,可用一条单独的命令在每一C代码行设置断点,很方便地设定高级断点。本系统包括多达10个这样的标准断点,每一断点实际上就是一组设定条件,它们比一般的代码断点的功能更强。
跟踪工具的功能也十分强大,尤其是带16K字节存储能力的跟踪板,它的跟踪能力是其它最具竞争力产品的2倍。对于一般应用,4K字节的跟踪板就足够了,但是若需要扩充跟踪能力,16K字节深度的跟踪板能够满足你的这种需求。跟踪板的工作原理非常类似Huntsville提供的跟踪工具。你可以定义在跟踪之前必定发生的事情。Nohau提供的跟踪信息的结构为48位比特,相应地Hantsville的宽度为88位,但48位的宽度足够了。在建立事件的机理方面Nohau略优于和方便于Huntsville的同类产品。二者之间的主要区别在于Huntsville对某些特殊比特的抽取要多些。
Nohau建立的显示屏幕易于整个数据输入操作,用户通过随机文档可获取有关数据输入过程的详细介绍和不同事件用作跟踪不同情况的描述。48比特长的跟踪数据结构包括:16比特的地址,8位综合事件比特(Valid Fetch, Write/Read to /from external memory, and syom sy1, INT0...INT2),端口Port1的8位比特,端口Port3的6位比特和其它2位外部比特E0和E1。若不需要跟踪Port1和Port3端口的比特位,通过调整外挂插块上的跳线端子,还可以获得另外18位外部跟踪输入。循环计数还可以与跟踪点和断点联系上。
当跟踪板与本系统一起工作时,就可以使用性能分析工具。这个标准的性能分析系统允许采样多达12个数据点,一个条图将显示出所采样的数据。象美国全自动化性能分析工具一样,Nohau的计数部分设计得非常好,很容易使用。Nohau系统确实易于操作,因为12个采样点的数据是自动地分配到存储器中相等的区域的。
调试软件与高级语言一起工作也表现出良好的性能。它非常适合与Nohau最优选择的工程C语言编译器一起工作。调试命令系统划分存储器区域,并给这些区域定义不同的助记符;还允许使用和检测C符号、观察C变量等。同时使用代码子窗口时,调试软件还会提供显示C源代码和相应汇编代码的视窗,使用鼠标会给上下滚屏显示指令和源代码带来方便。
依据配置,软件还提供改变仿真器存储映象的功能。若有需要,外挂插板还可从目标系统获得电源和晶振输入而不需自带。软件系统还可以保留显示屏幕的配置信息,包括屏幕的显示位置,各独立窗口的存在,并允许你返回到你离开时的对话交互环境。存储器和跟踪缓存中的数据还可以保存到磁盘中。
Nohau系统在它这样的价格上($1790~$4500)可称得上是功能强大的集成系统。很强的适用性是它最显著的特点。全套配齐,EMUL51-PC的价格也低于某些同类系统的基本价格。花5000多美元你就可以获得一个功能很全的系统,它支持微处理器系列中16MHz芯片、有16K字节跟踪深度和一些最具适用性的软件。
评论