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

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

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

如何使用Understand軟件

科技綠洲 ? 來(lái)源:明解嵌入式 ? 作者:明解嵌入式 ? 2023-06-22 09:18 ? 次閱讀

平時(shí)在開發(fā)嵌入式程序的時(shí)候大多數(shù)使用的都是keil軟件,一般小的工程使用keil沒(méi)感覺(jué)到有什么問(wèn)題,但是當(dāng)工程比較大的時(shí)候,比如移植了FreeRTOS系統(tǒng)或者LWIP網(wǎng)絡(luò)系統(tǒng)時(shí),代碼全部編譯一次就要花費(fèi)很長(zhǎng)時(shí)間,特別是開啟了點(diǎn)擊函數(shù)右鍵跳轉(zhuǎn)的功能之后,速度更加慢。有時(shí)候只是為了查看一下代碼,為了能夠使用函數(shù)跳轉(zhuǎn)功能,就不得不把工程全部編譯一遍。

??為了提高開發(fā)效率,一般查看代碼的時(shí)候會(huì)使用vscode 和 source insight 這類軟件,但是vscode占用內(nèi)存比較大,電腦配置比較低的話,電腦就會(huì)比較卡。source insight占用內(nèi)存比較小,功能和使用方法上感覺(jué)沒(méi)有vscode方便,但是source insight 有個(gè)優(yōu)點(diǎn)就是可以查看函數(shù)調(diào)用關(guān)系圖。

圖片

??這個(gè)功能用起來(lái)感覺(jué)很方便,特別是查看別人代碼的時(shí)候,能有一個(gè)直觀的感受。于是平時(shí)就是vscode 和 source insight 這兩個(gè)軟件交替使用。

??直到前幾天無(wú)意中發(fā)現(xiàn)了Understand這個(gè)軟件之后,vscode 和 source insight 就再也不想用了,特別是Understand 強(qiáng)大函數(shù)關(guān)系圖生成功能。用一次之后就再也回不去了。先上一張圖感受下。

圖片

??下面就詳細(xì)說(shuō)一下如何使用Understand軟件。在瀏覽器中直接搜索Understand 進(jìn)行下載安裝破解,具體過(guò)程網(wǎng)上教程很多,這里就不再演示了。

圖片

??下載安裝完成之后,打開軟件。

圖片

??如果要查看代碼的話,不能像vscode那樣直接把文件夾拖入到軟件界面中直接打開。要使用這個(gè)軟件必須給要查看代碼先建一個(gè)工程。

??在桌面上新建一個(gè)code文件夾準(zhǔn)備存放Understand的工程文件,F(xiàn)reeRTOS移植實(shí)驗(yàn)是要查看的代碼。也可以不新建code文件夾,Understand的把工程文件直接存放在FreeRTOS移植實(shí)驗(yàn)里面。

圖片

圖片

??不過(guò)我一般習(xí)慣在將Understand的工程文件單獨(dú)放在另外的目錄里面。這樣查看別人的代碼時(shí),不會(huì)破壞keil工程文件的完整性。

??接下來(lái)在Understand軟件中新建工程,選擇文件–新建–工程。

圖片

??在彈出的界面中點(diǎn) 添加文件夾按鈕,添加要查看的keil工程文件夾。

圖片

??這里選擇要查看的這個(gè) FreeRTOS移植實(shí)驗(yàn)

圖片

??單擊繼續(xù)按鈕

圖片

??選擇第二個(gè)選項(xiàng),不編譯代碼。

圖片

??接下來(lái)選擇Understand工程文件存放目錄,默認(rèn)會(huì)創(chuàng)建在keil工程目錄里面,在這里將工程目錄設(shè)置為剛才新建code文件夾路徑。

圖片

??單擊后面的 … 按鈕,將工程路徑選擇為code文件夾,然后點(diǎn)保存按鈕。

圖片

??工程路徑設(shè)置好之后,單擊創(chuàng)建工程按鈕,開始新建工程。新建工程的時(shí)候需要花費(fèi)十幾秒的時(shí)候?qū)こ涛募M(jìn)行掃描,這里要耐心等待一會(huì)。

圖片

??工程掃描完成之后,就會(huì)自動(dòng)出現(xiàn)一個(gè)工程文件分析的界面,在這個(gè)界面中可以看到工程里面各部分代碼的占比情況。

圖片

??第一個(gè)圖展示的是代碼、注釋、未使用、預(yù)編譯、空白 這些占用行數(shù)。

圖片

??第二張圖展示的是不同代碼在工程中的占比。通過(guò)這個(gè)可以看出FreeRTOS占30.1%,庫(kù)函數(shù)占了62.7%。

圖片

??通過(guò)下面的柱形圖中還能看出比較占比比較大的函數(shù)和文件。

圖片

??通過(guò)這個(gè)整體的分析圖讓我們對(duì)這個(gè)工程文件構(gòu)成有一個(gè)整體的印象。下面開始使用這個(gè)軟件對(duì)代碼進(jìn)行具體的分析。在軟件界面的左側(cè)選擇工程瀏覽,然后打開user文件夾里面的main.c文件。

圖片

??在main.c文件中雙擊選中main函數(shù),然后在工具欄中點(diǎn)這個(gè)連接按鈕。

??在這里選擇第一個(gè)選項(xiàng)

圖片

??圖片

此時(shí)就會(huì)顯示出main函數(shù)中調(diào)用了哪些函數(shù)。

圖片

??這里默認(rèn)情況下只顯示了1層的調(diào)用關(guān)系,如果要顯示多層調(diào)用關(guān)系還需要設(shè)置一下。界面有右上方有兩個(gè) 三條橫線的圖標(biāo),點(diǎn)擊下面這個(gè)三條橫線圖標(biāo)。

圖片

??將這個(gè)被調(diào)用的深度設(shè)置為3。

圖片

??接著把調(diào)用深度也設(shè)置為3。

圖片

??接下來(lái)就會(huì)重新生成一個(gè)函數(shù)調(diào)用關(guān)系圖。

圖片

??滾動(dòng)鼠標(biāo)滾輪可以放大縮小這個(gè)關(guān)系調(diào)用圖。

圖片

??通過(guò)這個(gè)關(guān)系調(diào)用圖就可以很清晰的看出來(lái)main函數(shù)分別調(diào)用了哪些函數(shù),而這些函數(shù)里面又繼續(xù)調(diào)用了哪些函數(shù)。這樣即使不用看代碼直接通過(guò)這個(gè)函數(shù)調(diào)用關(guān)系圖就能看出來(lái)main函數(shù)里面都完成了哪些功能。

??接下來(lái)依然選擇main函數(shù),在關(guān)系調(diào)用中選擇第二個(gè)功能。

圖片

??通過(guò)右上角的的選項(xiàng)按鈕將層設(shè)置為5,這樣就會(huì)顯示出一個(gè)5層的調(diào)用關(guān)系圖。

圖片

??在這個(gè)調(diào)用關(guān)系中可以看到,好多函數(shù)都調(diào)用了同一個(gè)函數(shù)。而有些函數(shù)是我們不需要關(guān)心的,那么就可以在這個(gè)函數(shù)上單擊鼠標(biāo)右鍵,選擇隱藏,將這個(gè)函數(shù)隱藏掉不顯示。

圖片

圖片

??如果想要重點(diǎn)關(guān)心某一個(gè)函數(shù)的調(diào)用關(guān)系,可以在函數(shù)上右鍵,選擇高亮顯示。比如在這里要重點(diǎn)關(guān)心任務(wù)創(chuàng)建函數(shù)。

圖片

??此時(shí)任務(wù)創(chuàng)建函數(shù)前面和它相關(guān)函數(shù)和路線都會(huì)被高亮顯示。

圖片

??如果想進(jìn)一步了解這個(gè)函數(shù)的其他信息,可以在這個(gè)函數(shù)上單擊鼠標(biāo)右鍵,在屬性中查看,這里就不再一一列舉了。

圖片

??接下來(lái)看關(guān)系調(diào)用的第三個(gè)選項(xiàng)。

圖片

??此時(shí)就會(huì)生出一個(gè)main函數(shù)內(nèi)部的執(zhí)行流程。

圖片

??接下來(lái)看關(guān)系調(diào)用的第四個(gè)選項(xiàng)。

圖片

??這個(gè)列出來(lái)了main函數(shù)調(diào)用的函數(shù)和main函數(shù)的返回值。

圖片

??接下來(lái)看關(guān)系調(diào)用的第五個(gè)選項(xiàng)。

圖片

??這個(gè)列出來(lái)了main函數(shù)所包含的頭文件和宏定義

圖片

??接下來(lái)看關(guān)系調(diào)用的最后一個(gè)選項(xiàng)。

圖片

??這個(gè)會(huì)顯示出main函數(shù)調(diào)用的那些初始化函數(shù)都包含在哪些c文件中。

圖片

??通過(guò)上面這個(gè)6種功能,可以對(duì)main函數(shù)和其他函數(shù)的調(diào)用關(guān)系進(jìn)行各種方式的分析,讓我們對(duì)這個(gè)工程代碼能進(jìn)一步的深入了解。

??同樣Understand軟件也可以直接查看代碼。如果要跳轉(zhuǎn)到函數(shù)內(nèi)部時(shí),按住ctrl鍵,單擊鼠標(biāo)左鍵,就能直接跳轉(zhuǎn)到函數(shù)中。后退一步的快捷鍵是ctrl+alt+p 。

圖片

圖片

??如果想要使用快捷鍵的話,可以在菜單欄選擇Tool—options

圖片

??在打開的設(shè)置界面中選擇Key Bindings,在右邊區(qū)域中就可以查看和設(shè)置快捷鍵。

圖片

??查看函數(shù)的時(shí)候,在函數(shù)開始位置的大括號(hào)處雙擊鼠標(biāo)左鍵,就會(huì)自動(dòng)選中函數(shù)所包含的代碼塊。

圖片

??將鼠標(biāo)放在函數(shù)名上面時(shí),會(huì)顯示函數(shù)的參數(shù)和返回值。同樣將鼠標(biāo)放在宏定義的值上時(shí),會(huì)顯示宏定義的值。

圖片

圖片

??這個(gè)軟件還有很多強(qiáng)大的功能,在這里只是粗略的介紹了一下,其他功能大家在使用的過(guò)程中自己慢慢探索。

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

    關(guān)注

    69

    文章

    4701

    瀏覽量

    87088
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4283

    瀏覽量

    62325
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4722

    瀏覽量

    68236
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Scientific Toolworks Understand有用過(guò)沒(méi)

    不知論壇里的大佬們有用過(guò)Scientific Toolworks Understand的沒(méi)?
    發(fā)表于 12-11 10:23

    移植tslib庫(kù)出現(xiàn)selected device is not a touchscreen I understand的解決方法

    “selected device is nota touchscreen I understand"為什么會(huì)這樣?原因非常簡(jiǎn)單:tslib中的輸入系統(tǒng)和內(nèi)核input系統(tǒng)版本不匹配,當(dāng)然也有其他原因
    發(fā)表于 01-23 15:51

    軟件如何控制實(shí)際的FPGA布線

    FPGA編譯器生成一個(gè)比特流來(lái)配置FPGA芯片。它是如何工作的?在軟件中,節(jié)點(diǎn),源,接收器,路由由int,strcuture,鏈表,指針,矩陣表示,我的意思是,在軟件軟件中,它沒(méi)有物理線的概念,如線
    發(fā)表于 04-15 14:17

    是否有任何免費(fèi)軟件可以幫助用戶更好地理解平衡的VNA測(cè)量

    親愛(ài)的先生:我是VNA平衡測(cè)量的新手。過(guò)去,安捷倫過(guò)去常常分發(fā)大量免費(fèi)軟件,以便向客戶介紹最新的行業(yè)發(fā)展。關(guān)于平衡S參數(shù)測(cè)量,有人可以告訴我是否有任何免費(fèi)軟件可以幫助用戶更好地理解平衡的VNA測(cè)量
    發(fā)表于 04-23 12:27

    Power MOSFET Basics:Understand

    This is the second in a series of application notes that definethe fundamental behavior of MOSFETs, both as standalonedevices and as switching devices implemented in aswitchmode power supply (SMPS). The first application note1
    發(fā)表于 11-26 11:18 ?23次下載

    UNDERSTANDING BATTERY LIFE IN

    UNDERSTAND
    發(fā)表于 03-04 09:32 ?29次下載

    labview軟件的高級(jí)PID控制算法

    of different element, like Encoder resolution, ADC sampling rate, etcand understand how does it affect the system. Another benefit is
    發(fā)表于 07-01 11:03 ?50次下載

    Understanding Common-Mode Sign

    Abstract: To understand how common-mode signals are created and then suppressed, you should
    發(fā)表于 02-23 11:27 ?1492次閱讀
    Understanding Common-Mode Sign

    了解共模信號(hào)-Understanding Common-Mo

    Abstract: To understand how common-mode signals are created and then suppressed, you should first
    發(fā)表于 04-24 15:18 ?699次閱讀
    了解共模信號(hào)-Understanding Common-Mo

    了解共模信號(hào)-Understanding Common-Mo

    Abstract: To understand how common-mode signals are created and then suppressed, you should first
    發(fā)表于 04-29 09:35 ?1702次閱讀
    了解共模信號(hào)-Understanding Common-Mo

    Understand Thermal Derating As

    Understand Thermal Derating Aspects of PWM ICs to Ensure the Best System Performance Abstract
    發(fā)表于 05-29 08:36 ?1311次閱讀
    <b class='flag-5'>Understand</b> Thermal Derating As

    通過(guò)BeeKit技術(shù)進(jìn)行ZigBee醫(yī)療應(yīng)用開發(fā)

    On completion of this course, attendees should: Understand the basics of IEEE 802.15.4 and ZigBee
    發(fā)表于 10-09 17:47 ?44次下載
    通過(guò)BeeKit技術(shù)進(jìn)行ZigBee醫(yī)療應(yīng)用開發(fā)

    關(guān)于英特爾MPI庫(kù)

    This session helps beginner and intermediate users understand the capabilities in the Intel? MPI Library.
    的頭像 發(fā)表于 09-20 07:07 ?3554次閱讀

    第2部分:使用Node-RED的程序

    Understand how to use the Node-RED* interface to add sensors and send data to the AWS* cloud.
    的頭像 發(fā)表于 10-26 07:17 ?6633次閱讀

    人工智能與邊緣機(jī)器學(xué)習(xí)重要性

    look at key trends in these areas and understand their importance.
    的頭像 發(fā)表于 09-13 05:25 ?1262次閱讀