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