DevEco Device Tool 實戰從源碼獲取到Hello World(輕量系統)
前言
官方使用文檔:
https://device.harmonyos.com/cn/docs/documentation/guide/service_introduction-0000001050166905。
前面已經介紹了使用DevEco Device Tool設備開發的全流程,這次我將會以hispark_pegasus(Hi3861)為例,使用OpenHarmony-v3.1-Release輕量系統實戰從源碼獲取到編寫Hello World的設備開發流程。
開發環境
- 開發板:hispark_pegasus(Hi3861)。
- OpenHarmony版本:OpenHarmony-v3.1-Release。
- DevEco Device Tool:Windows+Ubuntu混合開發環境。
新建工程
源碼獲取
提供以下三種配置方式,這里我選擇第二種。
1.可以選擇下載OpenHarmony3.1release 全量代碼并按如圖配置好SOC,開發板等信息。
2.想快速體驗的還是建議選擇Openharmony已有樣例WLAN連接類產品即hispark_pegasus的發行版源碼,很快就能下完。
選擇后會自動配置開發板信息,點擊確認進入下一步。
3.已有OpenHarmony 3.1release全量代碼也可以直接在工程配置添加新的開發板,添加完后點擊保存。
1,2種方法選擇完畢后會彈出新的窗口進行下載源碼,等待源碼下載完成。
編譯
進入工程配置,檢查工具鏈,確實工具鏈則點擊安裝。
安裝完成后如下:
點擊Build進行編譯,很快即完成編譯。
燒錄
將開發板連接到電腦,若被虛擬機攔截,選擇連接到主機。
查看Ubuntu與本地計算機的連接狀態,點擊Connect,輸入虛擬機password。
再次回到工程配置頁面,選擇Hi3861,找到upload_port,配置好串口號,upload_protocol是它的燒錄工具,upload_partitions是待燒錄的文件,默認即可。
現在就可以點擊Upload進行燒錄,根據提示,按下開發板reset鍵。
燒錄成功。
實戰HelloWorld
以上沒問題后,就可以開始嘗試寫我們的第一個demo了。
1.確定目錄結構在./applications/sample/wifi-iot/app 路徑下新建一個目錄/my_first_app,用于存放業務源碼文件。在該目錄下新建hello_world.c ,和BUILD.gn文件。其中 hello_world.c 為業務代碼,BUILD.gn 為編譯腳本,具體規劃目錄結構如下:
2.編寫業務代碼在 hello_world.c 中新建業務入口函數 HelloWorld,并實現業務邏輯。并在代碼最下方,使用 HarmonyOS 啟動恢復模塊接口 SYS_RUN()啟動業務。(SYS_RUN 定義在 ohos_init.h 文件中)。
void HelloWorld(void)
{
printf("[DEMO] Hello world.\n");
}
SYS_RUN(HelloWorld);
3.編寫用于將業務構建成靜態庫的 BUILD.gn 文件。
在my_first_app/BUILD.gn下編寫目標、源文件、頭文件路徑等配置,如下:
static_library("myapp"){
sources=[
"hello_world.c"
]
include_dirs=[
"http://utils/native/liteos/include"
]
}
4.編寫模塊 BUILD.gn 文件,指定需參與構建的特性模塊。配置./applications/sample/wifi-iot/app/BUILD.gn 文件,也就是和my_first_app同級下的BUILD.gn文件,在 features 字段中增加索引,使目標模塊參與編譯。features 字段指定業務模塊的路徑和目標,添加:
"my_first_app:myapp",
5.按之前的步驟進行編譯燒錄。
6.打開串口,按一下開發板的reset鍵,查看輸出。
成功輸出Hello World!
后記
以上就是使用DevEco Device Tool 進行Hi3861開發板設備開發的流程,全程都是在vscode上進行的。短短幾步就能實現學習幾章內容才能搞完的操作,對比起傳統開發方式只能說有手就行,我直接吹爆。
手里有開發板的現在就可以試試,官方文檔中也有各種開發板的開發教程,希望這篇文章能幫到大家。