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