.map文件分析

一、分析程序大小

----在.map文件的最后有这样一段代码:

点击查看代码
===========================================================================

    Total RO  Size (Code + RO Data)               434284 ( 424.11kB)
    Total RW  Size (RW Data + ZI Data)            539728 ( 527.08kB)
    Total ROM Size (Code + RO Data + RW Data)     437856 ( 427.59kB)

==============================================================================

其中
Code:指代码的大小;

RO-data:指除了内联数据(inline data)之外的常量数据;

RW-data:指可读写(RW)、已初始化的变量数据;

ZI-data:指未初始化(ZI)的变量数据;


Code、RO-data:位于FLASH中;

RW-data、ZI-data:位于RAM中;

注意:RW-data已初始化的数据会存储在Flash中,上电会从FLASH搬移至RAM中。



二、代码段对应

● Section:描述映像文件的代码或数据块,我们简称程序段

● RO:Read Only 的缩写,包括只读数据(RO data)和代码(RO code)两部分内容,占用 FLASH 空间

● RW:Read Write 的缩写,包含可读写数据(RW data,有初值,且不为 0),占用 FLASH (存储 初 值)和 RAM(读写操作)

● ZI:Zero initialized 的缩写,包含初始化为 0 的数据(ZI data),占用 RAM 空间。

● .text:相当于 RO code

● .constdata:相当于 RO data

● .bss:相当于 ZI data

● .data:相当于 RW data

posted @   Charles_hui  阅读(310)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示