海思SS928-流媒体开发入门
文章目录
前言
写了海思SS928-流媒体开发入门文章,但为了快速入门,开发环境一直采用的厂家提供的Ubutun虚拟机环境,省去了开发环境搭建的过程,但是虚拟机开发,受性能影响效率太低,也不方便,结合厂家论坛的开发环境配置文章,动手搭建、配置并记录下海思Ubutun开发环境的搭建过程,需要的话可以随时搭建一套开发环境,和大家共同学习。
尊重原创作者,还是先贴下原文章出处,如下
关于SS928评估板学习(四):安装操作方法_专栏_易百纳技术社区
一、依赖的软件包安装
推荐采用 Ubuntu 18系统,笔者采用了Ubuntu 18.04.6 LTS版本系统。
注意:需要先配置网络,软件包的安装采用了在线安装方式,需要能访问互联网
1.配置默认使用bash
执行: sudo dpkg-reconfigure das
选择no
2.软件包安装
安装交叉编译环境前需要先安装一些必要的依赖包,可以根据自己系统环境中缺失的软件包,进行安装脚本的增减,确认完需要安装的脚本并调整后执行如下:
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
3.创建/etc/ld.so.preload文件
执行如下脚本,解决64bit linux server上某些第三方库编译失败的问题。
echo "" > /etc/ld.so.preload
4.mtd-utils依赖以下几个库,以ubuntu为例,安装命令:
sudo apt-ge install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
由于mtd-utils通过pkg-config工具检查各个库是否正常安装,因此设置pkg-config工具搜索路径:export PKG_CONFIG_PATH=”$PKG_CONFIG_PATH:/usr/lib/x86_64-linuxgnu/pkgconfig”
5.e2fsprogs依赖texlive库,安装方式如下命令:
sudo apt-get install texlive
注意:采用linux系统的可以不用安装6、7步,直接安装编译工具
6.LiteOS编译需要安装的工具包括python、pip和kconfiglib
a.确保服务器已安装python,python 2.7/3.2+均支持。如果服务器没有安装python,根据官网python 2.7安装文档或python 3.8安装文档,完成安装。
b.确保服务器已安装pip
如果pip命令不存在,可以下载源码包进行安装。pip依赖setuptools,如果setuptools不存在,也需要安装。
c.安装Kconfiglib
-对于服务器可以联网的情况。可以直接使用如下命令安装Kconfiglib:
sudo pip install kconfiglib
-可以采用离线的方式安装。首先在其他能联网的环境上下载Kconfiglib,当前
Kconfiglib的版本号为14.1.0,可以下载Kconfiglib的wheel文件Kconfiglib-14.1.0-py2.py3-none-any.whl或源代码文件Kconfiglib-14.1.0.tar.gz。
-
wheel文件的安装,可以参考如下命令:
sudo pip install kconfiglib-14.1.0-py3-none-any.whl
-
源代码文件的安装,可以参考如下命令:
sudo tar-zxvf Kconfiglib-14.1.0.tar.gz
cd Kconfiglib-14.1.0
sudo phyon setup.py install
7.optee模块依赖python3.x.x、pip3、wheel、pycryptodome、pyelftools库
python3.x.x安装推荐python3.7.6版本
下载安装并执行如下指令:
tar -zxvf Python-3.7.6.tgz
cd Python-3.7.6/
./configure
make
make install
wheel推荐源码安装,pip安装可能失败
下载wheel-0.36.2.tar.gz安装包
tar -xzf wheel-0.36.2.tar.gz
cd wheel-0.36.2
sudo python2 setup.py install
sudo pip3 install pycryptodome-3.9.8-cp37-cp37m-manylinux1_x86_64.whl
sudo pip3 install pyelftools-0.27-py2.py3-none-any.whl
备注:pycryptodome依赖于python3.x.x环境请先升级至python3.x.x版本再安装pycryptodome库。
二、安装交叉编译工具
执行如下命令进行解压、安装:
//解压
tar-xvf aarch64-mix210-linux.tgz
//安装工具链
sudo./aarch64-mix210-linux.install
测试:命令行,执行 aarch64-mix210-linux-gcc -v
查看是否有编译环境的版本信息输出,并无报错
三、安装riscv交叉编译工具
1.解压工具链
执行如下命令进行解压:
tar-xvf cc-riscv32-cfg5-musl-xxxxxxxx-elf.tar.gz
2.安装工具链
cd cc-riscv32-cfg5-musl-xxxxxxxx-elf
sudo ./install.sh
注:如执行 ./install.sh 报错,可以将 install.sh 顶部 修改为 #!/bin/bash
3.配置工具链路径
打开vi ~/.profile文件 添加如下内容 使配置生效
PATH="$HOME/bin:$HOME/cc-riscv32-cfg5-musl-xxxxxxxxelf/toolschain/bin:$PATH"
//刷新环境变量,使之生效
source ~/.profile
四、安装SDK并测试
将 SS928V100_SDK_V2.0.2.1 代码示例及系统源码文件夹拷贝到Ubutun的工作路径下
命令行切换到 cpp/sample/venc 示例程序路径,执行 make 指令,查看是否能正常编译生成可执行文件,可以正常编译并生成可执行文件,说明开发环境搭建完毕,如有错误,根据控制台报错对应解决处理。