DevEco Device Tool 助力OpenHarmony設備開發

InfoQ 2022-06-23 11:11:39 阅读数:92

devecodevicetool助力openharmony
DevEco Device Tool 為設備開發者提供一站式的開發環境和資源獲取通道,實現了從芯片模板工程創建、到開發資源挑選定制,再到快速編碼、輕小型系統調試調優、燒錄環節的全流程覆蓋,幫助開發者實現 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)智能硬件設備的高效開發。自2020 年 9 月發布了第一個版本 V1.0.0,到 2022 年 3 月底發布了 V3.0 Release 版本,曆經 10 次迭代昇級,DevEco Device Tool 為開發者主要提供了以下八大特性。

一、一體化安裝導航

設備開發過程中依賴的軟件比較多,而且不同的軟件還存在多種版本,這在一定程度上加大了搭建開發環境的難度,導致部分開發者由於環境安裝遇到的問題被勸退。

DevEco Device Tool 為開發者提供一體化安裝導航功能,自動對依賴的軟件進行檢測,並針對缺失的軟件提供推薦的軟件版本。開發者只根據提示進行勾選,即可自動下載和安裝軟件,提高用戶的安裝體驗和便利性。

比如,圖 1 錶示安裝器檢測到 Python 環境缺失,開發者可通過勾選完成 Python 的自動下載安裝。

null
圖1 安裝提示

二、支持多種類型的開發板和芯片

DevEco Device Tool 目前支持基於華為海思芯片的 Hi3516DV300、Hi3518EV300、Hi3861V100、BearPi-HM Nano 開發板,以及基於三方廠商芯片的 Imx6ull、Rtl8720、Xr872、Neptune 等,總計 24 款開發板。未來,DevEco Device Tool 還將增加對更多開發板的全面支持。

如圖 2 所示,在 DevEco Device Tool 工具界面,選擇“QUICK ACCESS > 主界面 > 開發板”,即可查看 DevEco Device Tool 目前支持的所有開發板和芯片。

null
圖2 當前支持的開發板

三、集成設備開發樣例


為幫助提昇開發效率,DevEco Device Tool 集成了 OpenHarmony 社區的設備開發樣例,讓開發者無需從零開始敲代碼,可快速上手。開發者在創建工程時根據需要選擇開發樣例,即可一鍵快速拉取源碼。

具體使用方法:
1. 在 DevEco Device Tool 工具界面,選擇“QUICK ACCESS > DevEco Home > Home”,然後點擊 Create Project 進入創建工程的向導界面。

2. 輸入工程名稱,在 Bundle 下拉欄中選擇需要的設備開發樣例。Device Tool 會根據所選的開發樣例自動填寫 MCU 和開發板信息。

3. 點擊 Finish,DevEco Device Tool 自動拉取開發樣例完成工程創建。

null
圖3 選擇開發樣例

目前已集成了 47 個不同產品的樣例,後續會有越來越多的樣例逐漸上架,形成標准的資源中心。開發者也可以將自己的樣例上傳到 OpenHarmony 社區參與樣例共建哦!

樣例共建鏈接:
https://gitee.com/openharmony-sig/knowledge/blob/master/docs/co-construct_demos/README_zh.md

四、多人共享的遠程開發模式


在開發過程中,開發者可能都遇到過開發環境不够用、與同事爭搶同一套開發環境的窘迫場景。DevEco Device Tool 提供多人共享開發的功能,支持一個團隊共用一臺服務器。只需搭建一臺公共的 Linux 服務器,團隊成員即可從自己的 Windows 機器遠程登錄 Linux 服務器,進行共享開發。既節省了時間,也降低了成本。

具體使用方法:
點擊 VSCode 左側的

圖標,進入遠程資源管理器界面,添加遠程服務器(即 Linux 服務器)。添加成功後,管理員登錄遠程服務器通過 sudo 命令進行初始配置後,團隊成員即可通過 Remote SSH 登錄遠程服務器,進行共享開發了。

null
圖4 多人共享開發

五、自動檢測和補全編譯工具鏈


在日常開發中,你是否遇到過因工具缺失導致編譯失敗?然後到處查找工具,找到後又要學習怎麼安裝,安裝後還需要配置工具鏈,操作繁瑣,費時費力。

DevEco Device Tool 貼心地為開發者集成了豐富多樣的編譯工具鏈。導入工程時,DevEco Device Tool 自動檢測工程所依賴的工具是否完備。如果存在工具缺失,可一鍵下載和安裝所有缺失的工具,且自動完成工具鏈配置,大幅度减少編譯複雜度,提高工作效率。

具體使用方法:
1. 導入工程後,在 DevEco Device Tool 工具界面,選擇“QUICK ACCESS > DevEco Home > Projects”,然後點擊 “Settings”進入工程配置界面。

2. 在工程配置界面,點擊“toolchain”頁簽下的“Details”,詳細查看缺失了哪些工具。

3. 在工程配置界面,點擊“toolchain”頁簽下的“Setup”,一鍵下載和安裝所有缺失的工具。

null
圖5 自動檢測和補全編譯工具鏈

六、源碼級調試能力


在開發過程中,調試能力尤為重要,一個好用的調試功能能够幫助開發者事半功倍地完成開發任務。
DevEco Device Tool 提供自研調試插件,為開發者提供源碼級調試能力。調試界面如下圖所示:

null
圖6 調試界面

提供的源碼級調試能力包括:
● 
支持 Launch 和 Attach 兩種方式啟動調試。
● 
支持的調試操作有:單步調試、方法進入、方法退出、Continue、Restart(複比特調試)、Reset device(複比特設備)、停止調試。
● 
支持設置斷點,包括源碼斷點、數據斷點、函數斷點和匯編源碼斷點。
● 
支持查看和修改局部變量(Local)、全局變量(Global)、靜態變量(Static)和通用寄存器(Registers),還支持將關心的變量添加到“監視”任務欄,隨時查看變量值變化。
● 
支持在調試過程中同時查看當前執行的源代碼和對應的匯編代碼,且支持對匯編代碼設置斷點和單步調試。
● 
支持調試過程中查看調用棧。
● 
支持根據地址查看內存。

七、性能分析能力


在輕量設備開發過程中,時常會面臨 CPU 緊張、內存不足、內存溢出等問題,因此開發者在開發過程中需要時刻關注 CPU 和內存等的使用情况。

為幫助開發者提昇性能,DevEco Device Tool 提供以下性能分析能力:

1. Profiling可視化分析
DevEco Device Tool 提供 Profiling 可視化分析功能,通過可視化的界面展示開發板上運行的應用所占系統資源和內存資源的信息,幫助開發者查看和分析開發板上各任務堆內存和棧內存的使用情况。
可查看的可視化數據曲線包括 Heap(堆內存)、Stack(棧內存)、OS Objects(系統資源)和 All in one(實時的內存占用情况)的使用情况。

● Heap:實時統計應用堆內存當前的使用情况和曆史峰值情况。

● Stack:統計應用內各任務的內存使用情况,可以通過任務內存的峰值比例(Peak%)查看具體任務的內存使用情况,以便更合理的分配每個任務的內存大小。

null
圖7 Stack(棧內存)

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

null
圖8 OS Objects(系統資源)

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

null
圖9 All in one

2. 棧分析和鏡像分析
DevEco Device Tool 通過集成棧分析工具(Stack Analysis)和鏡像分析工具(Image Analysis),用於開發過程中的內存不足、內存溢出等問題進行分析,幫助開發者更加精准的分析、定比特問題。

棧分析工具
是基於靜態二進制分析手段,提供任務棧開銷估算值和函數調用關系圖示,為棧內存使用、分析、優化、問題定比特等開發場景提供較為准確的靜態內存分析數據參考。
鏡像分析工具
對工程構建出的elf文件進行內存占用分析,支持開發者快速評估內存段、符號錶使用情况。

null
圖10 棧分析和鏡像分析

(目前 DevEco Device Tool 只支持只支持 Hi3861V100 開發板的棧分析和鏡像分析功能。)

3. Trace分析
DevEco Device Tool 提供 Trace 分析功能,可以實時跟踪應用在開發板上運行時的 CPU 的用率、內存占用、運行的任務或事件。開發者可以在任意時刻開始或停止記錄 Trace,並以圖形化形式展示事件、內存、CPU、運行軌迹等信息。開發者可以根據采集的跟踪數據查看導致內存或 CPU 异常的事件或進程,從而進行源代碼的優化。

null
圖11 Trace分析

(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Trace分析功能。)

4. Perf分析
DevEco Device Tool 提供 Perf 分析功能,可以通過對開發板源碼進行事件采樣,獲取 CPU 硬件事件、高精度周期事件、OS 軟件事件,生成 Perf 文件。Perf 分析器對輸出的 perf 文件進行熱點函數和熱點路徑分析。基於 Perf 分析,可以進行算法優化、代碼優化,以提高執行速度、减少內存占用。

null
圖12 Perf分析

(目前DevEco Device Tool只支持Hi3516DV300和Hi3518EV300的Perf分析功能。) 
 

八、應用兼容性測試


為了保證合作夥伴的設備和應用在 OpenHarmony 上能穩定地運行,同時提供一致性的接口和業務體驗,合作夥伴的設備和應用在正式發布之前,需要進行一系列兼容性測試。 
 
DevEco Device Tool 
提供基於 Hi3516DV300 開發板的應用兼容性測試功能。開發者可以在 Linux 系統上一站式完成開發和應用兼容性測試,無需將編譯生成文件拷貝到 Windows 工作臺,即可通過命令行進行測試。 
 
具體使用方法:
點擊 Acts Test 進入配置頁,在配置一系列參數後保存後,通過 PROJECT TASKS 中的 Test 按鈕,執行對應的模塊按鈕後,會自動進行應用兼容性測試並將測試結果顯示到瀏覽器中。

null
圖13 應用兼容性測試

想要更多了解和體驗DevEco Device Tool
歡迎獲取工具和工具使用指南。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/get-code/gettools-ide.md/

null

版权声明:本文为[InfoQ]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/174/202206231100461075.html