STM32内置有Flash和RAM(Flash分为Nor Flash和Nand Flash,STM32 M3、M4内核的单片机内为Nor Flash,程序可以直接在其运行;RAM分为SRAM和DRAM,STM32内为SRAM),硬件上他们是不同的设备存储器、属于两个器件,但这两个存储器的寄存器输入输出端口被组织在同一个虚拟线性地址空间内,也称存储器的地址映射。
1、MDK预处理、编译、汇编、链接后编译窗口会显示如下一段关于程序和数据大小的信息:
Code:代码所占字节大小;
RO-data(Read Only-Data):程序只读的变量,也就是带const的,和已初始化的字符串等;
RW-data(Read Write-Data):已初始化的可读写全局/静态变量;
ZI-data(Zero Initialize-Data):未初始化的可读写全局/静态变量;
在主存储器占用的空间大小=Code(可细分为中断向量表+代码)+RO data+RW data = 生成的.bin文件大小。
如下图,Tex