嵌入式系统中内存(通常指片内Flash/ROM+RAM)的核心分区并非严格“三个”,但按功能常见核心分区为 3类核心+1类扩展,结合嵌入式开发场景(如ESP32、STM32)整理如下:

一、核心功能分区(3类核心,必记)
分区名称 核心作用 对应存储介质 
1. Bootloader区 芯片启动时优先执行,负责初始化硬件、引导操作系统/应用程序运行(如ESP32的Bootloader) 片内Flash(只读) 
2. 代码区(Code/Text) 存储编译后的应用程序代码(.bin/.hex文件),如主函数、驱动逻辑、算法代码 片内Flash(只读) 
3. 数据区(Data) 存储程序运行时需用到的数据,细分为:- 静态数据区(全局变量、静态变量)- 动态数据区(堆Heap、栈Stack) 片内RAM(可读可写) 

二、扩展分区(嵌入式高频补充)

    •    4. 存储分区(Storage/Flash Data):专门存储掉电不丢失的数据(如配置参数、用户数据、日志),本质是Flash的一部分,需通过文件系统(FAT32、SPIFFS)或裸机读写接口操作(如STM32的Flash编程)。

关键说明(面试重点)

    •    核心逻辑:Bootloader区引导代码区运行,代码区调用数据区(RAM)执行动态操作,存储分区独立保存掉电保留数据,四者共同构成嵌入式系统的存储架构。

    •    误区纠正:“三个区”的说法多是简化表述,实际核心是“Bootloader+代码+数据”三类,存储分区因掉电不丢的特性,在嵌入式开发中属于高频使用的扩展分区,面试中提及可体现专业性。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐