通过上一节的学习,我们已经了解了SRAM静态存储器;
1. 在RAM中调试代码
一般情况下,我们在MDK中编写工程应用后,调试时都是把程序下载到芯片内部FLASH运行测试的,代码的CODE及RW-data的内容被写入到内部FLASH中存储。但是某些应用场合下却不希望或者不能修改内部FLASH的内容,这时就可以使用RAM调试功能,它的本质是把原来存储在内部FLASH的代码(CODE及RW-data的内容)改为存储到SRAM中(内部SRAM或者外部SDRAM均可),芯片复位后从SRAM中加载代码并运行。
在RAM中调试程序有以下的优势:
我们通常都是使用 MDK 的 Build 和 DownLoad 来下载程序到 Flash,但是通过这种方式下载到 FLASH 中是有擦除和写入的过程,当代码比较长时,这种方式是比较费时间的。
写入到 RAM 存储器中,下载速度比内部 FLASH 要快的多,而且没有擦除过程,因此在 RAM 中调试程序时程序几乎是秒下的,对于那些大型程序,并且需要频繁更改的程序,能节省很多时间。并且通过 RAM 不会改写内部 FLASH 的原有程序。对于内部 FLASH 被锁定的芯片,可以把解锁程序下载到 RAM 上,进行解锁。
在RAM中调试程序最大的缺点是:
RAM中存储程序会掉电丢失。不能像FLASH那样保存。
RAM中存储空间比较小,不像FLASH那样存储空间比较大。
|