keil报内存不够的原因,Code,RO_data,RW_data,ZI_data

链接:https://blog.csdn.net/ylzmm/article/details/79233560

1

GD32F130F6P6
Program Size: Code=6100 RO-data=492 RW-data=152 ZI-data=3944
3944+152=4096

2

  1. Code:代码段,存放程序的代码部分;
  2. RO-data:只读数据段,存放程序中定义的常量,如const类型的数据(Read_only);
  3. RW-data:读写数据段,存放初始化为非 0 值的全局变量(Read_Write);
  4. ZI-data:0 数据段,存放未初始化的全局变量及初始化为 0 的变量(Zero Initialize); (ZI-data不会被算做代码里因为不会被初始化,编译器会默认把没有赋值的变量自动赋值为0)

3下面对几个数值的关系进行说明

ROM size:  也就是下载到单片机FLASH中的数据为  Code +RO-data +RW-data 和的大小。
  为什么不把ZI-data 也下载进去呢? 其实是没有必要的,这是浪费空间,只要程序一上电运
  行就会把ZI-data 自动清0。

RAM size: 程序运行时,芯片内部RAM所需要的空间大小为 RW-data+ ZI-data

原文地址:https://www.cnblogs.com/xuyan123/p/14817683.html