新手入门必备:ARM仿真器是干啥用的?

2019-05-20 18:13 浏览 7497人

许多刚入门嵌入式的同学可能会遇到新型色色的概念,比如仿真、断点、ARM等诸如此类的,要是不了解,只听这些概念,让我们头昏脑涨的同时,永远入不了嵌入式的门,所以我们要住一了解这些名词的定义、场景等方面,真正提升自己的嵌入式开发能力。今天,小编就来介绍一下ARM仿真器。

 

1.嵌入式开发流程

 

一般嵌入式开发项目的第一个阶段是用C编译器从源程序生成目标代码,生成的目标代码将包括物理地址和一些调试信息。

 

目前代码可以用软件模拟器、目标Monitor或在线仿真器来执行和调试。

 

软件模拟器是在PC机或工作站平台上,以其CPU(x86)及其系统资源来模拟目标CPU(P51XA),并执行用户的目标代码;

 

而目标Monitor则是将生成的目标代码下载到用户目标板的程序存储器中,并在下载的代码中增加一个Monitor任务软件,用来监视和控制用户目标代码的执行,用户通过目标板上的串行口或其它调试端口,利用桌面计算机来调试程序。

 

程序的调试是通过设置断点、使程序在指定的指令位置停止运行来实现的。在程序中止的时候,检查存储器和寄存器的内容,作为发现程序错误的线索。

 

程序经过调试、找到所有的错误后,修改源代码,重新编译,以一种标准格式生成目标代码文件,比如Intel HEX。这个目标代码将被存储在最终产品的非挥发存储器,比如EPROMFLASH中。

 

2.仿真器是什么?

 

仿真器可以替代你的目标系统中的MCU,仿真其运行。 它运行起来和实际的目标处理器一样,但是增加了其它功能,使你能够通过桌面计算机或其它调试界面来观察MCU中的程序和数据,并控制MCU的运行。它是调试嵌入式软件的一个经济、有效的手段。

 

3.仿真器的优点

 

仿真器具有软件模拟器和目标Monitor的所有功能,以及下优点:

 

不使用目标系统或CPU资源;硬件断点;跟踪功能(TRACE);条件触发;实时显示存储器和I/O口内容;硬件性能分析;

 

总得来讲,ARM仿真器就是以一种极其经济的方式仿真实际MCU的运行、调试,以降低开发成本,提升嵌入式开发的效率。