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

房屋产权地址备案在那个网站做网站建设与管理是干嘛的

房屋产权地址备案在那个网站做,网站建设与管理是干嘛的,企业cms wordpress,wordpress 不同菜单程序的段的存储方式与存储区域大小要求 程序的存储和运行涉及 ROM(Flash/非易失性存储器) 和 RAM(易失性存储器) 的分配,不同段在存储和运行时具有不同的特性。以下是详细的分类和计算方式:1. 程序文件的存…

程序的段的存储方式与存储区域大小要求

程序的存储和运行涉及 ROM(Flash/非易失性存储器)RAM(易失性存储器) 的分配,不同段在存储和运行时具有不同的特性。以下是详细的分类和计算方式:


1. 程序文件的存储方式

程序在 编译后生成的二进制文件(如 .bin/.hex) 按照以下方式存储在 ROM(Flash) 中:

段类型存储位置说明
Code段ROM存储程序的可执行代码(机器指令)
RO_data段ROM存储只读数据(如 const 常量、字符串常量)
RW_data段ROM存储已初始化且非零的全局/静态变量(初始值)
ZI_data段不存储仅记录大小,运行时在 RAM 中初始化为零

关键点

  • ZI_data段 不会占用 ROM 空间,仅记录其大小,由启动代码在 RAM 中初始化为零。
  • RW_data段 的初始值存储在 ROM 中,但运行时会被拷贝到 RAM(因为 RAM 可读写,而 ROM 不可写)。

2. 程序运行时的内存布局

程序运行时,内存(RAM)会被划分为以下部分:

段类型存储位置说明
Code段ROM 或 RAM通常直接从 ROM 执行,但某些系统可加载到 RAM(如 XIP 或加速执行)
RO_data段ROM 或 RAM通常只读,可直接从 ROM 访问,但某些情况会加载到 RAM
RW_data段RAM从 ROM 拷贝初始值到 RAM,运行时可修改
ZI_data段RAM由启动代码初始化为零
堆(Heap)RAM动态内存分配(malloc/free
栈(Stack)RAM存储局部变量、函数调用信息

在这里插入图片描述

关键点

  • RW_data段 必须加载到 RAM,因为 ROM 不可写。
  • ZI_data段 在 RAM 中分配并清零,不占用 ROM 空间。
  • 堆和栈 在运行时动态增长,不占用 ROM 空间,但必须预留足够的 RAM。

3. 存储区域的大小计算

(1) ROM(Flash)大小计算

ROM 存储的是 程序文件,其大小由以下部分组成:
ROM 大小=Code段+RO_data段+RW_data段(初始值) \text{ROM 大小} = \text{Code段} + \text{RO\_data段} + \text{RW\_data段(初始值)} ROM 大小=Code+RO_data+RW_data段(初始值)

  • ZI_data段不占用 ROM,仅记录大小。
  • RW_data段 的初始值存储在 ROM 中,但运行时会被拷贝到 RAM。

(2) RAM 大小计算

RAM 存储的是 运行时数据,其最小需求为:
RAM 最小需求=RW_data段+ZI_data段 \text{RAM 最小需求} = \text{RW\_data段} + \text{ZI\_data段} RAM 最小需求=RW_data+ZI_data
但实际 RAM 需求 必须更大,因为:

  • 堆(Heap):动态内存分配(malloc/free)需要额外空间。
  • 栈(Stack):函数调用、局部变量、中断处理等需要栈空间。

实际 RAM 需求
实际 RAM 需求=RW_data段+ZI_data段+堆大小+栈大小 \text{实际 RAM 需求} = \text{RW\_data段} + \text{ZI\_data段} + \text{堆大小} + \text{栈大小} 实际 RAM 需求=RW_data+ZI_data+堆大小+栈大小

示例

  • 如果 RW_data = 2KBZI_data = 4KB,堆预留 1KB,栈预留 1KB
    最小 RAM=2+4=6KB实际 RAM=2+4+1+1=8KB \text{最小 RAM} = 2 + 4 = 6KB \\ \text{实际 RAM} = 2 + 4 + 1 + 1 = 8KB 最小 RAM=2+4=6KB实际 RAM=2+4+1+1=8KB

4. 启动方式对存储的影响

程序运行时,代码和数据可以有不同的加载方式:

  1. 直接从 ROM 执行(XIP, eXecute In Place)

    • Code段RO_data段 直接从 ROM 读取,不占用 RAM。
    • RW_data段 从 ROM 拷贝到 RAM。
    • ZI_data段 在 RAM 中初始化为零。
    • 优点:节省 RAM,适用于 RAM 较小的嵌入式系统。
    • 缺点:ROM 访问速度可能比 RAM 慢。
  2. 全部加载到 RAM 执行

    • Code段RO_data段RW_data段 全部从 ROM 拷贝到 RAM。
    • ZI_data段 在 RAM 中初始化为零。
    • 优点:执行速度更快(RAM 访问快)。
    • 缺点:占用大量 RAM,适用于 RAM 较大的系统(如 Linux 应用)。

5. 总结

分类ROM(Flash)RAM
Code段✅ 存储❌(除非加载到 RAM 执行)
RO_data段✅ 存储❌(除非加载到 RAM 执行)
RW_data段✅ 存储初始值✅ 运行时加载
ZI_data段❌ 不存储✅ 运行时初始化为零
堆(Heap)❌ 不存储✅ 动态分配
栈(Stack)❌ 不存储✅ 运行时使用

存储大小计算

  • ROM 大小 = Code段 + RO_data段 + RW_data段(初始值)
  • RAM 最小需求 = RW_data段 + ZI_data段
  • 实际 RAM 需求 = RW_data段 + ZI_data段 + 堆 + 栈

适用场景

  • 嵌入式系统(RAM 小):直接从 ROM 执行(XIP)。
  • 高性能系统(RAM 大):全部加载到 RAM 执行。

这样,你可以根据目标设备的资源情况(ROM/RAM 大小)合理规划内存布局。

http://www.dtcms.com/a/541756.html

相关文章:

  • 分库分表详解,以及ShardingJDBC介绍
  • Linux小课堂: NGINX反向代理服务器配置与实践
  • 做网站的人多吗c 做网站源码实例
  • C++核心组件与构建过程全解析
  • 探秘XZ压缩:以“极致小巧”重塑数据存储效率
  • 【笔试真题】- 电信-2025.10.17
  • 网站悬浮窗商标注册网官方查询
  • 基于python大数据的特产推荐系统
  • AI整理详细解释C++中的内存对象模型
  • DDC可编程控制器风机水泵空调节能控制器哪家技术强
  • 撰写网站栏目规划百度网址大全
  • 【案例实战】鸿蒙开发:web页面如何适配深色模式
  • 大学学院教授委员会制度研究(六)思考与建议-杨立恒毕业论文
  • 算法--滑动窗口(二)
  • 公司网站里面页面链接怎么做网站制作千知寻
  • MIRE: Matched Implicit Neural Representations
  • 中山网站推广如何通过短视频与网站联动实现精准获客?六匹马的AI策略解析
  • 广西鼎汇建设集团有限公司网站适合交换友情链接的是
  • vue3 懒加载第三方组件
  • 洛阳霞光做网站公司自己做的网站点击赚钱
  • 在哪个网站做外贸生意好网站域名试用期
  • 海口市建设工程质量安全监督站网站网站导航菜单代码
  • 什么是战略屋?基本定义
  • 华为OD机试双机位A卷 - 分披萨 (C++ Python JAVA JS GO)
  • 网站设计与开发未来发展方向房地产销售新手入门知识
  • 网站开发各个文件电脑制作ppt的软件
  • 青岛网站建设青岛新思维搜索引擎外部链接优化
  • 天津市网站建设官网静态html模板
  • 【STL——list】
  • 购物类网站设计网站公司可去亿企邦