ROM(read only memery)只读存储器ROM只能读取事先所存数据数据存储后无法改变或删除断电后数据不会丢失。随着技术发展出现了紫外线擦写电擦写EEPROM和快闪存储器Flash Memory简称Flash。在单片机中用来存储程序数据及常量数据或变量数据凡是c文件及h文件中所有代码、全局变量、局部变量、”const”限定符定义的常量数据、startup.asm文件中的代码类似ARM中的bootloader或者X86中的BIOS一些低端的单片机是没有这个的通通都存储在ROM中。RAM (Random Access Memory)随机访问存储器存储单元的内容可按照需要随机取出或存入且存取的速度与存储单元的位置无关。这种存储器在断电时将丢失存储数据。它主要用来存储程序中用到的变量需要改变的数据。凡是整个程序中所用到的需要被改写的量包括全局变量、局部变量、堆栈段等都存储在RAM中。FLASHFlash 存储器FLASH EEPROM又称闪存快闪。它是EEPROM的一种。它结合了ROM和RAM的长处。不仅具备电子可擦除可编辑EEPROM的性能还不会断电丢失数据同时可以快速读取数据。它与EEPROM的最大区别是FLASH按扇区block操作而EEPROM按照字节操作。FLASH的电路结构较简单同样容量占芯片面积较小成本自然比EEPROM低因此适合用于做程序存储器。核心差异对比深度解析与选型逻辑RAM系统的“临时工作台”‌‌原理‌依靠电容或触发器存储电荷必须持续供电刷新否则数据消失。‌细分‌‌SRAM‌速度快、无需刷新常用于CPU缓存或高速缓冲‌DRAM‌密度高、成本低需刷新电路常用于大容量主存。‌局限‌掉电即失因此所有需要长期保存的数据必须定期备份到非易失性存储器中。‌‌‌ROM系统的“基因库”‌‌演变‌早期ROM如Mask ROM工厂写入后不可改现代嵌入式中“ROM”常作为非易失性存储的统称实际多由Flash或EEPROM实现。‌特点‌传统意义下只能读或擦写次数极少如EEPROM约10万次适合存储校准参数、序列号等极少变动的数据。‌注意‌手机宣传的“128GB ROM”实为Flash存储并非传统ROM。‌‌FlashROM的现代主流实现‌‌地位‌目前嵌入式系统存储代码和数据的主力兼具非易失性和可擦写性。‌两大流派‌‌NOR Flash‌支持‌XIP‌片上执行CPU可直接从Flash运行代码读取快但写入慢、容量小、成本高常用于存Bootloader或小系统代码。‌NAND Flash‌按页读写、按块擦除密度极高、成本低但无法直接执行代码需加载到RAM中运行常用于大容量存储如eMMC、SD卡。‌局限‌写入前必须先擦除块操作且有擦写寿命限制通常1千-10万次需配合FTL算法管理。‌‌嵌入式内存布局实际运用在MCU开发中三者分工明确‌代码段 (.text)‌ ‌常量 (.rodata)‌ → 存放在 ‌Flash‌掉电不丢。‌全局变量初始值‌ → 初始存在 ‌Flash‌上电后拷贝至 ‌RAM‌。‌运行时变量、堆、栈‌ → 存放在 ‌RAM‌高速读写掉电清空。‌‌‌一句话总结‌CPU干活用‌RAM‌开机引导用‌ROM/Flash‌存程序和大文件用‌Flash‌。