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

网站做贷款许可证semen

网站做贷款许可证,semen,长沙美容网站建设,做汽车网站怎么挣钱1、RO Size、RW Size、ROM Size分别是什么 首先将map文件翻到最下面,可以看到 1.1 RO Size:只读段 Code:程序的代码部分(也就是 .text 段),它存放了程序的指令和可执行代码。 RO Data:只读…

1、RO  Size、RW  Size、ROM Size分别是什么

首先将map文件翻到最下面,可以看到

1.1 RO  Size:只读段

Code:程序的代码部分(也就是 .text 段),它存放了程序的指令和可执行代码。

RO Data:只读数据段(也就是 .rodata 段),它存放的是程序中的只读常量和字符串字面量等。

1.2 RW  Size:可读写数据段

RW Data:已初始化的全局变量和静态变量(即 .data 段),这些数据会从 Flash/ROM 中拷贝到 SRAM 中,并且可以在程序运行时被修改。

ZI Data:未初始化的全局变量和静态变量(即 .bss 段),它们在程序启动时会被自动初始化为零,并存储在 SRAM 中,但不会占用 Flash/ROM 空间。

1.3 ROM Size:整个程序需要占用的ROM 总大小

Code:程序的代码(.text 段)。

RO Data:只读数据(.rodata 段)。

RW Data:已初始化的读写数据(.data 段),虽然这些数据在运行时会被拷贝到 SRAM 中,但它们的初始值是存储在 ROM(Flash)中的。 

1.4 总结

所以下载程序到 FLASH/ROM 时,空间大小为:Code + RO Data + RW Data

程序运行的时,RAM使用的空间大小为:RW Data + ZI Data

2、为什么RW Data需要存储在ROM中,ZI Data不需要

         在上面,我们可以看到,RW Data 与 ZI Data 都会被拷贝到RAM中,那么为什么 RW Data 需要存储在 ROM 中,ZI Data 不需要呢?

2.1 RW Data需要存储在ROM中

        RW Data 包括全局和静态变量,这些变量在程序中已经明确地赋予了初始值,这些变量在程序启动时需要被初始化为它们在代码中定义的初始值。在程序开始运行之前,变量的初始值必须从某个地方获取,并被放置在 RAM 中,因为在程序运行时,这些变量可能会被修改(因此需要位于 RAM 中)。这就引出了一个问题:这些初始值在程序启动之前需要存储在哪里?

        这些变量的初始值必须存储在某个地方,以便在程序启动时能够被正确加载到 RAM 中。这些初始值需要在编译时确定,并且在程序的整个生命周期内保持不变。

        因为 RAM 是易失性的(断电后会丢失数据),所以这些变量的初始值在程序启动之前必须被保存在一个非易失性的存储器中,这就是 ROM(如 Flash)。在程序启动时,启动代码会从 ROM 中将这些初始值复制到 RAM 中相应的变量位置。

2.2 为什么ZI Data不需要存储在ROM中

        C/C++ 语言规范规定,未初始化的全局变量和静态变量在程序启动时会自动被设置为零。对于这些变量,程序不需要存储它们的初始值,因为它们的初始状态始终是零。

        由于这些变量在启动时都会被自动初始化为零,所以它们的初始值不需要存储在 ROM 中。启动代码会在程序开始运行时自动将这些变量所在的内存区域清零,这个过程不需要依赖 ROM 中的任何数据。

2.3 总结

RW Data:包含有初始值的全局和静态变量。因为这些初始值必须在程序启动时恢复,因此它们的初始值需要存储在 ROM 中,以便启动时能将这些初始值复制到 RAM 中。

ZI Data:包含未初始化的全局和静态变量。由于它们的初始值始终是零,启动时只需清零 RAM 中相应的内存区域,因此它们的初始值不需要存储在 ROM 中。

3、Symbol Table

         Symbol Table 是程序链接阶段生成的一张表,包含了程序中每个符号(变量、函数、常量等)的元数据信息。这些符号在程序执行过程中可能是代码、数据或常量,它们分别存储在不同的段(如 .text.data.bss)中。map 文件中的符号表详细列出了这些符号的内存位置、大小及相关信息。

4、Removing Unused input sections from the image.

        这是编译器和链接器在生成最终镜像时的一项优化措施。它会分析代码,移除未被使用的函数、变量、或者其他输入段,以减小最终生成的可执行文件的大小。这对于嵌入式系统非常重要,因为内存资源通常很有限。可以在图中看到,GPIO_EXTILineConfig:配置外部中断(EXTI)线的函数段被移除了,大小为64 bytes

http://www.yidumall.com/news/11226.html

相关文章:

  • 长沙网站定制开发建设最近新闻摘抄50字
  • 网站建设维护是什么岗位2024最火的十大新闻有哪些
  • 资阳网站建设公司关键词搜索排名优化
  • 做衣服类网站策划书哈尔滨seo关键词优化
  • 哪些网站做的不好用软文广告经典案例100字
  • 辽阳做网站公司seo资源咨询
  • 网站建设学校培训短视频运营是做什么的
  • 手机如何做网站seo网站排名优化公司
  • 雅安市住房和城乡建设局网站如何在百度上开店铺
  • 做电子书网站 赚钱关键词排名优化顾问
  • 我想自己创建购物网站网络营销公司热线电话
  • 石景山区建设委员会网站全国免费信息发布平台
  • 怎么 从头开始建设一个网站手机优化大师为什么扣钱
  • p2p网站建设多少钱建设企业营销型网站
  • 网站保姆-源码下载广告推广方式
  • 合肥学习做网站重庆的seo服务公司
  • 怎么打帮人 做网站开发的广告吉林网站推广公司
  • 班级网站设计wordpress世界杯积分榜排名
  • 邯郸哪里做网站优化网站查询ip地址
  • 用PYTHON3 做网站成都营销型网站制作
  • 做百度网站排名软件厦门seo关键词优化代运营
  • 暴走漫画网站建设目的百度网盘搜索引擎入口官网
  • 免费三折页宣传册模板下载网seo平台是什么
  • 网站主机免费申请2020最近的新闻大事10条
  • 成都网站建设116web最经典的营销案例
  • 免费前端模板网站医院网站建设方案
  • 棠下手机网站建设报价百度问一问官网
  • 有哪些网站是做网批女装营销策略有哪些
  • 成都游戏网站建设seo技术教程博客
  • 如何在外管局网站做延期收汇拓客公司联系方式