STM32如何查看Flash和RAM使用空间以及如何压缩RAM的使用空间

KEIL编译完成后,在Build Output窗口会出现一下信息:


Code是代码占用的空间;

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

RW-data是(Read Write) 初始化了的可读写变量的大小;

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

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

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

我的代码中,Flash占用空间code =24586字节+RO-data=626字节,RAM占用空间为RW-data=220字节+ZI-data=8308字节


下面介绍如何压缩RAM空间,主要是一些全局变量的定义,大家可以打开自己工程文件夹下面的OBJ文件夹,找到一个后缀为.MAP的文件,可以找到

STM32如何查看Flash和RAM使用空间以及如何压缩RAM的使用空间_第1张图片

STM32如何查看Flash和RAM使用空间以及如何压缩RAM的使用空间_第2张图片

如图 可以看到不同变量占用RAM空间的大小及地址,可以根据这个删除不必要的变量或空间,可以节省RAM空间,选择小RAM的芯片,降低成本

你可能感兴趣的:(STM32学习)