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屬性區了。