鴻蒙開發快速入門之:Hi3861 開發板(2)環境搭建

這是 Hi3861 開發板進行 OpenHarmony 開發快速入門的第二篇,主要學習如何搭建環境。html

硬件要求

  • Linux服務器
  • Windows工做臺(主機電腦)
  • Hi3861 WLAN模組
  • USB Type-C線(Windows工做臺經過USB與Hi3861 WLAN模組鏈接)

各硬件鏈接關係以下圖所示。python

圖 1 硬件連線圖
linux

軟件系統要求

表 1 Hi3861 WLAN模組開發平臺要求shell

硬件bootstrap

軟件vim

描述bash

備註服務器

Linux編譯服務器dom

操做系統curl

Ubuntu16.04及以上64位系統版本,Shell使用bash

開發人員能夠在Windows工做臺中進行程序開發,或者遠程登陸到Linux服務器進行程序開發。

Windows工做臺

操做系統

Windows XP/Windows7/Windows10

Linux構建工具要求

Linux服務器通用環境配置須要的工具及其獲取途徑以下表所示。

表 2 Linux服務器開發工具及獲取途徑

開發工具

用途

獲取途徑

交叉編譯器gcc_riscv32

交叉編譯工具

http://tools.harmonyos.com/mirrors/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

Python3.7+

編譯構建工具

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

SCons3.0.4+

編譯構建工具

經過互聯網獲取

bash

命令處理器

經過互聯網獲取

build-essential

編譯依賴的基礎軟件包

經過互聯網獲取

gn

產生ninja編譯腳本

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

ninja

執行ninja編譯腳本

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

Windows開發工具要求

表 3 Windows工做臺開發工具及獲取途徑

開發工具

用途

獲取途徑

Visual Studio Code

代碼編輯工具。

https://code.visualstudio.com/

HUAWEI DevEco Device Tool

IDE開發工具,支持WLAN模組的代碼編寫、遠程編譯、版本燒錄、串口調試等功能。

說明:

HUAWEI DevEco Device Tool是OpenHarmony面向智能設備開發者提供的一站式集成開發環境,支持OpenHarmony的組件按需定製,支持C/C++語言,以插件的形式部署在Visual Studio Code上。

https://device.harmonyos.com/cn/ide

IPOP、PuTTY或其餘超級終端(選其一)

遠程鏈接Linux編譯服務器,鏈接模組串口工具。

經過互聯網獲取(如:https://www.putty.org/

CH341SER.EXE

USB轉串口驅動。

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

安裝編譯基礎環境

鏈接Linux服務器

使用Windows遠程登陸Linux,以PUTTY工具爲例:

  1. 打開PuTTY工具,輸入Linux服務器IP地址,後點擊「open」,打開鏈接。

    圖 2 PuTTY界面示例圖

  2. 彈框告警選擇「是(Y)」。

  3. 彈出界面中輸入帳號並按回車鍵,繼續輸入密碼並回車鍵。

    圖 3 登陸界面圖

  4. 登陸成功。

    圖 4 登陸成功界面

將Linux shell改成bash

查看shell是否爲bash,在終端運行以下命令

ls -l /bin/sh

若是爲顯示爲/bin/sh -> bash則爲正常,不然請按如下方式修改:

方法一:在終端運行以下命令,而後選擇 no。

sudo dpkg-reconfigure dash

方法二:先刪除sh,再建立軟連接。

rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh

安裝Python環境

  1. 打開Linux編譯服務器終端。

  2. 輸入命令「python3 --version」,查看Python版本號。需使用python3.7以上版本,不然請按如下步驟執行,以python3.8爲例:

    • 若是Ubuntu 版本爲18,運行"sudo apt-get install python3.8"

    • 若是Ubuntu 版本爲16,請如下載包的方式安裝python:

      1. python安裝環境依賴(gcc, g++, make, zlib, libffi)請運行:

      "sudo apt-get install gcc && sudo apt-get install g++ && sudo apt-get install make && sudo apt-get install zlib* && sudo apt-get install libffi-dev "

      1. 獲取python3.8.5安裝包,將其放至linux服務器中,運行 :

      "tar -xvzf Python-3.8.5.tgz && cd Python-3.8.5 && sudo ./configure && make && sudo make install"

      1. 肯定Python-3.8.5安裝好後,運行"which python3.8",將回顯路徑連接到"/usr/bin/python",示例:

      "cd /usr/bin && rm python && ln -s /usr/local/bin/python3.8 python && python --version"

    • 安裝Python包管理工具,運行「sudo apt-get install python3-setuptools python3-pip -y」命令。(需root/sudo權限安裝),升級pip3運行"sudo pip3 install --upgrade pip"。

      或按官網方式安裝Python包管理工具:下載"curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py"後,再執行"python get-pip.py"

  3. 安裝python模塊setuptools,運行"pip3 install setuptools"

  4. 運行「sudo pip3 install kconfiglib」命令,安裝GUI menuconfig工具,建議安裝Kconfiglib 13.2.0+版本。(需root/sudo權限安裝)。

    或者按如下方法安裝Kconfiglib 13.2.0+。

    1. 下載.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。

      下載路徑:「https://pypi.org/project/kconfiglib#files

    2. 運行「sudo pip3 install kconfiglib-xxx.whl」命令(例如:sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl),安裝.whl文件(需root/sudo權限安裝)。

    3. 可能會遇到錯誤:"subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.",解決方法:"find / -name lsb_release",找到lsb_release位置並刪除,如:"rm -rf /usr/bin/lsb_release"

  5. 安裝pycryptodome。運行「sudo pip3 install pycryptodome」命令,或者按照如下方式安裝:

     說明:

    • 安裝升級文件簽名依賴的Python組件包,包括:pycryptodome、six、ecdsa。
    • 安裝ecdsa依賴six,請按文檔要求,先安裝six,再安裝ecdsa。
    1. 下載.whl文件(例如:pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl)。

      下載路徑:「https://pypi.org/project/pycryptodome/#files」。

    2. 運行「sudo pip3 install pycryptodome-xxx.whl」命令(例如:sudo pip3 install pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl),安裝.whl文件(需root/sudo權限安裝)。

    安裝完成後界面會提示「Successfully installed pycryptodome-3.7.3」。

  6. 安裝six。運行"sudo pip3 install six --upgrade --ignore-installed six"或者按照如下方式安裝:

    1. 下載.whl文件(例如:six-1.12.0-py2.py3-none-any.whl)。

      下載路徑:「https://pypi.org/project/six/#files

    2. 運行「sudo pip3 install six-xxx.whl」命令(例如:sudo pip3 install six-1.12.0-py2.py3-none-any.whl),安裝.whl文件(需root/sudo權限安裝)。

    安裝完成後界面會提示「Successfully installed six-1.12.0」。

  7. 安裝ecdsa。運行"sudo pip3 install ecdsa"或者按照如下方式安裝:

    1. 下載.whl文件(例如:ecdsa-0.14.1-py2.py3-none-any.whl)。

      下載路徑:「https://pypi.org/project/ecdsa/#files

    2. 運行「sudo pip3 install ecdsa-xxx.whl」命令(例如:sudo pip3 install ecdsa-0.14.1-py2.py3-none-any.whl),安裝.whl文件(需root/sudo權限安裝)。

    安裝完成後界面會提示「Successfully installed ecdsa-0.14.1」。

安裝Scons

  1. 打開Linux編譯服務器終端。

  2. 安裝SCons安裝包(需root/sudo權限安裝)。

    運行命令:「sudo apt-get install scons -y」。若是軟件源中沒法找到安裝包,請按如下步驟處理:

    1. 下載源碼包(下載路徑:「 https://scons.org/pages/download.html 」,推薦SCons版本是3.0.4+)。
    2. 解壓源碼包到任意目錄。
    3. 安裝源碼包:進入解壓目錄,運行命令「sudo python3 setup.py install」(需root/sudo權限安裝),等待安裝完畢。
  3. 輸入命令「scons -v」,查看是否安裝成功。若是安裝成功,查詢結果下圖所示。

    圖 5 SCons安裝成功界面

安裝編譯工具環境

 須知:

  • 若是後續經過「HPM組件方式」或「HPM包管理器命令行工具方式」獲取源碼,不須要安裝gn、ninja、gcc_riscv32編譯工具。
  • (推薦)若是後續經過「鏡像站點方式」或「代碼倉庫方式」獲取源碼,須要安裝gn、ninja、gcc_riscv32編譯工具。 安裝gn、ninja、gcc_riscv32編譯工具時,請確保編譯工具的環境變量路徑惟一。

安裝gn

  1. 打開Linux編譯服務器終端。
  2. 下載gn工具
  3. 解壓gn安裝包至~/gn路徑下:"tar -xvf gn.1523.tar -C ~/"。
  4. 設置環境變量:"vim ~/.bashrc", 新增:"export PATH=~/gn:$PATH"。
  5. 生效環境變量:"source ~/.bashrc"。

安裝ninja

  1. 打開Linux編譯服務器終端
  2. 下載ninja工具
  3. 解壓ninja安裝包至~/ninja路徑下:"tar -xvf ninja.1.9.0.tar -C ~/"。
  4. 設置環境變量:"vim ~/.bashrc", 新增:"export PATH=~/ninja:$PATH"。
  5. 生效環境變量:"source ~/.bashrc"。

安裝gcc_riscv32(WLAN模組類編譯工具鏈)

 須知: Hi3861平臺僅支持使用libgcc運行時庫的靜態連接,不建議開發者使用libgcc運行時庫的動態連接,會致使商業分發時被GPL V3污染。

  1. 打開Linux編譯服務器終端。
  2. 下載gcc_riscv32工具
  3. 解壓gcc_riscv32安裝包至/opt/gcc_riscv32路徑下:"tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/"。
  4. 設置環境變量:"vim ~/.bashrc",新增:"export PATH=~/gcc_riscv32/bin:$PATH"。
  5. 生效環境變量:"source ~/.bashrc"。
  6. Shell命令行中輸入「riscv32-unknown-elf-gcc -v」,若是能正確顯示編譯器版本號,代表編譯器安裝成功。
相關文章
相關標籤/搜索