IAR編譯資訊分析

2022-02-22 10:33:08 字數 1414 閱讀 9409

1、怎麼設定可以檢視單片的記憶體(消耗)使用狀況?

iar的選單欄 -->tools -->ide options -->messages -->show build messages選擇 all

1. tools->option->messages show build messages設定成all 

這樣可以在編譯後看到用了多少個ram多少code,中間每個檔案使用情況也可以看得到。

2.project->options...(alt-f7))的linker->list中勾選generate

linker map file

這樣可以生成map檔案,這個就更詳細了(需要什麼自己勾選)。

3. project->options...(alt-f7))的c/c++ compile

->list中勾選output list file

這樣可以看到每個檔案編譯的細節的list檔案,還可以看到反彙編(需要什麼自己勾選)

二、編譯資訊

1、 下面什麼意思

4 960 bytes of code  memory

4 150 bytes of data memory

44 bytes of const memory

4 960 個位元組的**(佔flash)

4150 個位元組的變數資料(佔ram)

44 個位元組的常量資料(佔flash)

生成bin檔案的大小= 4960+44

1、

9 486 bytes of code memory

404 bytes of data memory (+ 36 absolute )

520 bytes of const memory

1、的括號內表示記憶體的絕對使用量,對應你設的全域性變數大小

2、表示共享的儲存空間,和微控制器的結構有關

2、提問:

9 176 bytes of code  memory

(+    

30 bytes shared)

568 bytes of const memory (+

18 148 bytes shared)

943 bytes of

data  memory

(+    114 bytes

shared)

答:"+ 114 bytes

shared"或linking後的"+114 bytes absolute"指的是您在程式中有144bytes 使用@ operator 或

#pragma location=operator 或__no_init volatile語法定義的資料。

編譯器和鏈結器並不能真正地辨認出什麼是ram什麼是flash,它們使用data(沒有指定固定的資料)和const/code(有指定固定的資料)概念來工作。

原文:

安裝IAR編譯器詳解

我安裝使用的版本 iar for 8051 v9.10 雙擊開啟 開啟單擊第二個選項 一直點next到最後 等待安裝完成 安裝完之後有個安裝驅動的彈窗,點是等待安裝完成 安裝完之後 然後就是新增秘鑰部分了 開啟安裝好的軟體 開啟之後點選選單的help,如下 中途有其他的秘鑰彈窗都關閉,要從下面這個地...

IAR中ICF檔案分析與應用

原文 sections在位址空間中的存放是由ilink鏈結器來實現的,而ilink鏈結器是按照使用者在icf檔案中的規定來放置sections的,所以理 解icf檔案的內容尤其重要。乙個標準的icf檔案可包括下面這些內容 1.可編址的儲存空間 memory 2.不同的儲存器位址區域 region 3...

IAR中ICF檔案分析與應用

sections在位址空間中的存放是由ilink鏈結器來實現的,而ilink鏈結器是按照使用者在icf檔案中的規定來放置sections的,所以理 解icf檔案的內容尤其重要。乙個標準的icf檔案可包括下面這些內容 1.可編址的儲存空間 memory 2.不同的儲存器位址區域 region 3.不同...