==============================================================================
Total RO Size (Code + RO Data) 199544 ( 194.87kB)
Total RW Size (RW Data + ZI Data) 72136 ( 70.45kB)
Total ROM Size (Code + RO Data + RW Data) 201584 ( 196.86kB)
==============================================================================
烧录版本大小:ROM Size (Code + RO Data + RW Data) 201584 ( 196.86kB)
其中:Code :代码段,存放程序的代码部分;
RO Data:只读数据段,存放程序中定义的常量;
RW Data:读写数据段,存放初始化为非 0 值的全局变量;
不包括ZI Data。
ZI Data 是指那些在编译时被声明但未显式初始化的全局或静态变量(未被初始化的全局变量、全局静态变量和函数内部定义的静态变量)。这些未初始化的变量会被自动初始化为零。
也就是一个版本的大小是代码+常量+初始化非0的全局变量,这三部分组成。不包括初始化为0的全局变量。
/* Constant data goes into FLASH 常量数据放置FLASH中---from .ld链接脚本文件*/
.rodata :
{
. = ALIGN(4);
*(.rodata) /* .rodata sections (constants, strings, etc.) 常量、字符串等*/
*(.rodata*) /* .rodata* sections (constants, strings, etc.) 常量、字符串等*/
. = ALIGN(4);
} >FLASH
通常,局部变量会被放置在 栈(stack)。
.text:存放程序的可执行代码。 即Code :代码段
.rodata:存放只读数据,如常量字符串、const 变量等。RO Data:只读数据段
.data:存放已初始化的全局和静态变量(非 const)。RW Data:读写数据段;已初始化的非0全局变量或静态变量
.bss:存放未初始化的全局和静态变量(零初始化)。ZI Data: 是指那些在编译时被声明但未显式初始化的全局或静态变量