keil编译后Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588

Posted GXTon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil编译后Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588相关的知识,希望对你有一定的参考价值。

Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588  

Code      :   程序中代码所占字节大小

RO-data :   Read-only-data  ,存储在flash中的常量大小。

RW-data:   Read-write-data  ,存储在flash中初始化的变量。

ZI-data   :   Zero-Init-data      ,存储在SRAM中未初始化的变量。

 

ROM(Flash) size = Code+RO-data+RW-data;

RAM size = RW-data+ZI-data

可以通过.map查看占用的flash和ram大小

简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+RO Data+RW Data

程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data

 

摘自:https://blog.csdn.net/yuleicqut/article/details/50933441

存储Size:

RO size: Code + RO_data

RW size: RW_data + ZI_data

ROM (minimum)size = Code + RO_data + RW_data (即烧/下载程序到FLASH/ROM时,所占用的最小空间)

Total ROM Size (Code + RO Data + RW Data)这样所写的程序占用的ROM的字节总数,也就是说程序所下载到ROM flash 中的大小。为什么Rom中还要存RW,因为掉电后RAM中所有数据都丢失了,每次上电RAM中的数据是被重新赋值的,每次这些固定的值就是存储在Rom中的,为什么不包含ZI段呢,是因为ZI数据都是0,没必要包含,只要程序运行之前将ZI数据所在的区域一律清零即可。包含进去反而浪费存储空间。

RAM size: RW Data + ZI Data (即程序运行的时,RAM使用的空间)

 

 

 

 

 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

以上是关于keil编译后Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588的主要内容,如果未能解决你的问题,请参考以下文章

MDK中编译程序后Program Size详解

keil编译成功如何显示

Keil中编译后程序占用分析

KEIL上怎么看程序大小?请问高手,我编译好文件后,怎么不能看到编译好文件的大小,比如code= //如------

Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片FlashSRAM的对应关系

MDK for ARM (keil) 编译后的信息