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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
手把手教你搭建鴻蒙hi3518開(kāi)發(fā)和運(yùn)行環(huán)境

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

創(chuàng)新互聯(lián)為客戶(hù)提供專(zhuān)業(yè)的成都網(wǎng)站制作、做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開(kāi)發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開(kāi)發(fā)、WEB系統(tǒng)開(kāi)發(fā)、微信二次開(kāi)發(fā)、手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。

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

https://harmonyos./#zz

前言

學(xué)習(xí)C語(yǔ)言,C++語(yǔ)言,數(shù)據(jù)結(jié)構(gòu)和算法,操作系統(tǒng),網(wǎng)絡(luò),驅(qū)動(dòng),設(shè)計(jì)模式等知識(shí)。

用鴻蒙來(lái)強(qiáng)化就太對(duì)了。本文教你一步一步搭建鴻蒙的開(kāi)發(fā)和運(yùn)行環(huán)境,有點(diǎn)啰嗦,適合小白。

本文所涉及的所有工具都可以在這里找到(提取碼pbe2)。

具體有下列步驟:

  • 組裝開(kāi)發(fā)板
  • 連接開(kāi)發(fā)板
  • 安裝串口驅(qū)動(dòng)
  • 安裝USB驅(qū)動(dòng)
  • 安裝燒錄工具
  • 擦除引導(dǎo)程序
  • 燒錄系統(tǒng)
  • 登錄開(kāi)發(fā)板
  • 修改OS啟動(dòng)地址
  • 運(yùn)行可執(zhí)行程序
  • 安裝VMWARE
  • 安裝編譯服務(wù)器
  • 訪問(wèn)編譯服務(wù)器
  • 編譯鴻蒙產(chǎn)品
  • 編譯鴻蒙組件
  • 打通開(kāi)發(fā)板網(wǎng)絡(luò)
  • 部署NFS
  • 新增自定義組件

組裝開(kāi)發(fā)板

我們選用HiSpark IPC DIY Camera產(chǎn)品。內(nèi)部含hi3518ev300芯片。

請(qǐng)參考產(chǎn)品的安裝說(shuō)明書(shū)。

或者參考安裝視頻指導(dǎo)。

連接開(kāi)發(fā)板

開(kāi)發(fā)板和PC的連接關(guān)系如下圖。2條usb線(產(chǎn)品包裝中的),其中一個(gè)三針插頭,一個(gè)四針插頭。

安裝串口驅(qū)動(dòng)

請(qǐng)雙擊USB-to-Serial Comm Port.exe。進(jìn)行串口驅(qū)動(dòng)安裝,安裝完成后。在設(shè)備管理器中應(yīng)該能看到下面這樣的COM接口,你的COM接口編號(hào)可能有所不同。表明串口驅(qū)動(dòng)安裝成功。

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

然后雙擊zadig-2.5.exe安裝通用USB驅(qū)動(dòng),點(diǎn)擊中間的Install。

安裝燒錄工具

直接解壓HiTool-HM-5.4.9-win32-x86_64.zip文件。然后雙擊其中的HiTool.exe. 界面如下圖。然后先將芯片切換到3518ev300。

擦除引導(dǎo)程序

然后就是擦除uboot了,記得使用串口來(lái)擦除。

有幾點(diǎn)需要注意

由于編譯服務(wù)器還沒(méi)有創(chuàng)建,所以我把自己編譯好的文件放網(wǎng)上了,你可以下載。

文件路徑根據(jù)你自己的實(shí)際路徑,下載下來(lái)后存放的位置。

COM口根據(jù)你之前設(shè)備管理器看到的那個(gè)CH340口選擇。

確保頂部選中的芯片是3518ev300。

傳輸方式選擇串口。

按分區(qū)燒寫(xiě)。

器件類(lèi)型spi nor。

開(kāi)始地址0,長(zhǎng)度1M。

點(diǎn)擊擦除后10秒內(nèi)拔插usb電源線接口(即接4個(gè)針腳的那個(gè)usb口,小的那個(gè)usb頭),讓板子重啟。

很快就能看到擦除成功的提示。

燒錄系統(tǒng)

主要注意如下幾點(diǎn):

使用usb口燒錄(不是串口)。

現(xiàn)在需要燒錄4個(gè)文件(通過(guò)右側(cè)綠色+可以添加文件)。

每個(gè)文件的名稱(chēng),器件類(lèi)型,地址,長(zhǎng)度要填寫(xiě)正確。

最后點(diǎn)擊燒寫(xiě)。

然后等待燒寫(xiě)成功。

如果你的燒寫(xiě)不成功,請(qǐng)檢查之前的usb驅(qū)動(dòng)是否已安裝。

登錄開(kāi)發(fā)板

鴻蒙系統(tǒng)燒錄好以后,就可以進(jìn)去看一下鴻蒙系統(tǒng)的模樣了。

雙擊MobaXterm_Personal_20.2.exe. 也可以用你自己喜歡的終端工具

然后點(diǎn)擊Session, 在彈出的窗口中填好相關(guān)字段

點(diǎn)擊OK以后,會(huì)進(jìn)入下面這個(gè)界面。

這里是uboot程序的界面,還沒(méi)有進(jìn)入鴻蒙OS,原因是uboot此時(shí)不知道鴻蒙OS的啟動(dòng)地址。

然后我們?cè)O(shè)置啟動(dòng)地址

設(shè)置OS啟動(dòng)地址

setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";

保存配置

saveenv

然后重啟

然后,很快就可以看到鴻蒙OS起來(lái)了。

如果你沒(méi)有看到OHOS#字樣,請(qǐng)按下幾次enter鍵。接下來(lái),我們手動(dòng)運(yùn)行一個(gè)鴻蒙的程序。

運(yùn)行可執(zhí)行程序

進(jìn)入bin目錄,運(yùn)行writer程序(這個(gè)程序是我新增的,如果你的開(kāi)發(fā)板上沒(méi)有,你可以運(yùn)行./camera_app程序)。

創(chuàng)建編譯服務(wù)器

為了省去搭建編譯環(huán)境的繁瑣,本次將一個(gè)已經(jīng)搭建好的編譯服務(wù)器制作成鏡像。我們只需要使用這個(gè)鏡像即可獲得編譯環(huán)境。

鏡像文件比較大(超過(guò)8G),請(qǐng)直接找老師獲取,也可以去前言提到的地方下載(建議晚上睡覺(jué)時(shí)下載)。

本次使用的Ubuntu是不帶桌面環(huán)境的。內(nèi)部已經(jīng)安裝好HarmonyOS的編譯環(huán)境,并且安裝了samba文件共享工具。方便windows訪問(wèn)。

請(qǐng)先安裝VMWARE WorkStation軟件

然后打開(kāi)它, 選擇 文件-->打開(kāi)

然后開(kāi)始了服務(wù)器創(chuàng)建過(guò)程,這個(gè)過(guò)程比較漫長(zhǎng),請(qǐng)保持耐心。

訪問(wèn)服務(wù)器

服務(wù)器創(chuàng)建完成后。然后我們對(duì)它進(jìn)行上電啟動(dòng)

等待服務(wù)器開(kāi)機(jī)。1分鐘內(nèi)一般就能正常起來(lái)。這個(gè)過(guò)程中,注意保持網(wǎng)線插入,因?yàn)樘摂M機(jī)和PC之間是通過(guò)有線網(wǎng)卡橋接的。啟機(jī)過(guò)程有軟件會(huì)探測(cè)網(wǎng)絡(luò)是否在,否則會(huì)很慢。

當(dāng)屏幕輸出變慢后,我們就可以訪問(wèn)它了,當(dāng)然也可以在黑窗口里面直接鍵入各種命令,不過(guò)不方便。

把鼠標(biāo)放入黑窗口,點(diǎn)擊以后,鼠標(biāo)焦點(diǎn)就進(jìn)入黑窗口了,讓焦點(diǎn)退出來(lái)的方法是按CTRL+g。

如果想在黑窗口操作linux相關(guān)命令,則鍵入用戶(hù)名compile 密碼compile。

一般我們不在黑窗口操作。

我們需要如下2種方法來(lái)訪問(wèn)虛擬機(jī):

  • 通過(guò)ssh訪問(wèn),即可以遠(yuǎn)程登錄虛擬機(jī)的shell,并執(zhí)行命令。
  • 通過(guò)文件共享訪問(wèn),可以在windows上查看和修改虛擬機(jī)中的文件。

注意:

當(dāng)前創(chuàng)建的虛擬機(jī)采用的是橋接模式,它的IP地址為192.168.2.20。你需要確保虛擬機(jī)中的IP地址和自己PC的IP地址在同一個(gè)網(wǎng)段。(最簡(jiǎn)單的方法是在自己的網(wǎng)卡上添加一個(gè)192.168.2.X網(wǎng)段的IP地址)。Windows添加IP地址的方法請(qǐng)自行查閱。

如果多臺(tái)編譯服務(wù)器在同一個(gè)局域網(wǎng)絡(luò),那么IP地址會(huì)沖突,因?yàn)槎际?92.168.2.20。所以,需要對(duì)地址進(jìn)行修改。

SSH訪問(wèn)

點(diǎn)擊OK以后,就登錄到了編譯服務(wù)器的shell。

文件共享訪問(wèn)

為了從Windows訪問(wèn)編譯服務(wù)器上的源代碼和編譯出的目標(biāo)文件,在編譯服務(wù)器上已經(jīng)安裝好了samba文件共享服務(wù),只需要在windows這邊映射網(wǎng)絡(luò)驅(qū)動(dòng)器即可。按如下方法操作。

右鍵點(diǎn)擊 計(jì)算機(jī) ,選擇映射網(wǎng)絡(luò)驅(qū)動(dòng)器。

然后就可以在windows看到編譯服務(wù)器上的內(nèi)容了。

現(xiàn)在開(kāi)始,你就可以像操作windows的文件一樣來(lái)操作編譯服務(wù)器里面的文件了(比如通過(guò)Visual Studio來(lái)修改服務(wù)器上的C/C++代碼文件)。

編譯產(chǎn)品

整個(gè)工程是存放在~/harmonyos/openharmony目錄,得先進(jìn)入這個(gè)目錄。

然后執(zhí)行python腳本來(lái)編譯產(chǎn)品。如下紅色框即編譯整個(gè)產(chǎn)品。

特別提醒:

python build.py ipcamera_hi3518ev300 -b debug

編譯debug版本才會(huì)含有調(diào)試的shell,如果省略-b debug,無(wú)法通過(guò)shell命令行執(zhí)行命令。

大約需要10多分鐘完成產(chǎn)品編譯,編譯成功后,結(jié)果如下。

然后在windows文件夾下可以看到編譯出來(lái)的結(jié)果。

每次系統(tǒng)燒錄時(shí),將上述3個(gè)文件以及uboot文件(Z:\vendor\hisi\hi35xx\hi3518ev300\uboot\out\boot\u-boot-hi3518ev300.bin)

拷貝到windows某個(gè)目錄下(比如我的例子中的D:\BIN),然后用HiTool.exe來(lái)燒錄。

更新源碼

鴻蒙系統(tǒng)目前更新比較頻繁,如果需要獲取最新版本,請(qǐng)執(zhí)行下面的命令更新源碼。

這里有一個(gè)問(wèn)題:編譯服務(wù)器預(yù)設(shè)的192.168.2.20無(wú)法上網(wǎng)。這個(gè)時(shí)候你可以再添加1個(gè)IP地址(添加可以上網(wǎng)的IP地址)。然后再執(zhí)行下面2條命令

cd ~/harmonyos/openharmony

repo sync -c

。。。待貼圖。。。

編譯組件

編譯完整產(chǎn)品比較耗時(shí),大多數(shù)時(shí)候我們修改的代碼較少,只需要編譯指定的組件就行了。

由-T指定編譯一個(gè)已經(jīng)存在的組件,只編譯一個(gè)小組件,速度飛快。

注意,編譯組件的時(shí)候 -T 后面的路徑需要使用全路徑。如何確定-T后面的參數(shù)?請(qǐng)看下圖:

文本編輯器(如notepad++)打開(kāi)build/lite/product/ ipcamera_hi3518ev300.json文件

這個(gè)組件涉及的代碼文件是哪些呢,繼續(xù)看對(duì)應(yīng)目錄的BUILD.gn文件,對(duì)于此例子為//applications/sample/camera/app

生成的程序在下面這個(gè)目錄

打通網(wǎng)絡(luò)

設(shè)備本身沒(méi)有以太口,只有wifi接口。但默認(rèn)情況下wifi是無(wú)法工作的。

輸入ifconfig你會(huì)看到wlan0接口IP地址為0。

需要做如下工作才能讓wifi正常運(yùn)行起來(lái)。

  • 配置SSID和密碼
  • 修改wpa_sample.c源碼
  • 配置自啟動(dòng)
  • 編譯系統(tǒng)

配置SSID和密碼

修改applications\sample\camera\communication\wpa_supplicant\config\ wpa_supplicant.conf。

修改后的內(nèi)容如下。這個(gè)文件的目的是配置wifi用戶(hù)名和密碼。

 
 
 
 
  1. country=GB
  2. ctrl_interface=udp
  3. network={
  4.         ssid="teacher"
  5.         psk="12345678qwe"
  6.     }

 注意

  • =號(hào)2端不要留空格。
  • ssid和psk按你自己的實(shí)際進(jìn)行配置,比如你手機(jī)熱點(diǎn)的網(wǎng)絡(luò)名和密碼。

修改源碼

修改applications\sample\camera\communication\wpa_supplicant\src\wpa_sample.c源代碼。

只修改main函數(shù)部分。這個(gè)程序的目的是讀取wifi用戶(hù)名和密碼配置文件,并進(jìn)行wifi連接。

 
 
 
 
  1. int main(int argc, char *argv[])
  2. {
  3. g_wpaArgc = argc;
  4. for (int i = 0; i < g_wpaArgc; i++) {
  5. g_wpaArg[i] = argv[i];
  6. }
  7. g_wpaArgc=5;
  8. g_wpaArg[1] = "-i";
  9. g_wpaArg[2]="wlan0";
  10. g_wpaArg[3]="-c";
  11. g_wpaArg[4]="/etc/wpa_supplicant.conf";
  12. int ret = pthread_create(&g_wpaThread, NULL, ThreadMain, NULL);
  13. if (ret != 0) {
  14. printf("[WpaSample]create thread failed error:%s.\n", strerror(ret));
  15. return 1;
  16. }
  17. pthread_join(g_wpaThread, NULL);
  18. return 0;
  19. }

 配置自啟動(dòng)

剛才修改的main會(huì)生成一個(gè)可執(zhí)行程序,這個(gè)程序我們需要把它配置在啟動(dòng)腳本中,這樣每次板子重啟都會(huì)運(yùn)行這個(gè)程序。

修改文件vendor\huawei\camera\init_configs\ init_liteos_a_3518ev300.cfg 。 紅色部分為新增。

 
 
 
 
  1. {
  2. "jobs" : [{
  3. "name" : "pre-init",
  4. "cmds" : [
  5. "mkdir /storage/data/log",
  6. "chmod 0755 /storage/data/log",
  7. "chown 4 4 /storage/data/log",
  8. "mkdir /storage/data/softbus",
  9. "chmod 0700 /storage/data/softbus",
  10. "chown 7 7 /storage/data/softbus",
  11. "mkdir /sdcard",
  12. "chmod 0777 /sdcard",
  13. "mount vfat /dev/mmcblk0 /sdcard rw,umask=000",
  14. "mount vfat /dev/mmcblk1 /sdcard rw,umask=000"
  15. ]
  16. }, {
  17. "name" : "init",
  18. "cmds" : [
  19. "start shell",
  20. "start apphilogcat",
  21. "start foundation",
  22. "start bundle_daemon",
  23. "start media_server",
  24. "start appspawn",
  25. "start wpa_supplicant"
  26. ]
  27. }, {
  28. "name" : "post-init",
  29. "cmds" : [
  30. "chown 0 99 /dev/dev_mgr",
  31. "chown 0 99 /dev/hdfwifi",
  32. "chown 0 99 /dev/gpio",
  33. "chown 0 99 /dev/i2c-0",
  34. "chown 0 99 /dev/i2c-1",
  35. "chown 0 99 /dev/i2c-2",
  36. "chown 0 99 /dev/uartdev-0",
  37. "chown 0 99 /dev/uartdev-1",
  38. "chown 0 99 /dev/uartdev-2",
  39. "chown 0 99 /dev/spidev0.0",
  40. "chown 0 99 /dev/spidev1.0",
  41. "chown 0 99 /dev/spidev1.1"
  42. ]
  43. }
  44. ],
  45. "services" : [{
  46. "name" : "foundation",
  47. "path" : "/bin/foundation",
  48. "uid" : 7,
  49. "gid" : 7,
  50. "once" : 0,
  51. "importance" : 1,
  52. "caps" : [10, 11, 12, 13]
  53. }, {
  54. "name" : "shell",
  55. "path" : "/bin/shell",
  56. "uid" : 2,
  57. "gid" : 2,
  58. "once" : 0,
  59. "importance" : 0,
  60. "caps" : [4294967295]
  61. }, {
  62. "name" : "appspawn",
  63. "path" : "/bin/appspawn",
  64. "uid" : 1,
  65. "gid" : 1,
  66. "once" : 0,
  67. "importance" : 0,
  68. "caps" : [2, 6, 7, 8, 23]
  69. }, {
  70. "name" : "apphilogcat",
  71. "path" : "/bin/apphilogcat",
  72. "uid" : 4,
  73. "gid" : 4,
  74. "once" : 1,
  75. "importance" : 0,
  76. "caps" : []
  77. }, {
  78. "name" : "media_server",
  79. "path" : "/bin/media_server",
  80. "uid" : 5,
  81. "gid" : 5,
  82. "once" : 1,
  83. "importance" : 0,
  84. "caps" : []
  85. }, {
  86. "name" : "wms_server",
  87. "path" : "/bin/wms_server",
  88. "uid" : 6,
  89. "gid" : 6,
  90. "once" : 1,
  91. "importance" : 0,
  92. "caps" : []
  93. }, {
  94. "name" : "bundle_daemon",
  95. "path" : "/bin/bundle_daemon",
  96. "uid" : 8,
  97. "gid" : 8,
  98. "once" : 0,
  99. "importance" : 0,
  100. "caps" : [0, 1]
  101. },{
  102. "name": "wpa_supplicant",
  103. "path": "/bin/wpa_supplicant",
  104. "uid" : 0,
  105. "gid" : 0,
  106. "once" : 1,
  107. "importance" : 0,
  108. "caps": []
  109. }
  110. ]
  111. }

 編譯系統(tǒng)

此時(shí)我們配置好了wifi用戶(hù)名和密碼,也修改了wifi啟動(dòng)程序并設(shè)置好了啟動(dòng)腳本。接下來(lái)我們把這些修改編譯到系統(tǒng)中,然后再燒錄到板子上。

當(dāng)完整編譯系統(tǒng),燒錄好以后,新版本的系統(tǒng)起來(lái)以后,我們可以看到wlan0 的接口的IP地址正常獲取到了。

部署NFS

當(dāng)網(wǎng)絡(luò)打通以后,我們就可以部署NFS(網(wǎng)絡(luò)文件系統(tǒng))了。部署NFS最大的好處是,可以將windows的某個(gè)文件夾當(dāng)成開(kāi)發(fā)板上的文件夾來(lái)使用,這樣,不需要把編譯的程序手動(dòng)拷貝到開(kāi)發(fā)板去,就可以執(zhí)行編譯出來(lái)的程序。

主要分為如下3個(gè)過(guò)程:

  1. 安裝NFS Server
  2. 配置和啟動(dòng)Server
  3. 掛載NFS

安裝NFS

在PC上安裝NFS服務(wù)器。雙擊nfs1169.exe進(jìn)行安裝,同常規(guī)軟件安裝方法。

配置NFS

安裝好以后,就是配置了,這一步稍微麻煩。首先需要以管理員身份運(yùn)行NFS服務(wù)器。

開(kāi)始-->所有程序-->haneWIN軟件-->NFS-->NFS服務(wù)器(右鍵點(diǎn)擊)--選擇(以管理員身份運(yùn)行)。

編輯輸出表文件。如下。

然后保存。

然后我們配置防火墻,使得NFS相關(guān)的網(wǎng)絡(luò)通信暢通。先看需要放行哪些端口。

需要放行的端口有: 111, 1058, 2049. TCP和UDP都需要。

然后我們配置放行這些端口(即允許這些端口的流量通過(guò))。

控制面板\系統(tǒng)和安全\Windows 防火墻。

確保規(guī)則已配置好。然后重啟防火墻(關(guān)閉防火墻,再打開(kāi)防火墻)。

重啟NFS

開(kāi)始---所有程序---haneWIN軟件---NFS---重啟所有服務(wù)(以管理員身份運(yùn)行)。

掛載NFS

在開(kāi)發(fā)板shell界面,掛載NFS。

先確保開(kāi)發(fā)板和PC之間能互通(可以從PC ping開(kāi)發(fā)板)。我的開(kāi)發(fā)板和PC都通過(guò)wifi連接手機(jī)熱點(diǎn),所以在一個(gè)網(wǎng)段,能互相ping通。

然后開(kāi)發(fā)板上面執(zhí)行下面的命令。

除了IP地址調(diào)整成你PC的地址,其它信息照抄。掛載成功會(huì)顯示finished如紅框所示。

然后我們就可以執(zhí)行windows上的程序了。

在我的機(jī)器上,上述文件存放在d:\BIN目錄。因?yàn)檫@個(gè)目錄我配置成了NFS Server的根目錄。

所以,能從開(kāi)發(fā)板上看到并運(yùn)行它們。

上述這些內(nèi)容,是通過(guò)從編譯服務(wù)器拷貝出來(lái)的。如何拷貝,請(qǐng)參閱訪問(wèn)虛擬機(jī)章節(jié)。

添加組件

如果我們要新增程序怎么處理。請(qǐng)仿照范例中的camer_app處理。具體如下,比如我新增了一個(gè)reader程序,一個(gè)writer程序。以下描述reader的添加邏輯。

在applications\sample\camera目錄下,將app目錄復(fù)制一份,改名為reader。

然后修改reader里面的文件。先修改BUILD.gn:

然后源碼根據(jù)自己的實(shí)際情況修改。

最后修改編譯腳本build\lite\product\ ipcamera_hi3518ev300.json。

添加紅框中的一行,然后按組件編譯方式編譯就可以了。

編譯好的程序在out\ipcamera_hi3518ev300\bin目錄下。

?著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任

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

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

https://harmonyos./#zz


網(wǎng)站題目:手把手教你搭建鴻蒙hi3518開(kāi)發(fā)和運(yùn)行環(huán)境
本文網(wǎng)址:http://m.5511xx.com/article/djsiojp.html