Program Size: Code=28784 RO-data=6480 RW-data=60 ZI-data=3900 的含义
-
Code: 程序所占用的FLASH大小,存储在FLASH.
-
RO-data: Read-only-data,程序定义的常量,存储在FLASH中。
-
RW-data:Read-write-data,已经被初始化的变量,存储在SRAM中。
-
ZI-data:Zero-Init-data,未被初始化的变量,存储在SRAM中。
简单的说就是在烧写的时候是FLASH中的被占用的空间为:
ROM(Flash) size = Code+RO-data+RW-data;
上面代码大小 = 28784 + 6480 + 60 = 35324
= 35324/1024 = 34.5K
程序运行的时候,芯片内部RAM使用的空间为:
RAM size = RW-data+ZI-data
上面代码RAM = 60 + 3900 = 3960
= 3960/1024 = 3.9K
从上面的分析之后我们得到了此程序占用的内存
ROM = 34.5K
RAM = 3.9K
然后我们从百度百科搜索得STM32C8T6的
ROM容量:64KB (64K x 8)
RAM容量:20K x 8

以下是STM32系列大中小型容量的大小和地址范围,假如我们使用内部flash的话就必须要查看地址的大小了,在下一篇中我们将说明如何使用STM32内部flash





本文解析了STM32程序的内存占用情况,包括Code、RO-data、RW-data及ZI-data的含义及其在FLASH与SRAM中的分配。通过实例计算,展示了程序在STM32C8T6芯片上的ROM和RAM占用量。
2万+

被折叠的 条评论
为什么被折叠?



