EDN China > 技术文章 > 可编程器件 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

ARM仿真器与嵌入式系统设计讲解

/?? 2013年06月20日 ?? 收藏3
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统, 但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。

所谓ARM仿真器,即用于调试基于ARM内核芯片的一个硬件模块。ARM内核包括ARM7,ARM9,ARM11,Cortex-A,Cortex-M,Cortex-R等系列,而基于这些内核的芯片则更多了。那么这些仿真器选择有一个原则,用于低端嵌入式微控制器的话,用ULINK2,ULINKPpro即可,可以调试Cortex-M,Cortex-R芯片。用于高端的应用处理器ARM9,ARM11,Cortex-A的话,就需要用到DSTREAM仿真器了。

一、嵌入式产品的开发周期

典型的嵌入式微控制器开发项目的第一个阶段是用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可以安装在最终产品的程序中,随时都可以激活,用来进行调试,所以这对于测试和维护来说还是有一定优势的。

分页导航

第1页:仿真器介绍及工作模式

第2页:仿真器的优点



上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈