先说结论FlashCode RO-data RW-data代码常量变量SRAMRW-data ZI-Data变量初始化为0的变量FlashCode(代码)存储程序指令如函数、中断向量表。RO-data(只读数据)常量如const变量、字符串常量编译后直接烧录到Flash运行时不可修改。RW-data(初始化的可读写数据)全局变量/静态变量的初始值烧录时存于Flash运行时拷贝到SRAM。SRAMRW-data(运行时值)Flash中的初始值在启动时加载到SRAM后续程序可修改。ZI-data(零初始化数据)未显式初始化的全局变量/静态变量如int a;启动时由编译器自动清零。const uint8_t ro_data 100; // RO-data存Flash uint8_t rw_data 50; // RW-data初始值存Flash运行时值存SRAM uint8_t zi_data; // ZI-dataSRAM启动时清零补充1、为什么RW-data比较特殊因为RW-data是有初始值的、可读可写的变量所以存储在Flash初始值才不会丢失。程序初始化时从Flash拷贝到SRAM进行读写操作毕竟SRAM速度比Flash快。2、除了编译时查看内存信息还可以通过.map文件查看。默认在Listings、或OBJ文件夹下。文件最后两行Total ROM SizeFlash73.80kB、Total RW SizeSRAM39.70kB