EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——浅谈IAR环境下Flash调试和RAM调试的区别 其实关于Flash调试和RAM调试的概念,我也是从调试Kinetis的时候才开始接触,最初只是随便用用,没有深究,之后用的多了才开始深入研究两者之间的区别,发现里面大有文章可作,翻看了网上的一些资料,大多是授人以鱼的文章,所以觉着有必要在这里谈谈自己的一点看法,做个笔记:
- J3 U7 F" V% X) M
+ q# B( A5 Y: l. D2 V 上图为在IAR环境下的Flash调试界面和RAM调试界面
; y& T; j g) Y5 j9 E 首先说说什么是Flash调试和RAM调试,Flash调试就是通常意义下的普通调试,即将编译链接之后的code下载到单片机的ROM区,数据放到RAM区,然后进行调试;而RAM调试则是将数据放到RAM区的同时再从RAM区中额外开辟出一段空间存放可执行code,这样就是code和数据同时运行在RAM区里面。 + s- l8 `( U0 l7 x9 Q' i
至于为什么要刻意区分出这两种调试方式,其实在低端mcu领域是没有RAM调试这个概念的,其中很大一部分原因是它没有足够大的RAM空间在存放编译后code代码的同时仍然可以拿出额外的空间作为数据RAM的,而在高端MCU领域中,比如ARM,动辄几十KB的RAM是很常见的,在不运行超大工程的情况下是完全可以拿出一部分空间运行代码的,所以也就出现了RAM调试这种方法了。
& f" ] Q. m! A, `
( V, s7 U* m5 i, R: @9 C- D# B2 X N5 }- V$ q5 F
|