Hi3861 SDK 开发环境搭建指南

一. SDK 开发环境简介

SDK 开发环境主要有:

1. Linux 服务器
    Linux 服务器主要用于建立交叉编译环境, 实现在 Linux 服务器上编译出可以在目标板上运行的可执行代码。

2. 工作台
    工作台主要用于目标板的烧录镜像和调试程序, 通过串口与目标板连接。
    通常我们需要在工作台安装
    (1)终端工具:用于登录 Linux 服务器, 通常有 SecureCRT、Putty、miniCom 等。
    (2)HiBurn.exe:用于烧录目标板的镜像、调试程序。

3. 目标板
    本文目标板为海思的 Hi3861 demo 板,demo 板通过 USB 转串口与工作台连接,工作台将交叉编译出来的镜像通过串口烧录到 demo 板上。 SDK 开发环境概念图如下:




 

二. 搭建 Linux 开发环境

2.1 环境准备

(1)Linux 系统推荐使用 Ubuntu 16.04
(2)Shell 使用 bash
(3)交叉编译器使用 hcc_riscv32
(4)Python 使用 Python 3.7.3 (注: 可以使用更高版本,但可能遇到其他环境问题。)
(5)Scons 使用 Scons 3.0.4 (注: 可以使用更高版本,但可能遇到其他环境问题。)

2.2 交叉编译器安装

(1)下载 tar.gz(实际名称以编译器发布版本为准)。

          riscv 的 gcc 交叉编译器, 以开源的方式托管在 github 上, 我们使用到的 riscv-gcc 子仓库链接如下: https://github.com/riscv/riscv-gcc

          将仓库 clone 下来,编译成 riscv32-unknown-elf-gcc 版本,具体方法可以参考下面的链接:https://blog.csdn.net/weiqi7777/article/details/88045720

(2)复制编译完成的文件夹或者下载的tar.gz 文件到根目录的 /toolchain 文件夹。

(3)解压缩(自己编译的可以跳过这步)

          tar zxvf hcc_riscv32.tar.gz

(4)递归修改编译器安装目录权限

           chmod -R 755 /toolchain

(5)设置环境变量

           vim /etc/profile

           在末尾新增: export PATH=/toolchain/hcc_riscv32/bin:$PATH

(6)生效环境变量

          source /etc/profile

(7)Shell 命令行输入

          riscv32-unknown-elf-gcc -v

          如果能正确显示编译器版本号,表明编译器安装成功

          eg. gcc version 7.3.0 (Heterogeneous Compiler&Codesign V100R003C00SPC210B006)

2.3 Python 环境安装

(1)打开 Linux 终端, 输入命令:python3 -V , 查看 Python 版本号, 推荐 Python 3.7.3 以上。
(2)如果自带的 Python 版本太低( Ubuntu 16.04 默认版本应该是 Python 2.7.12 ), 使用命令更新到最新:
          # root/sudo 权限下
          sudo apt-get install python3 -y
          打印 Python 3.7.3 版本号
          安装后请用第一步再次确认版本。如果仍不能满足版本要求, 建议直接在 Python 官网 https://www.python.org/downloads/source/
          下载 Python 3.7.3 版本的源码包 https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
          安装请阅读 https://wiki.python.org/moin/BeginnersGuide/Download
          或者参考论坛文章 https://blog.csdn.net/u014775723/article/details/85213793?depth_1-
          安装后请用第一步再次确认版本。
(3)安装 Python pip 工具( 包管理工具 ):
          # root/sudo 权限下
          sudo apt-get install python3-setuptools python3-pip -y

          Python 环境安装相关的常见问题以及解决方案:

          No module named “Crypto”
          https://www.cnblogs.com/fawaikuangtu123/p/9761943.html
   
          No module named ‘_ctypes’ 
          https://blog.csdn.net/u014775723/article/details/85224447

          安装 Python   
          https://www.jianshu.com/p/347e87e9d73b

          安装 Python 3.7 并将 Python 默认指向为 Python 3.7 
          https://blog.csdn.net/u014775723/article/details/85213793?depth_1-

         下载慢,更换软件源


          https://blog.csdn.net/baidu_36602427/article/details/86551862
          https://baijiahao.baidu.com/s?id=1669731390262884490&wfr=spider&for=pc

         卸载指定版本的 Python
         https://www.cnblogs.com/hellojesson/p/11394774.html

2.4 Python 依赖组件包安装

(1)Kconfiglib 组件包

          安装 Kconfiglib 13.2.0+

          自动安装       
               # root/sudo 权限
               sudo pip3 install kconfiglib

         手动安装
          a: 从官网 https://pypi.org/project/kconfiglib 下载文件 kconfiglib-13.2.0-py2.py3-none-any.whl
          b: root/sudo 下输入 pip3 install kconfiglibxxx.whl

          安装完成,终端有打印出下面字段

          Successfully installed kconfiglib-13.2.0

(2)升级文件签名依赖组件包 pycryptodome

           https://pypi.org/project/pycryptodome/#files 下载 pycryptodome-3.7.3-cp37-cp37m-manylinux1x8664.whl

           # root/sudo 权限
           pip3 install pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl

          安装完成后界面会提示 Successfully intalled pycryptodome-3.7.3

(3)升级文件签名依赖组件包 six

          https://pypi.org/project/six/ 下载 six-1.12.0-py2.py3-none-any.whl

          # root/sudo 权限
          pip3 install six-1.12.0-py2.py3-none-any.whl

          安装完成后界面会提示 Successfully intalled six-1.12.0

(4)升级文件签名依赖组件包 ecdsa

          https://pypi.org/project/ecdsa/ 下载 ecdsa-0.14.1-py2.py3-none-any.whl

          # root/sudo 权限
          pip3 install ecdsa-0.14.1-py2.py3-none-any.whl

         安装完成后界面会提示 Successfully intalled ecdsa-0.14.1

(5)查看安装完成的 pip 组件包

          pip3 list
          Package      Version
          ------------ -------
          ecdsa        0.14.1
          kconfiglib   14.1.0
          pip          20.1.1
          pycryptodome 3.7.3
          setuptools   40.8.0
          six          1.12.0

2.5    Scons 安装

(1) 打开 Linux 终端,输入命令

         # root/sudo 权限
         sudo apt-get install scons -y

        也可以在官网 https://scons.org/pages/download.html 下载源码包( Scons 3.0.4+ ), 解压到任意目录,进入目录运行 sudo python3 setup.py install 等待安装完成

(2) 查看是否安装成功 Scons -v

         scons -v

         SCons by Steven Knight et al.:
         script: v3.0.4.3a41ed6b288cee8d085373ad7fa02894e1903864, 2019-01-23 17:30:35, by bdeegan on kufra
               engine: v3.0.4.3a41ed6b288cee8d085373ad7fa02894e1903864, 2019-01-23 17:30:35, by bdeegan on kufra
               engine path: ['/usr/local/lib/scons/SCons']
         Copyright (c) 2001 - 2019 The SCons Foundation

总结

本文主要介绍了基于海思 Hi3861 平台 SDK 开发环境搭建, 经过以上步骤 (主要是 Python 和 Scons 安装),  我们已经完成 Hi3861 SDK 开发所需的软硬件环境搭建,  接下来就可以利用 SDK 进行开发和编译了, 我会在后续的博文中给大家介绍。

参考资料

《 Hi3861V100/Hi3861LV100 SDK开发环境搭建 用户指南.pdf 》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能