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)
│--------------------------│  
│      其他自定义只读数据     │ ← 配置参数、字体、固件资源等
└──────────────────────────┘
=
相关推荐
xyx-3v10 分钟前
VS CodeC51 单片机开发环境搭建
单片机·嵌入式硬件
iCxhust1 小时前
c# U盘映像生成工具
开发语言·单片机·c#
小宋同学在不断学习3 小时前
stm32--SPI原理应用W25Q64(二)
stm32·单片机·spi
lingzhilab3 小时前
零知开源——STM32F4结合BMP581气压传感器实现ST7789中文显示教程
stm32·单片机·嵌入式硬件
夜月yeyue3 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
猫猫的小茶馆4 小时前
【STM32】外部中断
stm32·单片机·嵌入式硬件·mcu·51单片机
is08155 小时前
STM32两种不同的链接配置方式
stm32
森焱森6 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
brave and determined7 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
哄娃睡觉7 小时前
stm32 dac无法输出满量程电压3.3V
stm32