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 memory4 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 memory404 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.不同...