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

1、RAM和FLASH构成

1.RAM

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

2.FLASH

asm 复制代码
┌──────────────────────────┐  
│        中断向量表          │ ← 系统启动代码(如复位向量)
│--------------------------│  
│      .text 代码区         │ ← 程序代码(函数、指令)
│--------------------------│  
│      .rodata 常量区       │ ← 只读数据(常量、字符串)
│--------------------------│  
│      .data 初始值         │ ← 已初始化变量的初始值(运行时复制到RAM的.data区)
│--------------------------│  
│      .bss 信息            │ ← **不占空间**,仅记录.bss段大小(用于启动时清零RAM)
│--------------------------│  
│      其他自定义只读数据     │ ← 配置参数、字体、固件资源等
└──────────────────────────┘
=
相关推荐
代码游侠9 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
xuxg200511 小时前
4G 模组 AT 命令解析框架课程正式发布
stm32·嵌入式·at命令解析框架
CODECOLLECT12 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen13 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠16 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_16 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技18 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计18 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
風清掦19 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
小龙报19 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机