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