单片机仿真器的问题

(1)程序下载时,是不是把程序下载到仿真器的RAM中,所以,单片机利用仿真器可以随时调试?(2)那么在下载程序的时候,程序是不是会不会也下载到单片机中呢?如果下载到单片机中,那么对单片机的ROM 擦除就不是很方便了,那仿真器还有什么用?(3)是不是我有仿真器的话,在调试的时候就不用烧录器了?为什么。(4)我用仿真器来进行调试的时候,单片机内部有没有工作?
先谢谢各位了。

1.ARM就是这样的,比如常见的STM32、ARM9或者11,甚至是一些能在RAM中跑程序的DSP,下载到RAM的好处是速度快,方便修改。并且要知道ROM是有擦除次数限制的,如果每次仿真时把程序写入ROM,仿真一次就擦除一次,那ROM可经不起折腾。当然现在ROM都经得起1百万次擦除,仿真用掉几十次又怎么样呢?

2.举个例子说,C8051F单片机就是这样,这个单片机不能在RAM运行程序,所以每次仿真时都是先擦除ROM再写入新的程序,所以这时仿真器也充当了编程器的作用。

3.现在的单片机都不需要烧录器,仿真器能仿真,也能烧如程序,比如C8051F020,或者现在流行的MSP430、STM32等等。以前的单片机(比如AT89C52、W78C58等)仿真是一回事,烧录是另外一回事。

4.不工作,那还能仿真吗?我们使用仿真功能是让单片机运行起来,然后找个时刻让单片机暂时运行,就能读取单片机中的状态,比如RAM中的数据情况、寄存器的标志位等,这样检查我们设计程序是否符合预期要求。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-22
一般仿真器也是要做擦除芯片内程序存储区并写入新程序的,一般调试是通过专用的一部分电路去直接访问芯片的存储器,并可以发送某些指令去修改数据或控制程序流程。烧录器只是将ROM擦除并写入新数据,不能调试。调试工作对于一个工程的开发至关重要,方便的调试方法可以大大减少开发周期,所以用仿真器进行在线调试其优越性要远远高于只有一个烧写器。追问

咱们一般都说仿真器是用来调试的,我想问一下:(1)那仿真器调试的时候单片机里面烧进程序了没有?要是进去了,这算不算对单片机进行烧录成功?那每当仿真器修改程序再调试的时候是不是也会修改单片机里的程序,那这样的话还用仿真器干什么?直接用烧录器来回的往单片机里面烧程序就可以。(2)如果没有往单片机里面写进程序,那还要单片机干什么?
万分感谢!

追答

一般都是烧进去的..调试的时候是不改变内部程序的..调试一般是指读取和修改内部数据存储器的数据而不修改是程序存储区..对程序的控制主要是控制的程序的执行顺序,比如你可以在调试的时候设置断点或者直接跳到某段程序执行,但是没有修改内部的程序

第2个回答  2012-08-25
你来赚经验,我也是
第3个回答  2012-08-25
我来赚经验
相似回答