Keil MDK编译器下查看占用Flash和SRAM空间大小
2017-07-19 14:49
435 查看
在Keil MDK编译器编译后,信息栏都会显示编译情况,这其中就包含了FLASH跟SRAM的信息。如下图所示,
![](https://img-blog.csdn.net/20170719145754327?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSm9obm55VGlt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
/*********************************************************************************************/
查看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:
很多东西都是自己网上查阅资料,查到的,最主要的是希望能在总结过程中,理清思路。
/*********************************************************************************************/
/*********************************************************************************************/
查看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:
很多东西都是自己网上查阅资料,查到的,最主要的是希望能在总结过程中,理清思路。
/*********************************************************************************************/
相关文章推荐
- Keil和IAR下查看占用Flash和SRAM空间大小的方法
- MySQL数据库查看数据表占用空间大小和记录数的方法
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看MSSQL 数据库 用户每个表 占用的空间大小
- MySQL查看表占用空间大小 [转]
- liunx下查看一层目录的占用空间大小
- 【转】Linux命令之查看文件占用空间大小-du,df
- 查看MSSQL数据库每个表占用的空间大小
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- MySQL查看数据库、表的占用空间大小
- 快速查看SQL Server 中各表的数据量以及占用空间大小
- linux/aix怎么用命令查看某个目录下子目录占用空间的大小?
- linux下使用 du查看某个文件或目录占用磁盘空间的大小方法
- 查看MS SQL Server数据库每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- mysql查看数据库和表的占用空间大小
- linux如何查看系统占用磁盘空间最大的文件及让文件按大小排序
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- MySQL查看数据库、表的占用空间大小