当前位置: 首页 > news >正文

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中‌。
http://www.xdnf.cn/news/44893.html

相关文章:

  • LeetCode hot 100—分割等和子集
  • JavaWeb 课堂笔记 —— 15 MyBatis 基础操作
  • 【2】Kubernetes 架构总览
  • Java synchroinzed和ReentrantLock
  • 2025年MathorCup竞赛助攻资料免费分享
  • LLM基础-什么是Token?
  • 位运算---总结
  • ASP.NET Core 最小 API:极简开发,高效构建(下)
  • From RAG to Memory: Non-Parametric Continual Learning for Large Language Models
  • wordpress独立站的产品详情页添加WhatsApp链接按钮
  • docker配置skywalking 监控springcloud应用
  • 缓存 --- Redis性能瓶颈和大Key问题
  • 数据通信学习笔记之OSPF其他内容3
  • 学习设计模式《四》——单例模式
  • sizeof和strlen区分,(好多例子)
  • gbase8s之线程状态详解(超值)
  • deep-share开源浏览器扩展,用于分享 DeepSeek 对话,使用户能够将对话内容保存为图片或文本以便轻松分享
  • Linux 进程间通信之消息队列:原理 + API 与实战 (System-V IPC)
  • 人工智能-机器学习其他技术(决策树,异常检测,主成分分析)
  • 论文笔记(七十八)Do generative video models understand physical principles?
  • vscode使用技巧
  • SpringBoot 3 与 SpringDoc 打造完美接口文档
  • 面试常用基础算法
  • JSON-RPC远程控制
  • Linux中的信号量
  • 健身房管理系统设计与实现(springboot+ssm+vue+mysql)含万字详细文档
  • 01.04、回文排序
  • AI日报 - 2025年04月21日
  • 高效获取淘宝实时商品数据:API 接口开发与数据采集实战指南
  • Vue3核心源码解析