RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享一個(gè)keil MDK編譯信息增強(qiáng)工具

strongerHuang ? 來源:嵌入式大雜燴 ? 2024-11-14 11:01 ? 次閱讀

今天給大家分享一個(gè) keil MDK 編譯信息增強(qiáng)工具:keil-build-viewer.

1 keil-build-viewer介紹

這是一個(gè) keil 的編譯信息展示增強(qiáng)工具,支持芯片存儲器的可視化展示,輕量且無任何依賴。具備以下功能:

解析參與編譯的每個(gè)文件對 RAM 和 flash 的占用情況

自動忽略不被包含進(jìn)編譯的文件

自動檢索被 keil 改名的文件

支持雙擊打開文件

支持關(guān)閉該信息的展示

支持僅顯示文件名

分析芯片的 RAM 和 flash 的使用情況,使用進(jìn)度條可視化展示

■ 或 # 或 X 表示實(shí)際占用的區(qū)域

□ 或 O 表示 zero initialize 的區(qū)域

_ 表示未被使用的區(qū)域

二次編譯后新增與減少的數(shù)據(jù)量展示

通過對比上次的編譯結(jié)果,顯示本次編譯新增或減少的數(shù)據(jù)量大小,單位是 byte

若是新增的文件,則會顯示 [NEW]

自動搜索本級目錄的 keil 工程,因此可無參調(diào)用

默認(rèn)選擇搜索到的最后一個(gè) keil 工程

支持輸入絕對路徑指定 keil 工程

支持僅輸入文件名指定 keil 工程(必須是同級目錄,可不帶文件擴(kuò)展名)

若路徑或工程名有空格,則使用 "" 括起來

支持輸入參數(shù)修改選項(xiàng)

如第 4 功能所描述的,指定 keil 工程

-OBJ 顯示每個(gè)文件的 RAM 和 flash 的占用信息(默認(rèn))

-NOOBJ 不顯示每個(gè)文件的 RAM 和 flash 的占用信息

-PATH 顯示每個(gè)文件的相對路徑(默認(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 至對應(yīng) keil uvproj(x) 工程的步驟,但 after build 仍需填寫,詳見 2 在 keil 中使用

說明:本工具的所有參數(shù)可不按順序輸入,為空時(shí)表示選擇默認(rèn)值,但參數(shù)與參數(shù)之間需用空格隔開

雙擊打開對應(yīng)文件動畫演示

2c179aaa-9069-11ef-a511-92fbcf53809c.gif

2 在 keil 中使用

在 keil 中調(diào)用方式很簡單,下載發(fā)行版中的 keil-build-viewer.exe 放在 keil 對應(yīng)的 uvproj(x) 工程的同級目錄,按下圖進(jìn)行配置即可。如需輸入其他選項(xiàng),則在 keil-build-viewer.exe 后跟隨輸入。如僅顯示每個(gè)文件的文件名,則可填寫:

keil-build-viewer.exe-NOPATH

在 cmd 或 powershell 中使用同理,僅需添加前綴 . 即可。如:

.keil-build-viewer.exe

2c30b2e2-9069-11ef-a511-92fbcf53809c.png

keil配置

3 我想自己編譯這個(gè)工具

本代碼僅支持 windows 系統(tǒng)

3.1 預(yù)備操作

如果你已經(jīng)安裝了 gcc ,請忽略本步驟

下載 gcc 編譯器,為了考慮兼容性,這里提供一個(gè) 32 位的 mingw 下載鏈接:i686-13.1.0-release-posix-dwarf-ucrt-rt_v11-rev1.7z

解壓后放在任意路徑,此處以 C:mingw32 為例

配置好環(huán)境變量

2c344dbc-9069-11ef-a511-92fbcf53809c.png

打開 powershell 或 cmd 輸入 gcc -v ,出現(xiàn)下圖內(nèi)容表示配置成功

2c50fe08-9069-11ef-a511-92fbcf53809c.png

3.2 編譯

打開 powershell 或 cmd 并定位至代碼目錄

若使用 powershell ,可在代碼目錄空白處按住 shift 鍵同時(shí)單擊鼠標(biāo)右鍵選擇打開 powershell ,將自動定位到代碼目錄

執(zhí)行以下 gcc 命令

gcc.keil-build-viewer.c-o.keil-build-viewer.exe

無任何提示信息,編譯通過

2c8130d2-9069-11ef-a511-92fbcf53809c.png

4 問題解答

出現(xiàn) [ERROR] NO keil project found 之類的提示

確認(rèn) keil-build-viewer.exe 放在了你需要查看的 keil uvproj(x) 工程同級目錄

出現(xiàn) [ERROR] listing path is empty 之類的提示

在 keil 中選擇你要放置的 listing 相關(guān)文件的文件夾

2ca8158a-9069-11ef-a511-92fbcf53809c.jpg

出現(xiàn) [ERROR] generate map file is not checked 或 [ERROR] Check if a map file exists 之類的提示

確認(rèn) keil 已經(jīng)勾選了下圖這些選項(xiàng)

2cabd90e-9069-11ef-a511-92fbcf53809c.jpg

若編譯信息缺失或與實(shí)際有偏差

確認(rèn)解析的工程為目標(biāo)工程(同級目錄存在多個(gè)工程時(shí))
可通過解析出的前置信息核對當(dāng)前工具所解析的工程,若發(fā)現(xiàn)不一致,可在 keil-build-viewer.exe 之后指定工程名,如:

keil-build-viewer.exeTIMER 或 keil-build-viewer.exeTIMER.uvprojx

2cbd7c86-9069-11ef-a511-92fbcf53809c.jpg

解析的工程

若工程目錄或工程名有空格,將其使用 "" 括起來

2ccfa8b6-9069-11ef-a511-92fbcf53809c.jpg

空格案例

其他問題請?zhí)?issues 或聯(lián)系作者。

重要說明

目前僅支持 keil MDK。2. 不支持解析通過 RTE 添加的文件

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1212

    瀏覽量

    166838
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    209

    瀏覽量

    32063
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32851

原文標(biāo)題:分享一個(gè) keil 編譯信息增強(qiáng)工具

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    keil MDK應(yīng)用技巧資料的分享

    包含的內(nèi)容: 1、Realview MDK編譯器對中斷處理的過程詳解 2、在MDK中添加自己的FLASH編程算法 3、利用Realview MDK生成.bin格式文件 4、ARM開發(fā)
    發(fā)表于 06-21 12:15

    Keil MDK介紹與安裝

    、Keil MDK介紹Keil是德國知名軟件公司Keil(現(xiàn)已并入ARM 公司)開發(fā)的**微控制器軟件開發(fā)平臺,**是目前ARM內(nèi)核單片機(jī)
    發(fā)表于 01-10 06:02

    什么是Keil C51、MDK?

    、什么是Keil C51、MDKKeil C51和MDKKeil公司開發(fā)的兩套不同的
    發(fā)表于 01-24 07:30

    淺談Keil-MDK創(chuàng)建及其編譯過程

    淺談Keil-MDK創(chuàng)建項(xiàng)目&編譯過程---Code-data,RO-data,RW-data,ZI-data、編譯過程二、MDK
    發(fā)表于 02-24 06:03

    Keil工具MDK-Arm免費(fèi)下載

    Keil工具MDK-Arm免費(fèi)下載
    發(fā)表于 09-01 18:42 ?7.4w次下載

    KEIL MDK軟件的安裝

    KEIL MDK 開發(fā)工具源自德國 Keil 公司,被全球超過 10 萬的嵌入式開發(fā)工程師 驗(yàn)證和使用,是 ARM 公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)
    發(fā)表于 11-11 17:17 ?14次下載

    控制IRQ和FIQ中斷的編譯器內(nèi)部函數(shù) 基于Keil MDK

    控制IRQ和FIQ中斷的編譯器內(nèi)部函數(shù) - 基于Keil MDK
    的頭像 發(fā)表于 02-29 16:45 ?2537次閱讀

    Keil MDK開發(fā)工具的軟件包和組件介紹

    這段教學(xué)視頻介紹了ARM Keil MDK Version 5開發(fā)工具中的軟件包和組件
    的頭像 發(fā)表于 07-02 13:10 ?5272次閱讀

    Keil MDK個(gè)bug

    素材來源:Keil 編輯整理:strongerHuang 不知道還有多少人在繼續(xù)在使用Keil MDK做開發(fā),或?qū)W習(xí),猜的沒錯(cuò)的話,應(yīng)該還是有不少人任然在使用MDK。 前面有
    的頭像 發(fā)表于 10-19 15:26 ?2455次閱讀
    <b class='flag-5'>Keil</b> <b class='flag-5'>MDK</b>的<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>bug

    如何在Keil MDK中使用GCC編譯工具

    : cant execute gcc 用于ARM芯片的GCC編譯器有許多不同的變體,現(xiàn)在Keil MDK仍然支持GCC編譯器的,下面就來講述
    的頭像 發(fā)表于 11-20 15:53 ?4688次閱讀

    Keil MDK和IAR EARM的發(fā)展歷程及歷史版本下載

    Keil 和 IAR算是代經(jīng)典的IDE工具,之所以這么多人使用,除了工具比較好之外,他們的發(fā)展歷史比較長也是
    的頭像 發(fā)表于 12-31 10:01 ?5235次閱讀

    Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異有哪些

    很多使用過Keil MDK的工程師都發(fā)現(xiàn)了個(gè)問題,Keil MDK
    的頭像 發(fā)表于 01-18 11:17 ?5198次閱讀
    <b class='flag-5'>Keil</b> <b class='flag-5'>MDK</b>使用<b class='flag-5'>編譯</b>器AC5與AC6生成瀏覽<b class='flag-5'>信息</b>的差異有哪些

    Keil C51與MDK的合并

    、什么是Keil C51、MDK?Keil C51和MDKKeil公司開發(fā)的兩套不同的
    發(fā)表于 11-29 12:36 ?14次下載
    <b class='flag-5'>Keil</b> C51與<b class='flag-5'>MDK</b>的合并

    淺談Keil-MDK創(chuàng)建項(xiàng)目&編譯過程---Code-data,RO-data,RW-data,ZI-data

    淺談Keil-MDK創(chuàng)建項(xiàng)目&編譯過程---Code-data,RO-data,RW-data,ZI-data、編譯過程二、MDK
    發(fā)表于 01-12 17:53 ?5次下載
    淺談<b class='flag-5'>Keil-MDK</b>創(chuàng)建項(xiàng)目&<b class='flag-5'>編譯</b>過程---Code-data,RO-data,RW-data,ZI-data

    為MindSDK搭建Keil MDK開發(fā)環(huán)境

    本文介紹基于Windows操作系統(tǒng)構(gòu)建嵌入式系統(tǒng)開發(fā)環(huán)境過程中需要使用的主要軟件Keil MDK,并對些需要特別關(guān)注的要點(diǎn)重點(diǎn)說明。Keil MD
    的頭像 發(fā)表于 05-04 10:42 ?1615次閱讀
    為MindSDK搭建<b class='flag-5'>Keil</b> <b class='flag-5'>MDK</b>開發(fā)環(huán)境
    RM新时代网站-首页