您的位置:首页 > 其它

Keil MDK编译器下查看占用Flash和SRAM空间大小

2017-07-19 14:49 435 查看
在Keil MDK编译器编译后,信息栏都会显示编译情况,这其中就包含了FLASH跟SRAM的信息。如下图所示,



/*********************************************************************************************/

查看FLASH跟SRAM的占用空间问题主要看下面的语句。

Program Size: Code=29864 RO-data=123592 RW-data=60 ZI-data=3900

/*********************************************************************************************/

其中 要着重注意的是Code、RO-data、RW-data、ZI-data所代表的意思

Code:表示程序所占用 FLASH 的大小( FLASH)。

RO-data:即 Read Only-data, 表示程序定义的常量,如 const 类型( FLASH)。

RW-data:即 Read Write-data, 表示已被初始化的全局变量( SRAM)

ZI-data:即 Zero Init-data, 表示未被初始化的全局变量(SRAM)

/*********************************************************************************************/

那么FLASH和SRAM占用情况的计算方式如下所示:

flash = Code + RO-data + RW-data = 29864 + 123592 + 60 = 153516 bytes

sram = RW-data + ZI-data = 60+ 3900= 3960bytes

还有一个要特别注意的是程序的大小不是.hex文件的大小,而是编译结果的Code+RO-data。

在程序初始化的时候,RW-data会从FLASH中拷贝到RAM中。

/*********************************************************************************************/

PS:

很多东西都是自己网上查阅资料,查到的,最主要的是希望能在总结过程中,理清思路。

/*********************************************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MDK KEIL flash ROM