EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——浅谈IAR环境下Flash调试和RAM调试的区别 其实关于Flash调试和RAM调试的概念,我也是从调试Kinetis的时候才开始接触,最初只是随便用用,没有深究,之后用的多了才开始深入研究两者之间的区别,发现里面大有文章可作,翻看了网上的一些资料,大多是授人以鱼的文章,所以觉着有必要在这里谈谈自己的一点看法,做个笔记: 4 L! J) o/ ]- r/ {
( z+ z! t- ^' |+ F2 I- ?
上图为在IAR环境下的Flash调试界面和RAM调试界面
5 W! _# Q7 v& w# H 首先说说什么是Flash调试和RAM调试,Flash调试就是通常意义下的普通调试,即将编译链接之后的code下载到单片机的ROM区,数据放到RAM区,然后进行调试;而RAM调试则是将数据放到RAM区的同时再从RAM区中额外开辟出一段空间存放可执行code,这样就是code和数据同时运行在RAM区里面。
' c4 H; h @0 E) H3 A" X 至于为什么要刻意区分出这两种调试方式,其实在低端mcu领域是没有RAM调试这个概念的,其中很大一部分原因是它没有足够大的RAM空间在存放编译后code代码的同时仍然可以拿出额外的空间作为数据RAM的,而在高端MCU领域中,比如ARM,动辄几十KB的RAM是很常见的,在不运行超大工程的情况下是完全可以拿出一部分空间运行代码的,所以也就出现了RAM调试这种方法了。
4 ?' |* i( u/ B2 g* [, r* Y 6 V. y3 i( A5 U. P, ?- ^
& b' Q3 D/ b' Q
|