今天給大家分享一個 keil MDK 編譯信息增強工具:keil-build-viewer.
1 keil-build-viewer介紹
這是一個 keil 的編譯信息展示增強工具,支持芯片存儲器的可視化展示,輕量且無任何依賴。具備以下功能:
解析參與編譯的每個文件對 RAM 和 flash 的占用情況
自動忽略不被包含進編譯的文件
自動檢索被 keil 改名的文件
支持雙擊打開文件
支持關閉該信息的展示
支持僅顯示文件名
分析芯片的 RAM 和 flash 的使用情況,使用進度條可視化展示
■ 或 # 或 X 表示實際占用的區域
□ 或 O 表示 zero initialize 的區域
_ 表示未被使用的區域
二次編譯后新增與減少的數據量展示
通過對比上次的編譯結果,顯示本次編譯新增或減少的數據量大小,單位是 byte
若是新增的文件,則會顯示 [NEW]
自動搜索本級目錄的 keil 工程,因此可無參調用
默認選擇搜索到的最后一個 keil 工程
支持輸入絕對路徑指定 keil 工程
支持僅輸入文件名指定 keil 工程(必須是同級目錄,可不帶文件擴展名)
若路徑或工程名有空格,則使用 "" 括起來
支持輸入參數修改選項
如第 4 功能所描述的,指定 keil 工程
-OBJ 顯示每個文件的 RAM 和 flash 的占用信息(默認)
-NOOBJ 不顯示每個文件的 RAM 和 flash 的占用信息
-PATH 顯示每個文件的相對路徑(默認)
-NOPATH 僅顯示每個文件的文件名
以下為 v1.5 新增功能
-STYLE0 進度條樣式跟隨系統(默認)
-STYLE1 進度條樣式一:|###OOO____| (非中文環境時默認樣式)
-STYLE2 進度條樣式二:|XXXOOO____|
以上命令不區分大小寫
顯示最大的棧使用
數據來自 keil ,靜態無法精確分析,數據僅供參考
支持放置于公共目錄后,可在任意目錄調用本工具,無需跟隨 keil uvproj(x) 工程
v1.4 新增功能
必須設置好系統環境變量,并把 keil-build-viewer.exe 放置于系統環境變量所指定的目錄中,建議使用系統環境變量 Path
可節省拷貝 keil-build-viewer.exe 至對應 keil uvproj(x) 工程的步驟,但 after build 仍需填寫,詳見 2 在 keil 中使用
說明:本工具的所有參數可不按順序輸入,為空時表示選擇默認值,但參數與參數之間需用空格隔開
雙擊打開對應文件動畫演示
2 在 keil 中使用
在 keil 中調用方式很簡單,下載發行版中的 keil-build-viewer.exe 放在 keil 對應的 uvproj(x) 工程的同級目錄,按下圖進行配置即可。如需輸入其他選項,則在 keil-build-viewer.exe 后跟隨輸入。如僅顯示每個文件的文件名,則可填寫:
keil-build-viewer.exe-NOPATH
在 cmd 或 powershell 中使用同理,僅需添加前綴 . 即可。如:
.keil-build-viewer.exe
keil配置
3 我想自己編譯這個工具
本代碼僅支持 windows 系統
3.1 預備操作
如果你已經安裝了 gcc ,請忽略本步驟
下載 gcc 編譯器,為了考慮兼容性,這里提供一個 32 位的 mingw 下載鏈接:i686-13.1.0-release-posix-dwarf-ucrt-rt_v11-rev1.7z
解壓后放在任意路徑,此處以 C:mingw32 為例
配置好環境變量
打開 powershell 或 cmd 輸入 gcc -v ,出現下圖內容表示配置成功
3.2 編譯
打開 powershell 或 cmd 并定位至代碼目錄
若使用 powershell ,可在代碼目錄空白處按住 shift 鍵同時單擊鼠標右鍵選擇打開 powershell ,將自動定位到代碼目錄
執行以下 gcc 命令
gcc.keil-build-viewer.c-o.keil-build-viewer.exe
無任何提示信息,編譯通過
4 問題解答
出現 [ERROR] NO keil project found 之類的提示
確認 keil-build-viewer.exe 放在了你需要查看的 keil uvproj(x) 工程同級目錄
出現 [ERROR] listing path is empty 之類的提示
在 keil 中選擇你要放置的 listing 相關文件的文件夾
出現 [ERROR] generate map file is not checked 或 [ERROR] Check if a map file exists 之類的提示
確認 keil 已經勾選了下圖這些選項
若編譯信息缺失或與實際有偏差
確認解析的工程為目標工程(同級目錄存在多個工程時)
可通過解析出的前置信息核對當前工具所解析的工程,若發現不一致,可在 keil-build-viewer.exe 之后指定工程名,如:
keil-build-viewer.exeTIMER 或 keil-build-viewer.exeTIMER.uvprojx
解析的工程
若工程目錄或工程名有空格,將其使用 "" 括起來
空格案例
其他問題請提 issues 或聯系作者。
重要說明
目前僅支持 keil MDK。2. 不支持解析通過 RTE 添加的文件
-
keil
+關注
關注
68文章
1211瀏覽量
166677 -
MDK
+關注
關注
4文章
209瀏覽量
32033 -
編譯
+關注
關注
0文章
653瀏覽量
32806
原文標題:分享一個 keil 編譯信息增強工具
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論