日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
嵌入式開發(fā)小白跟連老師學(xué)鴻蒙設(shè)備開發(fā)之HelloWorld

想了解更多內(nèi)容,請訪問:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、肅寧網(wǎng)站維護、網(wǎng)站推廣。

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.

1. 背景介紹
上回說到在家組裝了一臺鴻蒙小車,但是,還不會玩,準備燒個鴻蒙系統(tǒng)體驗一下?!而櫭膳阄?們)過大年~》

但是,折騰了一天發(fā)現(xiàn),這個小車其實是已經(jīng)內(nèi)置鴻蒙系統(tǒng)了。

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

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

再多按幾次,顯示屏?xí)霈F(xiàn)“ultrasonic”字樣,但是我還沒有發(fā)現(xiàn)這個超聲波的作用。

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

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

小車已經(jīng)就位,下一步,就是試著寫一個hello world了。

在的鴻蒙社區(qū)以及鴻蒙官網(wǎng)上找了好幾圈,發(fā)現(xiàn)還是連老師的資料最完整,最后折騰了一天,終于完成了第一個Hello World。

2. 參考文獻

作為一個沒有開發(fā)過南向設(shè)備應(yīng)用的北向應(yīng)用開發(fā)者,面對這么一個小車,是既興奮又懵逼的狀態(tài)。

好在的鴻蒙社區(qū)分享的開發(fā)者很多,而華為的鴻蒙開發(fā)者網(wǎng)站的資料也非常的全,尤其是連志安老師的鴻蒙設(shè)備開發(fā)的系列文章,讓我能夠摸著石頭過河,并最終實現(xiàn)一個小目標。

在此非常感謝。

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

  • 連老師《第1~2章 鴻蒙系統(tǒng)介紹 和 編譯環(huán)境搭建 持續(xù)更新 》
  • 鴻蒙開發(fā)網(wǎng)站《HUAWEI DevEco Device Tool使用指南》
  • 鴻蒙開發(fā)網(wǎng)站 《Hi3861搭建環(huán)境》

3. 調(diào)試筆記

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

3.1. 環(huán)境搭建

目前鴻蒙設(shè)備的開發(fā)環(huán)境,可以分為2個部分:Windows調(diào)試環(huán)境,和Linux編譯環(huán)境。

其中,

  • Linux環(huán)境負責(zé)編譯代碼,并生成鴻蒙的包。
  • Windows環(huán)境負責(zé)連接設(shè)備,進行燒錄和調(diào)試。

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

3.2. Windows開發(fā)環(huán)境搭建

安裝開發(fā)工具

Windows環(huán)境需要的工具列表:

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

詳情可以參考鴻蒙開發(fā)者網(wǎng)站: 《Windows開發(fā)環(huán)境準備》

一些要點

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

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

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

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

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

安裝USB驅(qū)動

用USB線將小車連接到電腦后,可以先到系統(tǒng)的設(shè)備里查看一下,是否能找到對應(yīng)的設(shè)備。

如果出現(xiàn)了感嘆號,表示需要安裝相關(guān)的驅(qū)動。

參考開發(fā)者文檔《Hi3861系列開發(fā)板串口驅(qū)動安裝》

步驟:

  • 1). 下載驅(qū)動

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

  • 2). 安裝

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

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

3.3. 安裝Linux編譯環(huán)境

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

我本來想自己裝一個Ubuntu,但是發(fā)現(xiàn)速度有點慢,就直接用了連老師給的虛擬機了。建議用百度網(wǎng)盤的虛擬機,這個已經(jīng)預(yù)裝了samba服務(wù)。

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

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

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

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

3.4. Windows連接Linux

利用已經(jīng)安裝好的samba服務(wù),Windows可以很方便的訪問Linux中的文件:

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

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

另,連老師還很貼心地建議映射成網(wǎng)絡(luò)驅(qū)動器,比如我就把它映射成了Y盤。

3.5. 燒錄第一個鴻蒙系統(tǒng)

1). 打開鴻蒙項目

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

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

2). 配置項目

DevEco Home -> Projects -> Settings

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

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

記得保存Save。

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

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

3). 編譯Build

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

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

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

具體的做法是,

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

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

4). 燒錄

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

出現(xiàn)Connecting, please reset device的日志時,在30秒內(nèi),按一下小車的系統(tǒng)復(fù)位鍵(RST):

如果動作太慢,燒錄指令就會失敗。否則,應(yīng)該能看到日志繼續(xù)刷新,直到出現(xiàn)SUCCESS字樣,表示燒錄成功。

怎么知道燒錄成功了呢?

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

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

3.6. 編寫HelloWorld

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

參考:《開發(fā)Hi3861第二個示例程序》

1). 添加HelloWorld App目錄

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

在code-1.0/applications/sample/wifi-iot/app目錄下,創(chuàng)建一個helloworld目錄

2). 添加c代碼

創(chuàng)建一個hello_world.c文件,內(nèi)容如下:

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

3). 添加HelloWorld配置文件

創(chuàng)建一個BUILD.gn文件,內(nèi)容如下:

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

4). 添加HelloWorld作為應(yīng)用啟動入口

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

 
 
 
 
  1. import("http://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. }
  16.  

5). 重新編譯并燒錄

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

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

6). 查看Hello World

要想看到hello world的輸出,需要讀取串口的數(shù)據(jù)。

參考:《串口工具使用》

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

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

至此,Hello World的任務(wù)就完成了。

想了解更多內(nèi)容,請訪問:

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.


新聞標題:嵌入式開發(fā)小白跟連老師學(xué)鴻蒙設(shè)備開發(fā)之HelloWorld
文章分享:http://www.dlmjj.cn/article/djeepop.html