[文章]Hi3861开发板环境搭建

阅读量0
0
2
搭建环境环境要求硬件要求
  • Linux服务器
  • Windows工作台(主机电脑)
  • Hi3861 WLAN模组
  • USB Type-C线(Windows工作台通过USB与Hi3861 WLAN模组连接)
各硬件连接关系如下图所示。
图 1 硬件连线图

软件系统要求表 1 Hi3861 WLAN模組开发平台要求

[td]
硬件
软件
描述
备注
Linux编译服务器
操作系统
Ubuntu16.04及以上64位系统版本,Shell使用bash
开发人员可以在Windows工作台中进行程序开发,或者远程登录到Linux服务器进行程序开发。
Windows工作台
操作系统
Windows XP/Windows7/Windows10
Linux构建工具要求Linux服务器通用环境配置需要的工具及其获取途径如下表所示。
表 2 Linux服务器开发工具及获取途径

开发工具
用途
获取途径

交叉编译器gcc_riscv32
交叉编译工具
https://repo.huaweicloud.com/harmonyos/compiler/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编译脚本
https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja
执行ninja编译脚本
https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar


Windows开发工具要求表 3 Windows工作台开发工具及获取途径

[td]
开发工具
用途
获取途径
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工具为例:
  • 打开PuTTY工具,输入Linux服务器IP地址,后点击“open”,打开连接。
    图 2 PuTTY界面示例图
  • 弹框告警选择“是(Y)”。
  • 弹出界面中输入账号并按回车键,继续输入密码并回车键。
    图 3 登录界面图
  • 登录成功。
    图 4 登录成功界面

将Linux shell改为bash查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh

如果为显示为/bin/sh -> bash则为正常,否则请按以下方式修改:
方法一:在终端运行如下命令,然后选择 no。
sudo dpkg-reconfigure dash

方法二:先删除sh,再创建软链接。
sudo rm /bin/shsudo ln -s /bin/bash /bin/sh

安装Python环境
  • 打开Linux编译服务器终端。
  • 输入命令“python3 --version”,查看Python版本号。需使用python3.7以上版本,否则请按以下步骤执行,以python3.8为例:
    • 如果Ubuntu 版本为18,按以下方式安装python:
      • 运行sudo apt-get install python3.8
      • 运行python3 -V查看版本,如果是3.8.x版本,则安装成功, 否则执行第3步
      • 运行以下命令, 修改python3软链接
      which python3cd /usr/bin  //进入上一命令输出的路径, 以/usr/bin为例sudo rm python3sudo ln -s python3.8 python3
    • 如果Ubuntu 版本为16,请以下载包的方式安装python:
      • 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 "
      • 获取python3.8.5安装包,将其放至linux服务器中,运行 :
      "tar -xv*** Python-3.8.5.tgz && cd Python-3.8.5 && sudo ./configure && sudo make && sudo make install"
      • 确定Python-3.8.5安装好后,运行"which python3.8",将回显路径链接到"/usr/bin/python3",示例:
      "cd /usr/bin && sudo rm python3 && ln -s /usr/local/bin/python3.8 python3 && python3 --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"
  • 安装python模块setuptools,运行"pip3 install setuptools"
  • 运行“sudo pip3 install kconfiglib”命令,安装GUI menuconfig工具,建议安装Kconfiglib 13.2.0+版本。(需root/sudo权限安装)。
    或者按以下方法安装Kconfiglib 13.2.0+。
    • 下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。
      下载路径:“https://pypi.org/project/kconfiglib#files
    • 运行“sudo pip3 install kconfiglib-xxx.whl”命令(例如:sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl),安装.whl文件(需root/sudo权限安装)。
    • 可能会遇到错误:"subprocess.CalledProcessError: Command '('l***_release', '-a')' returned non-zero exit status 1.",解决方法:"find / -name l***_release",找到l***_release位置并删除,如:"sudo rm /usr/bin/l***_release"
  • 安装pycryptodome。运行“sudo pip3 install pycryptodome”命令,或者按照以下方式安装:
    说明:
    • 安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。
    • 安装ecdsa依赖six,请按文档要求,先安装six,再安装ecdsa。
    • 下载.whl文件(例如:pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl)。
      下载路径:“https://pypi.org/project/pycryptodome/#files”。
    • 运行“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”。
  • 安装six。运行"sudo pip3 install six --upgrade --ignore-installed six"或者按照以下方式安装:
    • 下载.whl文件(例如:six-1.12.0-py2.py3-none-any.whl)。
      下载路径:“https://pypi.org/project/six/#files
    • 运行“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”。
  • 安装ecdsa。运行"sudo pip3 install ecdsa"或者按照以下方式安装:
    • 下载.whl文件(例如:ecdsa-0.14.1-py2.py3-none-any.whl)。
      下载路径:“https://pypi.org/project/ecdsa/#files
    • 运行“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
  • 打开Linux编译服务器终端。
  • 安装SCons安装包(需root/sudo权限安装)。
    运行命令:“sudo apt-get install scons -y”。如果软件源中无法找到安装包,请按以下步骤处理:
    • 下载源码包(下载路径:“ https://scons.org/pages/download.html ”,推荐SCons版本是3.0.4+)。
    • 解压源码包到任意目录。
    • 安装源码包:进入解压目录,运行命令“sudo python3 setup.py install”(需root/sudo权限安装),等待安装完毕。
  • 输入命令“scons -v”,查看是否安装成功。如果安装成功,查询结果下图所示。
    图 5 SCons安装成功界面

安装编译工具环境
须知:
  • 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja、gcc_riscv32编译工具。
  • (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、gcc_riscv32编译工具。 安装gn、ninja、gcc_riscv32编译工具时,请确保编译工具的环境变量路径唯一。
安装gn
  • 打开Linux编译服务器终端。
  • 下载gn工具。
  • 解压gn安装包至~/gn路径下:"tar -xvf gn.1523.tar -C ~/"。
  • 设置环境变量:"vim ~/.bashrc", 新增:"export PATH=~/gn:$PATH"。
  • 生效环境变量:"source ~/.bashrc"。
安装ninja
  • 打开Linux编译服务器终端
  • 下载ninja工具。
  • 解压ninja安装包至~/ninja路径下:"tar -xvf ninja.1.9.0.tar -C ~/"。
  • 设置环境变量:"vim ~/.bashrc", 新增:"export PATH=~/ninja:$PATH"。
  • 生效环境变量:"source ~/.bashrc"。
安装gcc_riscv32(WLAN模组类编译工具链)
须知: Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。
  • 打开Linux编译服务器终端。
  • 下载gcc_riscv32工具。
  • 解压gcc_riscv32安装包至~/gcc_riscv32路径下:"tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/"。
  • 设置环境变量:"vim ~/.bashrc",新增:"export PATH=~/gcc_riscv32/bin:$PATH"。
  • 生效环境变量:"source ~/.bashrc"。
  • Shell命令行中输入“riscv32-unknown-elf-gcc -v”,如果能正确显示编译器版本号,表明编译器安装成功。


回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友