|
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連連載】第四篇、Hello World,
本帖最后由 學海沙粒 于 2020-11-1 18:20 編輯
搭建好環(huán)境并成功燒錄代碼后,開始編寫個人代碼,千里之行,從“Hello World”開始。
一、新建文件夾
為了避免破環(huán)源代碼的完整結構,在./applications/sample/wifi-iot/app路徑下新建一個文件夾。具體操作是在VS Code中,找到上述路徑的app文件夾,鼠標放在app文件夾上,然后右擊選擇“新建文件夾”,然后在光標處輸入文件夾名稱“my_first_app”。
新建文件夾.png (37.12 KB, 下載次數: 0)
下載附件 保存到相冊
前天 10:38 上傳 鼠標移到新建的“my_afirst_ap p”文件夾上,右鍵選擇“新建文件”,在光標指示處輸入文件名稱,此處文件名稱需要輸入完整后綴名。此處新建兩個文件,分別是hello_world.c和BUILD.gn。 hello_world.c為程序代碼,BUILD.gn為編譯腳本
新建文件.png (34.22 KB, 下載次數: 0)
下載附件 保存到相冊
前天 10:38 上傳 新的文件夾目錄結構如下所示:
application文件夾結構.png (23.32 KB, 下載次數: 0)
下載附件 保存到相冊
前天 10:38 上傳 樹形結構:
- .
- └── applications
- └── sample
- └── wifi-iot
- └── app
- │──demolink
- │ ──iothardware
- │ ── my_first_app
- │ │── hello_world.c
- │ └── BUILD.gn
- │ ──samgr
- │ ──startup
- └── BUILD.gn
二、編寫代碼
1)在新建的hello_world.c中編寫代碼,在HelloWorld()函數中打印Hello world。 在代碼最下方,使用HarmonyOS啟動恢復模塊接口SYS_RUN()啟動程序,默認優(yōu)先級為2,SYS_RUN定義在ohos_init.h文件中 。
- #include <stdio.h>
- #include “ohos_init.h“
- #include “ohos_types.h“
復制代碼 2)編寫 用于 將代碼構建成靜態(tài)庫的BUILD.gn文件。 打開./applications/sample/wifi-iot/app/my_first_app下的BUILD.gn文件,并完成如下配置。
- static_library(“myapp“) {
- sources = [
- “hello_world.c“
- ]
- include_dirs = [
- “//utils/native/lite/include“
- ]
- }
復制代碼 BUILD.gn文件由三部分內容(目標、源文件、頭文件路徑)構成,需由開發(fā)者完成填寫。
- static_library中指定業(yè)務模塊的編譯結果,為靜態(tài)庫文件libmyapp.a,開發(fā)者根據實際情況完成填寫。
- sources中指定靜態(tài)庫.a所依賴的.c文件及其路徑,若路徑中包含“//“則表示絕對路徑(此處為代碼根路徑),若不包含“//“則表示相對路徑。
- include_dirs中指定source所需要依賴的.h文件路徑(具體.h文件如下所示)。
包含的頭文件.png (48.79 KB, 下載次數: 0)
下載附件 保存到相冊
昨天 17:40 上傳 3)編寫模塊BUILD.gn文件,指定需參與構建的特性模塊。 配置./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目標模塊參與編譯。features字段指定業(yè)務模塊的路徑和目標,以my_first_app舉例,features字段配置如下。
- import(“//build/lite/config/component/lite_component.gni“)
-
- lite_component(“app“) {
- features = [
- “my_first_app:myapp“,
- ]
- }
復制代碼
- my_first_app是相對路徑,指向./applications/sample/wifi-iot/app/my_first_app/BUILD.gn。
- myapp是目標,指向./applications/sample/wifi-iot/app/my_first_app/BUILD.gn中的static_library(“myapp“)。
三、輸出測試
保存好修改的代碼,然后編譯、燒錄。重啟IoT開發(fā)板,在串口界面會顯示如下結果:
打印輸出.png (16.76 KB, 下載次數: 0)
下載附件 保存到相冊
昨天 18:13 上傳 |
|