老鸟提示:嵌入式系统设计必须了解的ARM仿真器知识

嵌入式技术

1368人已加入

描述

嵌入式系统设计必须了解的ARM仿真器知识

本文提供了一些关于在线 ARM 仿真器的信息,以及给作为嵌入式系统设计师的你带来的好处。根据你的需要,你将在产品开发中对开发工具作出更恰当的选择。
  一、嵌入式产品的开发周期
  典型的嵌入式微控制器开发项目的第一个阶段是用C编译器从源程序生成目标代码,生成的目标代码将包括物理地址和一些调试信息。目前代码可以用软件模拟器、目标Monitor或在线仿真器来执行和调试。软件模拟器是在PC机或工作站平台上,以其CPU(如x86)及其系统资源来模拟目标CPU(如P51XA),并执行用户的目标代码;而目标Monitor则是将生成的目标代码下载到用户目标板的程序存储器中,并在下载的代码中增加一个Monitor任务软件,用来监视和控制用户目标代码的执行,用户通过目标板上的串行口或其它调试端口,利用桌面计算机来调试程序。
  程序的调试是通过设置断点、使程序在指定的指令位置停止运行来实现的。在程序中止的时候,检查存储器和寄存器的内容,作为发现程序错误的线索。
  程序经过调试、找到所有的错误后,修改源代码,重新编译,以一种标准格式生成目标代码文件,比如Intel HEX。这个目标代码将被存储在最终产品的非挥发存储器,比如EPROM或FLASH中。
  二、为什么需要仿真器
  软件模拟器和目标 Monitor提供了一种经济的调试手段,对于很多设计来说已经足够。但是也有很多场合,需要利用仿真器来找到程序错误。 无论在哪一种场合,仿真器都能够减少调试时间、简化系统集成、增加可靠性、优化测试步骤,从而使其物有所值。更常见的情况是工程师在项目的不同阶段同时使用软件模拟器和仿真器,特别是在大的开发项目中。
  软件模拟器和软件调试器在断点之外只提供了很少的几种功能,比如显示端口内容和代码覆盖。没有检测事件和条件、然后作出反应的手段,也没有办法记录MCU总线周期、然后判断程序的执行究竟发生了什么情况。如果你的MCU有片上EPROM或FLASH存储器,并且运行在单片模式,则只有仿真器才能够对系统进行调试,而不严重占用和消耗MCU资源。
  在线仿真器可以很容易地做到这些事情,并且还能够提供很多其它功能。仿真器是软件和硬件之间的桥梁。在项目进行的某些阶段,你必须让程序在实际的硬件上面运行。仿真器可以很容易地帮助你了解如何在调试阶段充分利用仿真器。
  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分