Keil-MDK查看代码量,RAM时候用情况Code;RO-data;RW-data;ZI-data的分析

在使用Keil编译程序时,最后的编译结果会有如下的显示:

linking...
Program Size: Code=19020 RO-data=888 RW-data=244 ZI-data=10564  
这个里面

Code--代码占用空间.

RO-data--Read Only只读常量的大小,如const型。

RW-data是Read Write初始化的可读写变量的大小。

ZI-data是Zero Initialize没有初始化的可读写变量的大小,ZI-data不会被算做代码里,因为不会被初始化。

我们可以在编译生成的.map文件中的最后查看具体的内容,举例如下:

==============================================================================


      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

     19020       2282        888        244      10564     492279   Grand Totals
     19020       2282        888        244      10564     492279   ELF Image Totals
     19020       2282        888        244          0          0   ROM Totals

==============================================================================

    Total RO  Size (Code + RO Data)                19908 (  19.44kB)
    Total RW  Size (RW Data + ZI Data)             10808 (  10.55kB)
    Total ROM Size (Code + RO Data + RW Data)      20152 (  19.68kB)

==============================================================================
ROM Size就是烧写的时候FLASH中被占用的空间,而RW Size就是程序运行时,芯片内部RAM所需要的空间。在本例中,说明

该程序需要占用flash的大小为:19020(Code)+888(RO)+244(RW-data) = 20152 Byte = 19.679Kb

           运行占用的RAM大小为:244(RW-data)+10564(ZI-data) =10808 Byte = 10.55Kb

你可能感兴趣的:(嵌入式)