成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

嵌入式開發小白跟連老師學鴻蒙設備開發之Hello World

開發
文章由鴻蒙社區產出,想要了解更多內容請前往:51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com

[[383401]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

1. 背景介紹
上回說到在家組裝了一臺鴻蒙小車,但是,還不會玩,準備燒個鴻蒙系統體驗一下。《鴻蒙陪我(們)過大年~》

但是,折騰了一天發現,這個小車其實是已經內置鴻蒙系統了。

小車通電以后,顯示屏上會快速顯示:Hello Harmony,然后變成 Robot Car Stop。

如果按小車的按鍵1,小車就會自動向前走,同時顯示屏上顯示:trace

再多按幾次,顯示屏會出現“ultrasonic”字樣,但是我還沒有發現這個超聲波的作用。

經過我一番胡亂摸索,大概知道了各個模塊的基本功能。

其中,小車的左上角的模塊是主控模塊,插上Type-C線以后,可以對小車進行調試和供電,就不需要電池了。

小車已經就位,下一步,就是試著寫一個hello world了。

在51CTO的鴻蒙社區以及鴻蒙官網上找了好幾圈,發現還是連老師的資料最完整,最后折騰了一天,終于完成了第一個Hello World。

2. 參考文獻

作為一個沒有開發過南向設備應用的北向應用開發者,面對這么一個小車,是既興奮又懵逼的狀態。

好在51CTO的鴻蒙社區分享的開發者很多,而華為的鴻蒙開發者網站的資料也非常的全,尤其是連志安老師的鴻蒙設備開發的系列文章,讓我能夠摸著石頭過河,并最終實現一個小目標。

在此非常感謝。

對于鴻蒙設備開發的新新新手,推薦以下資料,建議詳細閱讀:

  • 連老師《第1~2章 鴻蒙系統介紹 和 編譯環境搭建 持續更新 》
  • 鴻蒙開發網站《HUAWEI DevEco Device Tool使用指南》
  • 鴻蒙開發網站 《Hi3861搭建環境》

3. 調試筆記

接下來,我整理一下自己摸索的筆記,作為嵌入式開發0經驗的非專業設備開發者,有些名詞表述不專業,敬請見諒。

3.1. 環境搭建

目前鴻蒙設備的開發環境,可以分為2個部分:Windows調試環境,和Linux編譯環境。

其中,

  • Linux環境負責編譯代碼,并生成鴻蒙的包。
  • Windows環境負責連接設備,進行燒錄和調試。

特別注意,Linux環境不可少,因為目前只支持在Linux環境下編譯,不信邪,強行在Windows上編譯的結果就是:

3.2. Windows開發環境搭建

安裝開發工具

Windows環境需要的工具列表:

  • Visual Studio Code
  • Python v3.7/v3.8
  • Node.js v12.0.0+
  • hpm
  • DevEco Device Tool

詳情可以參考鴻蒙開發者網站: 《Windows開發環境準備》

一些要點

  • 1). 建議按照列表的順序安裝各個工具
  • 2). Python只能是3.7 或者3.8,否則會導致DevEco Device Tool無法安裝

  • 3). Node.js 需要 v12 以上
  • 4). hpm安裝完畢以后,需要設置一個特殊權限,否則在執行的時候,會報錯“無法加載文件”

可以通過在命令行里用管理員執行 “set-executionpolicy remotesigned”來解決。

參考:《Windows 鴻蒙環境搭建 hpm 報錯:無法加載文件 hpm.ps1,因為在此系統上禁止運行腳本》

  • 5). 打開VSCode,看到這個畫面,表示所需的工具安裝成功。

安裝USB驅動

用USB線將小車連接到電腦后,可以先到系統的設備里查看一下,是否能找到對應的設備。 

如果出現了感嘆號,表示需要安裝相關的驅動。

參考開發者文檔《Hi3861系列開發板串口驅動安裝》

步驟:

  • 1). 下載驅動

http://www.wch.cn/search?q=ch340g&t=downloads

  • 2). 安裝

  • 3). 檢查,在設備管理器里看到USB-SERIAL CH340,表示識別成功。

  • 4). 在VSCode里檢查,DevEco Home -> Devices 可以看到跟設備管理器里一樣名字的設備,注意對應的COM口編號。

3.3. 安裝Linux編譯環境

這個可以參考 《Ubuntu開發環境準備》,從文檔里可以看到,所需的開發工具跟Windows是一致的。

我本來想自己裝一個Ubuntu,但是發現速度有點慢,就直接用了連老師給的虛擬機了。建議用百度網盤的虛擬機,這個已經預裝了samba服務。

  • 百度網盤
  • 鏈接:https://pan.baidu.com/s/163JxuvZux01Fd407_WbK-g
  • 提取碼:bny6

連老師給的虛擬機是VMWare格式的,可以用VMWare的Player直接打開。

關于Linux虛擬機的詳情,具體的可以看連老師的文章,這里只列幾個要點:

  • 0). 虛擬機的賬號是 harmony,密碼 123456
  • 1). 使用VMWare Player打開虛擬機以后,需要安裝VMWare Tools才可以調整虛擬機窗口的大小。
  • 2). 首次開機后,需要手動啟動samba服務,運行 "sudo service smbd start"
  • 3). 開機后,運行 ifconfig -a 查看 ip

3.4. Windows連接Linux

利用已經安裝好的samba服務,Windows可以很方便的訪問Linux中的文件:

  • 在文件瀏覽器,而不是IE瀏覽器的地址欄中,輸入 \\\\
  • 或者
  • 通過網上鄰居查找也可以。

通過在Windows的VSCode中打開Linux中的鴻蒙項目,就可以把Linux環境中編譯好的鴻蒙包,在Windows下燒錄到鴻蒙小車中。

另,連老師還很貼心地建議映射成網絡驅動器,比如我就把它映射成了Y盤。

3.5. 燒錄第一個鴻蒙系統

1). 打開鴻蒙項目

在Windows的VSCode中,打開Linux環境下的鴻蒙源碼目錄,在 harmony\code\code-1.0文件夾

如果提示這不是一個鴻蒙項目,選擇“繼續打開”,即可。

2). 配置項目

DevEco Home -> Projects -> Settings

配置好upload_port為剛剛在設備管理器看到的COM口,如果只連了一個鴻蒙設備,直接從列表里選中就可以了。

其他upload_protocol和upload_partitions沒什么可選的,按照截圖別放空就好。

記得保存Save。

然后點Open打開項目,留意左邊第二列的PROJECT TASKS,這是一系列快捷指令,接下去的操作要用到這些指令。

另外,這個地方,與鴻蒙開發者網站的截圖略有不同,我找了好久也沒有找到官網圖示的位置,好在不影響hello world。

3). 編譯Build

前邊說過,直接在Windows的VSCode里執行build,是不可以的。

連老師的這個虛擬機貌似是沒有裝VSCode的,但是支持從命令行進行編譯。

所以,編譯可以直接在Linux虛擬機上進行,也可以選擇在Windows上利用ssh連接到Linux來進行。

具體的做法是,

  • 打開控制臺
  • 進入到項目目錄下
  • 執行編譯命令
  1. python build.py wifiiot 

看到這段日志,表示編譯成功:

4). 燒錄

燒錄可以在Windows上進行,從剛剛的PROJECT TASKS中執行Upload指令即可。

出現Connecting, please reset device的日志時,在30秒內,按一下小車的系統復位鍵(RST):

如果動作太慢,燒錄指令就會失敗。否則,應該能看到日志繼續刷新,直到出現SUCCESS字樣,表示燒錄成功。

怎么知道燒錄成功了呢?

還記得小車顯示屏上顯示的文字嗎?

如果現在看不到了,那就表示你把原來自帶的鴻蒙系統給覆蓋了,說明燒錄成功了……

3.6. 編寫HelloWorld

但是,這還沒有完,因為我們還沒有寫HelloWorld。

參考:《開發Hi3861第二個示例程序》

1). 添加HelloWorld App目錄

切換到Explorer模式,查看文件列表。

在code-1.0/applications/sample/wifi-iot/app目錄下,創建一個helloworld目錄

2). 添加c代碼

創建一個hello_world.c文件,內容如下:

  1. #include <stdio.h> 
  2. #include "ohos_init.h" 
  3. #include "ohos_types.h" 
  4.   
  5. void HelloWorld(void) 
  6.     printf("[DEMO] Hello world.\n"); 
  7. SYS_RUN(HelloWorld); 

3). 添加HelloWorld配置文件

創建一個BUILD.gn文件,內容如下:

  1. static_library("helloworld") { 
  2.     sources = [ 
  3.         "hello_world.c" 
  4.     ] 
  5.     include_dirs = [ 
  6.         "//utils/native/lite/include" 
  7.     ] 

4). 添加HelloWorld作為應用啟動入口

修改 code-1.0/applications/sample/wifi-iot/app/BUILD.gn

  1. import("//build/lite/config/component/lite_component.gni"
  2.   
  3. # 舊的 
  4. #lite_component("app") { 
  5. #    features = [ 
  6. #        "startup"
  7. #    ] 
  8. #} 
  9.   
  10. # 新的 
  11. lite_component("app") { 
  12.     features = [ 
  13.         "helloworld:helloworld"
  14.     ] 
  15.   

5). 重新編譯并燒錄

修改完,保存,重新編譯,并燒錄。

雖然我們嘗試在輸出hello world日志,但是,這個日志并不會出現在小車的顯示屏上,也不會直接出現在VSCode的Output里。

6). 查看Hello World

要想看到hello world的輸出,需要讀取串口的數據。

參考:《串口工具使用》

在VSCode的命令行里,按下Ctrl+T,然后選擇目標COM口序號,這里就一個COM,所以按下1

然后按下小車的系統復位鍵(RST),系統會重啟,然后就可以看到 Hello World了。

至此,Hello World的任務就完成了。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2011-01-14 13:13:23

嵌入式Linux開發

2009-07-17 16:06:59

ARM嵌入式開發

2011-12-05 15:44:45

Knockout

2010-01-13 09:15:35

嵌入式

2021-10-26 21:50:10

Rust嵌入式開發

2011-07-05 15:42:02

QT 嵌入式 Embedded

2022-11-24 11:15:49

IoTLinux設備樹機制

2011-06-13 14:00:55

Qt Designer linux

2009-12-23 10:33:30

Silverlight

2011-01-06 15:11:09

嵌入式linux

2010-01-06 09:53:08

嵌入式

2020-03-23 10:15:10

Google 開源技術

2010-01-13 09:51:21

微軟Linux嵌入式

2022-03-11 15:44:11

嵌入式開發技巧技術

2021-10-28 19:23:27

界面嵌入式 UI

2017-08-14 15:01:19

2011-06-09 10:28:54

QT 嵌入式

2011-06-21 11:30:31

嵌入式 Qt

2020-12-31 11:48:37

鴻蒙HarmonyOSHello world

2023-01-06 08:18:44

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久亚洲综合网站 | 国产视频中文字幕 | 亚洲a视频| 国产日屁 | 日韩日b视频 | a在线观看| 一区二区三区视频在线观看 | www.99热这里只有精品 | 成人在线免费视频 | 日韩中字幕 | 一级毛片视频 | 成年人免费网站 | 欧美综合一区二区 | 91精品国产91久久久久久 | av日日操 | 美国av毛片 | 色综合视频 | 精品视频一区二区 | 日日干夜夜操 | 一区二区成人 | 91九色porny首页最多播放 | 老司机狠狠爱 | 玖玖国产| 精品美女视频在免费观看 | 色婷婷久久久亚洲一区二区三区 | 中文字幕一区二区三区在线视频 | 国产精品视频一 | 午夜看电影在线观看 | 成人在线中文字幕 | 国产精品精品视频一区二区三区 | 在线男人天堂 | 欧美日韩在线一区二区 | 一级片aaa| 黄网站色大毛片 | 亚洲精品视频一区 | 久久r精品 | 欧美一级淫片免费视频黄 | 99reav| hitomi一区二区三区精品 | 91精品久久久久久久久久入口 | 欧美理伦片在线播放 |