目录
- 一、概述
- 二、解压SDK,打补丁
- 三、安装交叉编译工具
- ✨3.1 安装 aarch64-mix410-linux.tgz
- ✨3.2 安装 cc-riscv32-cfg11-musl-20220523-elf.tar.gz
- ✨3.3 检查工具链版本,打印版本则表示安装成功
- 四、安装软件包
- ✨4.1 安装软件包
- ✨4.2 安装mtd-utils的依赖库
- ✨4.3 安装pip和kconfiglib
- 五
一、概述
这篇文章主要记录在 Ubuntu18.04 安装海思SS626整个SDK的全过程,以及编译过程中遇到的问题。
编译环境:
Win10
+VMware17Pro
+Ubuntu 18.04 LTS
VMware17Pro
的安装可以参考:windows安装VMware最新版本(VMware Workstation 17.0 Pro)详细教程
Ubuntu 18.04 LTS
是前几天刚安装的新系统,只装了几个软件Vim、samba、ssh
,这样可以避免之前安装过的软件包在无意中解决了此次编译的问题i。其安装过程记录在:【海思SS626 | 开发环境】VMware17安装Ubuntu 18.04.6
重要说明:
编译所有的海思SDK之前,要留意海思SDK中关于开发环境的几个文档,不要拿到SDK就直接按照readme去编译。SDK文档会需要按照哪些库,这样可以避免编译过程中出现不必要的错误。
编译SDK需要阅读的文档路径:
SS626ReleaseDoc\zh\01.software\board\OSDRV\SS626V100 开发环境用户指南.pdf
;
SS626ReleaseDoc\zh\01.software\board\OSDRV\Huawei LiteOS 开发指南.pdf
二、解压SDK,打补丁
2.1 解压
SS626V100R001C02SPC010.rar
,在Windows解压也可以;
2.2 解压后,有三个目录:00.hardware、01.software、02.only for reference
2.3 打补丁,将
ot
开头的API函数转换成hi
开头:
- 将
SS626V100R001C02SPC010\02.only for reference\software
目录下的ref_patch.sh
和SS626V100_REF_V2.0.1.0.tgz
复制到SS626V100R001C02SPC010
目录,readme.txt 是使用说明;
- 将
SS626V100R001C02SPC010\01.software\board\SS626V100_SDK_V2.0.1.0.tgz
复制到SS626V100R001C02SPC010
,复制后SS626V100R001C02SPC010
目录如下:
- 解压
SS626V100_SDK_V2.0.1.0.tgz
,并进去执行sdk.unpack
,执行后回到SS626V100R001C02SPC010
目录;- 解压
SS626V100_REF_V2.0.1.0.tgz
,执行ref_patch.sh
。
操作步骤代码如下:
# 1. 复制 ref_patch.sh 和 SS626V100_REF_V2.0.1.0.tgz $ cp 02.only\ for\ reference/software/ref_patch.sh ./ $ cp 02.only\ for\ reference/software/SS626V100_REF_V2.0.1.0.tgz ./ # 2. 复制 SS626V100_SDK_V2.0.1.0.tgz $ cp 01.software/board/SS626V100_SDK_V2.0.1.0.tgz ./ # 3.解压 SS626V100_SDK_V2.0.1.0.tgz 并进去执行 sdk.unpack $ tar zxf SS626V100_SDK_V2.0.1.0.tgz $ cd SS626V100_SDK_V2.0.1.0/ $ ./sdk.unpack $ cd .. # 4.解压 SS626V100_REF_V2.0.1.0.tgz ,执行 ref_patch.sh $ tar zxf SS626V100_REF_V2.0.1.0.tgz $ chmod +x ref_patch.sh $ ./ref_patch.sh
完成上面步骤后,
SS626V100R001C02SPC010\SS626V100_SDK_V2.0.1.0
就是以hi
开头的API的SDK了。例程代码在SS626V100R001C02SPC010\SS626V100_SDK_V2.0.1.0\amp\a55_linux\mpp\sample
; u-boot、内核源码在SS626V100R001C02SPC010\SS626V100_SDK_V2.0.1.0\open_source
。
三、安装交叉编译工具
只要是SS626的开发主机,无论你是否需要编译SDK,都需要安装交叉编译工具,这节记录SS626的两个交叉编译工具的安装过程:
✨3.1 安装 aarch64-mix410-linux.tgz
tar -zxf aarch64-mix410-linux.tgz
cd aarch64-mix410-linux/
chmod +x aarch64-mix410-linux.install
sudo ./aarch64-mix410-linux.install
source /etc/profile
✨3.2 安装 cc-riscv32-cfg11-musl-20220523-elf.tar.gz
tar -zxf cc-riscv32-cfg11-musl-20220523-elf.tar.gz
cd cc-riscv32-cfg11-musl-20220523-elf/
sudo ./install.sh
cd cc-riscv32-cfg11-musl-20220523-elf/bin
echo "export PATH=$(pwd):\${PATH}" >> $HOME/.profile
source ~/.profile
✨3.3 检查工具链版本,打印版本则表示安装成功
aarch64-mix410-linux-gcc -v
riscv32-cfg11-musl-20220523-elf-gcc -v
四、安装软件包
本文的操作系统是Ubuntu18.04LTS的,这个是为了与SS626的开发包编译系统保持一致而重新安装的系统,基本没安装过其他软件。下面根据《SS626V100 开发环境用户指南.pdf》
进行安装必要的软件包。
✨4.1 安装软件包
这里的软件包有点多,我也没去试哪些不需要装,反正总共就400多M,建议按照文档全部安装,避免编译过程中遇到问题:
sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo texlive gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libtool autopoint gettext po4a
✨4.2 安装mtd-utils的依赖库
mtd-utils依赖以下几个库,以ubuntu为例,安装方式请参考下面命令:
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
✨4.3 安装pip和kconfiglib
LiteOS 编译需要安装的工具包括python
、 pip
和kconfiglib
,python在Ubuntu18.04系统已经默认安装了 python2.7
和 python3.6
,符合编译要求,下面只安装pip和kconfiglib,如果你的系统没有python,则需要到 python3.8 官网根据文档安装。
- setuptools安装
pip依赖setuptools,如果setuptools不存在,也需要安装:
点击 setuptools源代码包下载地址,可以参考下面的命令进行安装:
unzip setuptools-50.3.2.zip
cd setuptools-50.3.2/
python3 setup.py install
- pip安装
点击 pip源代码包下载地址,可以参考下面的命令进行安装:
tar zxf pip-20.2.4.tar.gz
cd pip-20.2.4/
sudo python3 setup.py install
- kconfiglib安装
sudo pip install kconfiglib
注意:
setuptools最新版本不支持python 2.7,如果使用python 2.7,请下载setuptools 45.0.0版本以支持python 2.7。
前面都是使用python3去安装的,所以需要将 /usr/bin/python
软链接指向python3.6 避免编译出错,参考下面命令修改:
$ ls /usr/bin/python -l
lrwxrwxrwx 1 root root 9 4月 16 2018 /usr/bin/python -> python2.7
$ cd /usr/bin
$ sudo rm python
$ sudo ln -s python3.6 python
$ ls /usr/bin/python -l
lrwxrwxrwx 1 root root 9 9月 13 20:14 /usr/bin/python -> python3.6
五
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁