ARM内核的数据存储

无人久伴 提交于 2020-01-22 03:29:07

ARM映像文件的组成:

一个映像文件由一个或多个域(region,也有译为“区”)组成
每个域包含一个或多个输出段(section,也有译为“节”)
每个输出段包含一个或多个输入段
各个输入段包含了目标文件中的代码和数据


输入段中包含了四类内容:代码、已经初始化的数据、未经过初始化的存储区域、内容初始化为零的存储区域。
每个输入段有相应的属性:只读的(RO)、可读写的(RW)以及初始化成零的(ZI)。

到这里我们就可以知道,一般情况下,代码会被放到RO属性的输入节,
已经初始化的变量会被分配到RW属性输入区,而“ZI”属性输入节可以理解为是初始化成零变量的集合。

Total RO Size (Code + RO Data) 54520 ( 53.24kB)

Total RW Size (RW Data + ZI Data) 6088 ( 5.95kB)

Total ROM Size (Code + RO Data + RW Data) 54696 ( 53.41kB)


对于一个变量,它可能有三种属性:
1、用const修饰符修饰的变量最可能放在RO属性区。
2、已经初始化的变量会放在RW属性区。
3、那么剩下的变量就要放到ZI属性区了。
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!