精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Understand軟件

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

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

??為了提高開發效率,一般查看代碼的時候會使用vscode 和 source insight 這類軟件,但是vscode占用內存比較大,電腦配置比較低的話,電腦就會比較卡。source insight占用內存比較小,功能和使用方法上感覺沒有vscode方便,但是source insight 有個優點就是可以查看函數調用關系圖。

圖片

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

??直到前幾天無意中發現了Understand這個軟件之后,vscode 和 source insight 就再也不想用了,特別是Understand 強大函數關系圖生成功能。用一次之后就再也回不去了。先上一張圖感受下。

圖片

??下面就詳細說一下如何使用Understand軟件。在瀏覽器中直接搜索Understand 進行下載安裝破解,具體過程網上教程很多,這里就不再演示了。

圖片

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

圖片

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

??在桌面上新建一個code文件夾準備存放Understand的工程文件,FreeRTOS移植實驗是要查看的代碼。也可以不新建code文件夾,Understand的把工程文件直接存放在FreeRTOS移植實驗里面。

圖片

圖片

??不過我一般習慣在將Understand的工程文件單獨放在另外的目錄里面。這樣查看別人的代碼時,不會破壞keil工程文件的完整性。

??接下來在Understand軟件中新建工程,選擇文件–新建–工程。

圖片

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

圖片

??這里選擇要查看的這個 FreeRTOS移植實驗

圖片

??單擊繼續按鈕

圖片

??選擇第二個選項,不編譯代碼。

圖片

??接下來選擇Understand工程文件存放目錄,默認會創建在keil工程目錄里面,在這里將工程目錄設置為剛才新建code文件夾路徑。

圖片

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

圖片

??工程路徑設置好之后,單擊創建工程按鈕,開始新建工程。新建工程的時候需要花費十幾秒的時候對工程文件進行掃描,這里要耐心等待一會。

圖片

??工程掃描完成之后,就會自動出現一個工程文件分析的界面,在這個界面中可以看到工程里面各部分代碼的占比情況。

圖片

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

圖片

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

圖片

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

圖片

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

圖片

??在main.c文件中雙擊選中main函數,然后在工具欄中點這個連接按鈕。

??在這里選擇第一個選項

圖片

??圖片

此時就會顯示出main函數中調用了哪些函數。

圖片

??這里默認情況下只顯示了1層的調用關系,如果要顯示多層調用關系還需要設置一下。界面有右上方有兩個 三條橫線的圖標,點擊下面這個三條橫線圖標。

圖片

??將這個被調用的深度設置為3。

圖片

??接著把調用深度也設置為3。

圖片

??接下來就會重新生成一個函數調用關系圖。

圖片

??滾動鼠標滾輪可以放大縮小這個關系調用圖。

圖片

??通過這個關系調用圖就可以很清晰的看出來main函數分別調用了哪些函數,而這些函數里面又繼續調用了哪些函數。這樣即使不用看代碼直接通過這個函數調用關系圖就能看出來main函數里面都完成了哪些功能。

??接下來依然選擇main函數,在關系調用中選擇第二個功能。

圖片

??通過右上角的的選項按鈕將層設置為5,這樣就會顯示出一個5層的調用關系圖。

圖片

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

圖片

圖片

??如果想要重點關心某一個函數的調用關系,可以在函數上右鍵,選擇高亮顯示。比如在這里要重點關心任務創建函數。

圖片

??此時任務創建函數前面和它相關函數和路線都會被高亮顯示。

圖片

??如果想進一步了解這個函數的其他信息,可以在這個函數上單擊鼠標右鍵,在屬性中查看,這里就不再一一列舉了。

圖片

??接下來看關系調用的第三個選項。

圖片

??此時就會生出一個main函數內部的執行流程。

圖片

??接下來看關系調用的第四個選項。

圖片

??這個列出來了main函數調用的函數和main函數的返回值。

圖片

??接下來看關系調用的第五個選項。

圖片

??這個列出來了main函數所包含的頭文件和宏定義

圖片

??接下來看關系調用的最后一個選項。

圖片

??這個會顯示出main函數調用的那些初始化函數都包含在哪些c文件中。

圖片

??通過上面這個6種功能,可以對main函數和其他函數的調用關系進行各種方式的分析,讓我們對這個工程代碼能進一步的深入了解。

??同樣Understand軟件也可以直接查看代碼。如果要跳轉到函數內部時,按住ctrl鍵,單擊鼠標左鍵,就能直接跳轉到函數中。后退一步的快捷鍵是ctrl+alt+p 。

圖片

圖片

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

圖片

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

圖片

??查看函數的時候,在函數開始位置的大括號處雙擊鼠標左鍵,就會自動選中函數所包含的代碼塊。

圖片

??將鼠標放在函數名上面時,會顯示函數的參數和返回值。同樣將鼠標放在宏定義的值上時,會顯示宏定義的值。

圖片

圖片

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件
    +關注

    關注

    69

    文章

    4774

    瀏覽量

    87162
  • 函數
    +關注

    關注

    3

    文章

    4306

    瀏覽量

    62430
  • 代碼
    +關注

    關注

    30

    文章

    4748

    瀏覽量

    68355
收藏 人收藏

    評論

    相關推薦

    Scientific Toolworks Understand有用過沒

    不知論壇里的大佬們有用過Scientific Toolworks Understand的沒?
    發表于 12-11 10:23

    移植tslib庫出現selected device is not a touchscreen I understand的解決方法

    “selected device is nota touchscreen I understand"為什么會這樣?原因非常簡單:tslib中的輸入系統和內核input系統版本不匹配,當然也有其他原因
    發表于 01-23 15:51

    軟件如何控制實際的FPGA布線

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

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

    親愛的先生:我是VNA平衡測量的新手。過去,安捷倫過去常常分發大量免費軟件,以便向客戶介紹最新的行業發展。關于平衡S參數測量,有人可以告訴我是否有任何免費軟件可以幫助用戶更好地理解平衡的VNA測量
    發表于 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
    發表于 11-26 11:18 ?23次下載

    UNDERSTANDING BATTERY LIFE IN

    UNDERSTAND
    發表于 03-04 09:32 ?29次下載

    labview軟件的高級PID控制算法

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

    Understanding Common-Mode Sign

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

    了解共模信號-Understanding Common-Mo

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

    了解共模信號-Understanding Common-Mo

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

    Understand Thermal Derating As

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

    通過BeeKit技術進行ZigBee醫療應用開發

    On completion of this course, attendees should: Understand the basics of IEEE 802.15.4 and ZigBee
    發表于 10-09 17:47 ?44次下載
    通過BeeKit技術進行ZigBee醫療應用開發

    關于英特爾MPI庫

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

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

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

    人工智能與邊緣機器學習重要性

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