自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

嵌入式開發(fā)小白跟連老師學(xué)鴻蒙設(shè)備開發(fā)之Hello World

開發(fā)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com

[[383401]]

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

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

https://harmonyos.51cto.com

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

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

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

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

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

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

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

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

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

2. 參考文獻(xiàn)

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

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

在此非常感謝。

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

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

3. 調(diào)試筆記

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

3.1. 環(huán)境搭建

目前鴻蒙設(shè)備的開發(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開發(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)境準(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). 打開VSCode,看到這個(gè)畫面,表示所需的工具安裝成功。

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

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

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

參考開發(fā)者文檔《Hi3861系列開發(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開發(fā)環(huán)境準(zhǔn)備》,從文檔里可以看到,所需的開發(fā)工具跟Windows是一致的。

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

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

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

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

  • 0). 虛擬機(jī)的賬號(hào)是 harmony,密碼 123456
  • 1). 使用VMWare Player打開虛擬機(jī)以后,需要安裝VMWare Tools才可以調(diào)整虛擬機(jī)窗口的大小。
  • 2). 首次開機(jī)后,需要手動(dòng)啟動(dòng)samba服務(wù),運(yùn)行 "sudo service smbd start"
  • 3). 開機(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中打開Linux中的鴻蒙項(xiàng)目,就可以把Linux環(huán)境中編譯好的鴻蒙包,在Windows下燒錄到鴻蒙小車中。

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

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

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

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

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

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

DevEco Home -> Projects -> Settings

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

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

記得保存Save。

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

另外,這個(gè)地方,與鴻蒙開發(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)行。

具體的做法是,

  • 打開控制臺(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),按一下小車的系統(tǒng)復(fù)位鍵(RST):

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

怎么知道燒錄成功了呢?

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

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

3.6. 編寫HelloWorld

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

參考:《開發(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 <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配置文件

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

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

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

修改 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日志,但是,這個(gè)日志并不會(huì)出現(xiàn)在小車的顯示屏上,也不會(huì)直接出現(xiàn)在VSCode的Output里。

6). 查看Hello World

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

參考:《串口工具使用》

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

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

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

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

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

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2009-07-17 16:06:59

ARM嵌入式開發(fā)

2011-12-05 15:44:45

Knockout

2010-01-13 09:15:35

嵌入式

2011-07-05 15:42:02

QT 嵌入式 Embedded

2021-10-26 21:50:10

Rust嵌入式開發(fā)

2022-11-24 11:15:49

IoTLinux設(shè)備樹機(jī)制

2011-01-06 15:11:09

嵌入式linux

2009-12-23 10:33:30

Silverlight

2011-06-13 14:00:55

Qt Designer linux

2020-03-23 10:15:10

Google 開源技術(shù)

2010-01-06 09:53:08

嵌入式

2010-01-13 09:51:21

微軟Linux嵌入式

2021-10-28 19:23:27

界面嵌入式 UI

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術(shù)

2011-06-09 10:28:54

QT 嵌入式

2011-06-21 11:30:31

嵌入式 Qt

2017-08-14 15:01:19

2020-12-31 11:48:37

鴻蒙HarmonyOSHello world

2009-09-16 17:15:19

OSGi Bundle
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)