一、代码大小
1、类别
code:
包含两部分,即代码和数据
1)code,即程序代码部分,- inline data. For example, literal pools(文字常量池), and short strings(短字符串)等. 这个一般被忽略,请大家注意!!!
2) 代码段,存放程序的代码部分。
RO-data:
只读的数据,Shows how many bytes are occupied by read-only data. This is in addition to the inline data included in the Code (inc. data) column. 除inline data 之外的所有只读数据。只读数据段,存放程序中定义的常量
RW-data:
可读写的数据,Shows how many bytes are occupied by read-write data.。读写数据段,存放初始化为非0值的全局变量。
ZI-data:
zero initialized data,零初始化的可读写变量,Shows how many bytes are occupied by zero-initialized data。0数据段,存放未初始化的全局变量及初始化为0的变量。
2、ROM/RAM的大小计算
与处理器相关的ROM和RAM文件大小定义如下:
ROM= Code + RO_data + RW_data (即烧/下载程序到FLASH/ROM时,所占用的最小空间);
RAM=RW Data + ZI Data (即程序运行的时,RAM使用的空间)。
上述图片框选的ROM的大小=9088+2340+136=11564Byte。
上述图片框选的RAM的大小=136+480=616Byte。
二、代码优化
1、通过编译器优化
1)缩减版的库
2)提高代码优化等级
参考链接:keil-STM32中如何查看代码大小,和KEIL51稍微不同_stm32代码大小_qq_25814297-npl的博客-CSDN博客