#2020徵文-開發板# 用鴻蒙開發AI應用(三)軟體篇
目錄:
前言
上一篇,我們在 Win10 上用虛擬機安裝了 Ubuntu,並設置了文件共享。這一篇,在此基礎上編譯鴻蒙os的源碼,並進行設備燒錄。
HarmonyOS 簡介
1. 系統定義
HarmonyOS是一款「面向未來」、面向全場景(移動辦公、運動健康、社交通訊、媒體娛樂等)的分散式作業系統。在傳統的單設備系統能力的基礎上,HarmonyOS提出了基於同一套系統能力、適配多種終端形態的分散式理念,能夠支援多種終端設備。
2. 技術架構
HarmonyOS整體遵從分層設計,從下向上依次為:內核層、系統服務層、框架層和應用層。系統功能按照「系統 > 子系統 > 功能/模組」逐級展開,在多設備部署場景下,支援根據實際需求裁剪某些非必要的子系統或功能/模組。
這次開源的內核僅包含HarmonyOS微內核的部分,Linux內核要等下一個版本。
3. 分散式軟匯流排
分散式軟匯流排是多種終端設備的統一基座,為設備之間的互聯互通提供了統一的分散式通訊能力,能夠快速發現並連接設備,高效地分發任務和傳輸數據。
4. 分散式設備虛擬化
分散式設備虛擬化平台可以實現不同設備的資源融合、設備管理、數據處理,多種設備共同形成一個超級虛擬終端。針對不同類型的任務,為用戶匹配並選擇能力合適的執行硬體,讓業務連續地在不同設備間流轉,充分發揮不同設備的資源優勢。
主要特性還是分散式架構和設備虛擬化技術,更詳細的資料,參考官網描述
//device.harmonyos.com/cn/docs/start/learn/oem_des_define-0000001055232642
DevEco Device Tool(windows下)
官網下載Visual Studio Code軟體包,要求為1.45.1及以上版本。
1. 工具簡介
HUAWEI DevEco Device Tool(以下簡稱DevEco Device Tool)是HarmonyOS面向智慧設備開發者提供的一站式集成開發環境,支援HarmonyOS的組件按需訂製,支援程式碼編輯、燒錄和調試等功能,支援C/C++語言,以插件的形式部署在Visual Studio Code上。該工具具有以下特點:
DevEco Device Tool以Visual Studio Code插件形式提供,體積小巧。
支援程式碼查找、程式碼高亮、程式碼自動補齊、程式碼輸入提示、程式碼檢查等,開發者可以輕鬆、高效編碼。
支援多種類型開發板,包括ARM架構的Hi3516/Hi3518系列和RISC-V架構的Hi3861系列開發板,提供一鍵式的燒錄和調試GUI介面。
支援單步調試能力和查看記憶體、變數、調用棧、暫存器、彙編等調試資訊。
2. 安裝 Visual Studio Code
https://code.visualstudio.com/
懶得下載的,在文末網盤裡也能獲取最新版本的安裝包。
3. 安裝Node.js
官網下載鏈接,請選擇LTS版本12.0.0及以上,Windows 64位對應的軟體包。
https://nodejs.org/en/download/
安裝完畢,在「此電腦 > 屬性 > 高級系統設置 > 高級 > 環境變數 >系統變數」中,新增NODE_PATH變數,值為:C:\Users\{userName}\AppData\Roaming\npm\node_modules,其中userName請替換為實際的用戶名稱。
4. 安裝JDK
下載並安裝JDK,版本要求為:1.8版本。
//www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下載完成後,安裝 jdk-8u271-windows-x64.exe即可。
5. 安裝hpm
基於 node.js ,全局模式安裝腳手架
npm install -g @ohos/hpm-cli
測試安裝是否成功
hpm -V
6. 安裝DevEco Device Tool插件
如果您已經安裝過DevEco Device Tool 插件,在您安裝新版本前,請先手動將已安裝的DevEco Device Tool 插件卸載後再按照如下步驟進行安裝。
在產品頁下載工具插件
https://device.harmonyos.com/cn/ide
採用從本地磁碟安裝方式,安裝DevEco Device Tool。
7. 安裝C/C++插件
HarmonysOS設備開發採用C/C++語言,Visual Studio Code工具對C/C++語言的支援插件非常豐富,可以安裝「C/C++」插件來實現C/C++程式碼智慧提示、程式碼高亮、格式化等功能,幫助您更高效、便利的開發更規範和優美的程式碼。
在Visual Studio Code的插件市場,輸入「C/C++」,然後點擊「Install」。
獲取源碼(切換到ubuntu)
官網提供了4種方式,這裡我們採用從程式碼倉庫獲取,進入虛擬機的 ubuntu 系統。
1. 將Linux shell改為bash
查看shell是否為bash,在終端運行如下命令
ls -l /bin/sh
如果顯示為「/bin/sh -> bash」則為正常,否則請按以下方式修改:
在終端運行如下命令,然後選擇 no。
ls -l /bin/sh
2. 安裝ssh server (可選)
如果要通過ssh對外提供鏈接的話,可以安裝ssh服務
sudo apt-get install openssh-server
其餘相關命令
# 查看ssh 服務 sudo ps -e | grep ssh # 開啟服務 sudo /etc/init.d/ssh start # 查看服務狀態 sudo service ssh status # 關閉服務 sudo service ssh stop # 重啟服務 sudo service ssh restart
這時其他電腦就能通過 ssh 命令來訪問 ubuntu 了,如果喜歡的話,也可以安裝putty-64bit-0.74-installer.msi來連接。
3. 配置 python 環境
Ubuntu 20.04.1 默認已經帶了 python3.8
which python
/usr/bin/python3.8
建立軟鏈接,指向 python
cd /usr/bin sudo ln -s /usr/bin/python3.8 python && python --version
4. 安裝並升級Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y sudo pip3 install --upgrade pip
配置 pip 換源,新建 ~/.pip/pip.conf ,寫入清華源
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
安裝python模組setuptools
pip3 install setuptools
安裝GUI menuconfig工具(Kconfiglib),建議安裝Kconfiglib 13.2.0+版本
sudo pip3 install kconfiglib
5. 安裝文件打包工具
sudo apt-get install dosfstools mtools mtd-utils
6. 下載、配置編譯工具鏈
mkdir -p ~/harmony/tools && cd ~/harmony/tools # 下載gn/ninja/LLVM/hc-gen包: URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler wget $URL_PREFIX/gn/1523/linux/gn.1523.tar wget $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar wget $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar wget $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar # 解壓gn/ninja/LLVM/hc-gen包: tar -C ~/harmony/tools/ -xvf gn.1523.tar tar -C ~/harmony/tools/ -xvf ninja.1.9.0.tar tar -C ~/harmony/tools/ -xvf llvm-linux-9.0.0-34042.tar tar -C ~/harmony/tools/ -xvf hc-gen-0.65-linux.tar # 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路徑配置: cat <<EOF >> ~/.bashrc export PATH=~/harmony/tools/gn:\$PATH export PATH=~/harmony/tools/ninja:\$PATH export PATH=~/harmony/tools/llvm/bin:\$PATH export PATH=~/harmony/tools/hc-gen:\$PATH EOF # 生效環境變數 source ~/.bashrc
7. 安裝虛擬環境
sudo pip3 install -U virtualenv virtualenv -p python3 ~/my_envs/harmonyos source ~/my_envs/harmonyos/bin/activate pip install requests # 後續repo需要
作者:bluishfish
想了解更多內容,請訪問: 51CTO和華為官方戰略合作共建的鴻蒙技術社區//harmonyos.51cto.com/