? ? 關注、星標公眾號,直達精彩內容
來源:https://gitee.com/DinoHaw/keil-build-viewer
這是一個 keil 的編譯信息展示增強工具,支持芯片存儲器的可視化展示,輕量且無任何依賴。具備以下功能:
解析參與編譯的每個文件對 RAM 和 flash 的占用情況
分析芯片的 RAM 和 flash 的使用情況,使用進度條可視化展示
■?或?#?或?X?表示實際占用的區域□?或?O??表示 zero initialize 的區域_?表示未被使用的區域二次編譯后新增與減少的數據量展示
[NEW]自動搜索本級目錄的 keil 工程,因此可無參調用
""?括起來支持輸入參數修改選項
-OBJ?? ? 顯示每個文件的 RAM 和 flash 的占用信息(默認)-NOOBJ?? 不顯示每個文件的 RAM 和 flash 的占用信息-PATH?? ?顯示每個文件的相對路徑(默認)-NOPATH??僅顯示每個文件的文件名以下為 v1.5 新增功能-STYLE0??進度條樣式跟隨系統(默認)-STYLE1??進度條樣式一:|###OOO____|?(非中文環境時默認樣式)-STYLE2??進度條樣式二:|XXXOOO____|顯示最大的棧使用
支持放置于公共目錄后,可在任意目錄調用本工具,無需跟隨 keil uvproj(x) 工程
keil-build-viewer.exe?放置于系統環境變量所指定的目錄中,建議使用系統環境變量?Pathkeil-build-viewer.exe?至對應 keil uvproj(x) 工程的步驟,但?after build?仍需填寫,詳見?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

本代碼僅支持 windows 系統
如果你已經安裝了 gcc ,請忽略本步驟
下載 gcc 編譯器,為了考慮兼容性,這里提供一個 32 位的 mingw 下載鏈接:i686-13.1.0-release-posix-dwarf-ucrt-rt_v11-rev1.7z
解壓后放在任意路徑,此處以?C:\mingw32?為例
配置好環境變量
打開?powershell?或?cmd?輸入?gcc -v?,出現下圖內容表示配置成功
打開?powershell?或?cmd?并定位至代碼目錄
powershell?,可在代碼目錄空白處按住?shift?鍵同時單擊鼠標右鍵選擇打開?powershell?,將自動定位到代碼目錄執行以下 gcc 命令
gcc?.\keil-build-viewer.c?-o?.\keil-build-viewer.exe
無任何提示信息,編譯通過
出現?[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.exe?TIMER
或
keil-build-viewer.exe?TIMER.uvprojx
解析的工程
若工程目錄或工程名有空格,將其使用?""?括起來
空格案例
其他問題請提 issues 或聯系作者。
???????????????? ?END ????????????????
關注我的微信公眾號,回復“星球”加入知識星球,有問必答。
點擊“閱讀原文”查看知識星球詳情,歡迎點分享、收藏、點贊、在看。