DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗


   DevEco Device Tool迎來了2.1 Beta1,新版本有很多亮點。在上次“DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的編譯體驗 ”(https://harmonyos.51cto.com/posts/4027)中,我們已經體驗了HI3861在Windows平台的編譯亮點及工具鏈管理功能的亮點,這次,來體驗一下HI3861開發板在Windows平台的可視化分析這個亮點。潤和的HiSpark_Wifi_IoT開發板和小熊派的BEARPI HM_Nano開發板使用的都是海思的Hi3861V100芯片,手頭有小熊派的BEARPI HM_Nano開發板,就用它來做體驗。

          開發者在Hi3861開發板上開發應用程序時,需關注內存的分配和使用情況。DevEco Device Tool 2.1 Beta1新增了可視化分析功能——Profiling可視化分析,通過可視化的界面展示開發板上運行的應用所占系統資源和內存資源的信息,助力開發者查看和分析開發板上各任務堆內存和棧內存的使用情況,從而及時調整各任務的內存和資源分配策略。

        先做准備工作:首先創建Profiling可視化分析任務。在原有的應用程序中增加定時查詢系統資源信息和內存信息的定時任務后,就可以實現可視化分析。還是以iothardware應用為例。步驟如下:

        1. 進入系統盤用戶目錄下的C:\Users\Administrator\.deveco-device-tool\platforms\hisilicon\profiling\src,復制“app_demo_sysinfo.c“和“app_demo_sysinfo.h“這兩個文件到鴻蒙應用程序iothardware的目錄下。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

        

         2. 這兩個文件可以定時查詢系統資源信息和內存信息,需要將這兩文件添加到應用程序中,並編譯燒錄到3861開發板中。

            (1) 在iothardware目錄下的編譯文件BUILD.gn文件中添加和更改以下內容:

                         sources:添加“app_demo_sysinfo.c”源文件參與編譯。
                         include_dirs:添加“app_demo_sysinfo.h”頭文件相對路徑 "//applications/sample/wifi-iot/app/iothardware",

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

                         注意: include_dirs中:需將"//base/iot_hardware/interfaces/kits/wifiiot_lite" 更改為"//base/iot_hardware/peripheral/interfaces/kits",不然后續編譯無法通過,提示"iot_gpio.h"文件不存在。這個bug相信后續版本會更正過來的。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

               (2)在當前程序“led_example.c”中添加頭文件     #include "app_demo_sysinfo.h"

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

           (3)在入口函數LedExampleEntry中增加調用   app_demo_heap_task();

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

       (4)按慣例,修改app/BUILD.gn,使iothardware參與編譯。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

         (5)另外,小熊派板載指示燈是GPIO 2,只需將“applications\sample\wifi-iot\app\iothardware\led_example.c”的#define LED_TEST_GPIO改為2,同時將LED_INTERVAL_TIME_US 由3000000改為6000000,閃爍頻率改為為1.2秒一次,更適合人眼觀察。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

             3.上述幾處修改完成后,保存。直接在Windows下編譯,燒錄。重啟開發板,板載藍色指示燈開始閃爍。打開串口,大量信息不斷涌現,有時間,內存,任務等信息。DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

         准備工作完成后,就可以暢快淋漓地體驗DevEco Device Tool 2.1 Beta1可視化分析的亮點。

         在主頁Deveco Home點擊側邊欄的“Profiling”,Profiling頁面點擊“Live capture”,彈出開發板的串口設置選項,無需改動選擇默認值就行,繼續點擊“Capture”,就進入可視化分許頁面。注意開發板的串口不能被占用,不然無法進行可視化分析。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

Heap:實時統計應用堆內存當前的使用情況和歷史峰值情況,橫坐標是時間信息,精確到毫秒,每150毫秒數據更新一次。(peak usage :86172      usage : 70988)

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

Stack:統計應用內各任務的內存使用情況,可以通過任務內存的峰值比例(Peak%)查看具體任務的內存使用情況,以便更合理的分配每個任務的內存大小。LED燈控制的LedTask 任務內存使用比例為72.7%。點擊各個任務左邊的加號,就可以展示單獨任務的可視化。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

OS Objects:統計系統資源的使用情況,如定時器(timers)、任務(tasks)、隊列(queues)等數量

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

All in one:統計Heap和Stack的使用情況,實時動態刷新。

DevEco Device Tool 2.1 Beta1在Hi3861開發板上可視化分析的體驗

同時,Profiling還支持導出當前時間段的統計數據,文件格式為”Excel”和”Json”兩種格式,導出后,可以繼續用其它方式查看和精確分析。

源程序和導出Excel文件下載

作者:鴻聯

 想了解更多內容,請訪問51CTO和華為合作共建的鴻蒙社區:https://harmonyos.51cto.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM