云计算百科
云计算领域专业知识百科平台

STM32八股【3】------RAM和片上FLASH

1、RAM和FLASH构成

1.RAM

┌──────────────────────────┐
│ 栈区 (Stack) │ ← 从RAM顶端向下扩展(存储局部变量、函数调用信息)
│————————–│
│ 堆区 (Heap) │ ← 从.bss段底部向上扩展(动态分配的内存,如malloc)
│————————–│
│ .bss 未初始化数据区 │ ← 未初始化的全局变量、静态变量(启动时清零)
│————————–│
│ .data 已初始化数据区 │ ← 已初始化的全局变量、静态变量(从Flash加载初始值)
│————————–│
│ .rodata 常量区 │ ← **可能不存在**(通常.rodata保留在Flash,除非优化需要)
│————————–│
│ .text 代码区 │ ← **仅当代码需加速时存在**(如从Flash复制到RAM执行)
└──────────────────────────┘

2.FLASH

┌──────────────────────────┐
│ 中断向量表 │ ← 系统启动代码(如复位向量)
│————————–│
│ .text 代码区 │ ← 程序代码(函数、指令)
│————————–│
│ .rodata 常量区 │ ← 只读数据(常量、字符串)
│————————–│
│ .data 初始值 │ ← 已初始化变量的初始值(运行时复制到RAM的.data区)
│————————–│
│ .bss 信息 │ ← **不占空间**,仅记录.bss段大小(用于启动时清零RAM)
│————————–│
│ 其他自定义只读数据 │ ← 配置参数、字体、固件资源等
└──────────────────────────┘
=

赞(0)
未经允许不得转载:网硕互联帮助中心 » STM32八股【3】------RAM和片上FLASH
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!