MCU中的BSS和data都占用SRAM空间吗?

**在MCU中,BSS段data段都占用SRAM空间,但它们的存储方式和用途有所不同。**‌

BSS段

BSS段(Block Started by Symbol)用于存储未初始化的全局变量和静态变量。这些变量在程序启动时会被清零,因此它们不占用Flash空间,只占用SRAM空间。在程序启动时,启动代码会将对应的RAM区域清零‌1。

Data段

Data段用于存储已初始化的全局变量和静态变量。这些变量在编译时就已经被赋予了初始值,并且在程序运行过程中需要保留这些初始值。因此,data段既占用Flash空间(存储初始值),也占用SRAM空间(在程序运行时从Flash复制到SRAM)‌。

Flash和SRAM的区别

  • Flash‌:用于存储程序代码和只读数据,具有掉电不丢失数据的特性,适合存储程序代码和常量数据。在程序运行时,代码和数据会从Flash加载到SRAM中,以便处理器能够快速访问和执行‌2。
  • SRAM‌:用于存储程序运行时的数据和变量,访问速度快但掉电后数据会丢失。BSS段和已初始化的data段的数据在程序运行时存储在SRAM中‌。
相关推荐
阿容1234561 天前
stm32两轮平衡小车 -04
stm32·嵌入式硬件
silno1 天前
图解 STM32 USB CDC虚拟串口 的实现
stm32·单片机·stm32f103c8t6·cdc虚拟串口
Silicore_Emma1 天前
芯谷科技—D8227 双通道音频功率放大集成电路产品简介与应用推广
单片机·音视频·功率放大器·芯谷科技·便携式音频设备·双通道音频·车载音频系统
Darken031 天前
单片机的库函数和HAL库有什么区别?还有那些库函数?
单片机·hal库·ai学习
皓月盈江1 天前
STC12、STC15、STM32系列单片机控制16*64LED点阵屏显示,修改显示内容
单片机·嵌入式硬件·keil·stm32f103c8t6·stc12c5a60s2·stc15w4k32s4·led点阵屏程序源码
qq_448011161 天前
USB概述
嵌入式硬件
沐欣工作室_lvyiyi1 天前
智能家居安全报警系统设计(论文+源码)
单片机·毕业设计·智能家居·家居安全报警
一枝小雨1 天前
7 App代码转AES加密文件生成步骤
stm32·单片机·嵌入式·aes·ota·bootloader·加密升级
li星野1 天前
打工人日报#20251202
单片机·嵌入式硬件
mylinke1 天前
永磁同步电机双闭环控制模型故障诊断与仿真研究:基于MATLAB Simulink的仿真代码实现
单片机