本期介紹后兩種類(lèi)型。 1. Memory Map of the image 內(nèi)存(映射)分布;
各部分解析:
1)Image Entry point : 0x08000131:指映射入口地址。 2)Load Region ROM (Base: 0x00008000, Size: 0x00000ec0, Max: 0xffffffff, ABSOLUTE): 指加載區(qū)域位于ROM開(kāi)始地址0x00008000,大小有0x00000ec0,這塊區(qū)域最大為0xffffffff。 執(zhí)行區(qū)域: Execution Region ER_RO Execution Region ER_RM 這個(gè)區(qū)域,其實(shí)就是對(duì)應(yīng)我們目標(biāo)配置(Project -> Options for Target -> Target)中的配置。 3)Base Addr:存儲(chǔ)地址 4)Size:存儲(chǔ)大小 5)Type:類(lèi)型 Data:數(shù)據(jù)類(lèi)型 Code:代碼類(lèi)型 Zero:未初始化變量類(lèi)型 PAD :補(bǔ)充類(lèi)型。ARM處理器是32位的,如果定義一個(gè)8位或者16位變量就會(huì)剩余一部分,PAD 就是指“ 補(bǔ)充”的部分。 6)Attr:屬性 RO:存儲(chǔ)與ROM中的段 RW:存儲(chǔ)與RAM中的段 7)Section Name:段名 也可以說(shuō)為入口分類(lèi)名,與第1部分“Section Cross References”指的模塊、段一樣。 大概包含:RESET、.ARM、 .text、 i、 .data、 .bss、 HEAP、 STACK等。 8)Object:目標(biāo) 2.Image component sizes:存儲(chǔ)組成大小。 Image component sizes:是指匯總模塊存儲(chǔ)大小信息。 各部分解析:
1)Code (inc. Data) 包含兩部分,即代碼和數(shù)據(jù),位于FLASH中。
- code,即程序代碼部分, - inline data. For example, literal pools(文字常量池), and short strings(短字符串)等. 這個(gè)一般被忽略。
2)RO Data
指除了內(nèi)聯(lián)數(shù)據(jù)(inline data)之外的常量數(shù)據(jù),位于FLASH中。
3)RW Data
指可讀寫(xiě)(RW)、已初始化的變量數(shù)據(jù),RW-data已初始化的數(shù)據(jù)會(huì)存儲(chǔ)在Flash中,上電會(huì)從FLASH搬移至RAM中。 4)ZI Data
指未初始化(ZI)的變量數(shù)據(jù),位于RAM中。 5)Debug
顯示調(diào)試數(shù)據(jù)占用了多少字節(jié),例如調(diào)試輸入節(jié)和符號(hào)和字符串表。 關(guān)系如下: RO Size = Code + RO Data RW Size = RW Data + ZI Data ROM Size = Code + RO Data + RW Data
|