日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

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

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

https://harmonyos.

1. 背景介紹
上回說(shuō)到在家組裝了一臺(tái)鴻蒙小車(chē),但是,還不會(huì)玩,準(zhǔn)備燒個(gè)鴻蒙系統(tǒng)體驗(yàn)一下?!而櫭膳阄?們)過(guò)大年~》

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

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

如果按小車(chē)的按鍵1,小車(chē)就會(huì)自動(dòng)向前走,同時(shí)顯示屏上顯示:trace

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

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

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

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

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

2. 參考文獻(xiàn)

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

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

在此非常感謝。

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

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

3. 調(diào)試筆記

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

3.1. 環(huán)境搭建

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

其中,

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

特別注意,Linux環(huán)境不可少,因?yàn)槟壳爸恢С衷贚inux環(huán)境下編譯,不信邪,強(qiáng)行在Windows上編譯的結(jié)果就是:

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

安裝開(kāi)發(fā)工具

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

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

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

一些要點(diǎn)

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

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

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

參考:《Windows 鴻蒙環(huán)境搭建 hpm 報(bào)錯(cuò):無(wú)法加載文件 hpm.ps1,因?yàn)樵诖讼到y(tǒng)上禁止運(yùn)行腳本》

  • 5). 打開(kāi)VSCode,看到這個(gè)畫(huà)面,表示所需的工具安裝成功。

安裝USB驅(qū)動(dòng)

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

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

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

步驟:

  • 1). 下載驅(qū)動(dòng)

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

  • 2). 安裝

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

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

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

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

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

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

連老師給的虛擬機(jī)是VMWare格式的,可以用VMWare的Player直接打開(kāi)。

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

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

3.4. Windows連接Linux

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

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

通過(guò)在Windows的VSCode中打開(kāi)Linux中的鴻蒙項(xiàng)目,就可以把Linux環(huán)境中編譯好的鴻蒙包,在Windows下燒錄到鴻蒙小車(chē)中。

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

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

1). 打開(kāi)鴻蒙項(xiàng)目

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

如果提示這不是一個(gè)鴻蒙項(xiàng)目,選擇“繼續(xù)打開(kāi)”,即可。

2). 配置項(xiàng)目

DevEco Home -> Projects -> Settings

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

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

記得保存Save。

然后點(diǎn)Open打開(kāi)項(xiàng)目,留意左邊第二列的PROJECT TASKS,這是一系列快捷指令,接下去的操作要用到這些指令。

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

3). 編譯Build

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

連老師的這個(gè)虛擬機(jī)貌似是沒(méi)有裝VSCode的,但是支持從命令行進(jìn)行編譯。

所以,編譯可以直接在Linux虛擬機(jī)上進(jìn)行,也可以選擇在Windows上利用ssh連接到Linux來(lái)進(jìn)行。

具體的做法是,

  • 打開(kāi)控制臺(tái)
  • 進(jìn)入到項(xiàng)目目錄下
  • 執(zhí)行編譯命令
 
 
 
 
  1. python build.py wifiiot

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

4). 燒錄

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

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

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

怎么知道燒錄成功了呢?

還記得小車(chē)顯示屏上顯示的文字嗎?

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

3.6. 編寫(xiě)HelloWorld

但是,這還沒(méi)有完,因?yàn)槲覀冞€沒(méi)有寫(xiě)HelloWorld。

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

1). 添加HelloWorld App目錄

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

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

2). 添加c代碼

創(chuàng)建一個(gè)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)建一個(gè)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)用啟動(dò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日志,但是,這個(gè)日志并不會(huì)出現(xiàn)在小車(chē)的顯示屏上,也不會(huì)直接出現(xiàn)在VSCode的Output里。

6). 查看Hello World

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

參考:《串口工具使用》

在VSCode的命令行里,按下Ctrl+T,然后選擇目標(biāo)COM口序號(hào),這里就一個(gè)COM,所以按下1

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

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

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

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

https://harmonyos.


分享題目:嵌入式開(kāi)發(fā)小白跟連老師學(xué)鴻蒙設(shè)備開(kāi)發(fā)之HelloWorld
地址分享:http://www.5511xx.com/article/djeepop.html