[本文正在參加星光計劃3.0–夏日挑戰賽]
【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統)
前言
還未了解DevEco Device Tool 的可以先看這兩篇文章:
DevEco Device Tool一站式內建開發環境搭建
DevEco Device Tool裝置開發全流程概述
官方使用文檔:
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混合開發環境
建立工程
源碼擷取
提供以下三種配置方式,這裡我選擇第二種。
- 可以選擇下載下傳OpenHarmony3.1release 全量代碼并按如圖配置好SOC,開發闆等資訊。
#夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統) - 想快速體驗的還是建議選擇Openharmony已有樣例WLAN連接配接類産品即hispark_pegasus的發行版源碼,很快就能下完。 選擇後會自動配置開發闆資訊,點選确認進入下一步。
#夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統) #夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統) - 已有OpenHarmony 3.1release全量代碼也可以直接在工程配置添加新的開發闆,添加完後點選儲存。
#夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統)
1,2種方法選擇完畢後會彈出新的視窗進行下載下傳源碼,等待源碼下載下傳完成。
編譯
進入工程配置,檢查工具鍊,确實工具鍊則點選安裝。
安裝完成後如下:
點選Build進行編譯,很快即完成編譯
燒錄
将開發闆連接配接到電腦,若被虛拟機攔截,選擇連接配接到主機。
檢視Ubuntu與本地計算機的連接配接狀态,點選Connect,輸入虛拟機password。
再次回到工程配置頁面,選擇Hi3861,找到upload_port,配置好序列槽号,upload_protocol是它的燒錄工具,upload_partitions是待燒錄的檔案,預設即可。
現在就可以點選Upload進行燒錄,根據提示,按下開發闆reset鍵
燒錄成功
實戰HelloWorld
以上沒問題後,就可以開始嘗試寫我們的第一個demo了。
-
确定目錄結構
在./applications/sample/wifi-iot/app 路徑下建立一個目錄/my_first_app,用于存放業務源碼檔案。在該目錄下建立hello_world.c ,和BUILD.gn檔案。其中 hello_world.c 為業務代碼,BUILD.gn 為編
譯腳本,具體規劃目錄結構如下
#夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統) 2.編寫業務代碼
在 hello_world.c 中建立業務入口函數 HelloWorld,并實作業務邏輯。并在代碼最下方,
使用 HarmonyOS 啟動恢複子產品接口 SYS_RUN()啟動業務。(SYS_RUN 定義在 ohos_init.h 文
件中)
#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.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=[
"//utils/native/liteos/include"
]
}
-
編寫子產品 BUILD.gn 檔案,指定需參與建構的特性子產品。
配置./applications/sample/wifi-iot/app/BUILD.gn 檔案,也就是和my_first_app同級下的BUILD.gn檔案,在 features 字段中增加索引,使目标子產品參與編譯。features 字段指定業務子產品的路徑和目标,添加:
"my_first_app:myapp",
- 按之前的步驟進行編譯燒錄。
- 打開序列槽,按一下開發闆的reset鍵,檢視輸出。 成功輸出Hello World!
#夏日挑戰賽#【FFH】DevEcoDeviceTool實戰源碼擷取到HelloWorld【FFH】DevEco Device Tool 實戰從源碼擷取到Hello World(輕量系統)
後記
以上就是使用DevEco Device Tool 進行Hi3861開發闆裝置開發的流程,全程都是在vscode上進行的。短短幾步就能實作學習幾章内容才能搞完的操作,對比起傳統開發方式隻能說有手就行,我直接吹爆。
手裡有開發闆的現在就可以試試,官方文檔中也有各種開發闆的開發教程,希望這篇文章能幫到大家。