目录
解决64bit linux server上某些第三方库编译失败的问题
安装交叉编译器:gcc-20240318-arm-v01c02-linux-musleabi
安装Hi3516CV610芯片SDK包:Hi3516CV610_SDK_V1.0.1.0.tgz
前言
本教程旨在在新安装的Ubuntu系统环境下,为海思Hi3516CV610芯片搭建SDK编译环境。这个过程包括必要的软件安装、环境配置以及SDK的下载与编译等步骤。
特别强调,本文按步骤对命令进行复制粘贴即可实现SDK环境搭建,已经过实测;
参考文档
Hi35xxVxxx 开发环境用户指南.pdf——>参考1.1-1.2节 1.4-1.6节
Hi3516CV610╱Hi3516CV608 SDK 安装及升级使用说明.pdf——>参考1.1-1.3节
如果在搭建过程中有任何疑问,可参考上述文档
更新软件包
sudo apt-get update
sudo apt-get dist-upgrade
更改终端为bash
sudo dpkg-reconfigure dash 选择no
安装基础软件包
sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6 fakeroot autopoint po4a python3-pip wget libmpc-dev -y
解决64bit linux server上某些第三方库编译失败的问题
touch /etc/ld.so.preload && echo "" > /etc/ld.so.preload
安装mtd-utils依赖包
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake -y
声明pkg-config工具路径
echo 'export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"' >> ~/.bashrc
安装e2fsprogs依赖texlive库
sudo apt-get install texlive -y
更改pip源
mkdir -p ~/.pip && echo -e "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > ~/.pip/pip.conf
安装optee模块依赖包
ln -s /usr/bin/python3 /usr/bin/python
pip3 install --upgrade pip
pip3 install wheel pycryptodome pyelftools cryptography
安装交叉编译器:gcc-20240318-arm-v01c02-linux-musleabi
注意:
1.gcc-20240318-arm-v01c02-linux-musleabi在SDK包,请自行搜索
将gcc-20240318-arm-v01c02-linux-musleabi.tgz放置/root/目录下(如果是普通用户,则放置在~/目录下)
cd /root/ #(如果是普通用户,则使用cd ~/)
tar -vxzf gcc-20240318-arm-v01c02-linux-musleabi.tgz
cd gcc-20240318-arm-v01c02-linux-musleabi
./install_gcc_toolchain.sh
安装Hi3516CV610芯片SDK包:Hi3516CV610_SDK_V1.0.1.0.tgz
注意:
1.Hi3516CV610_SDK_V1.0.1.0.tgz在SDK包,请自行搜索
2.SDK包没有linux和mtd-utils,必须下载添加到sdk包中,否则会出现报错现象
将Hi3516CV610_SDK_V1.0.1.0.tgz、linux-5.10.221.tar.gz、mtd-utils-2.1.4.tar.bz2放置/root/目录下(如果是普通用户,则放置在~/目录下)
cd /root/ # (如果是普通用户,则使用cd ~/)
tar -vxzf Hi3516CV610_SDK_V1.0.1.0.tgz
cd Hi3516CV610_SDK_V1.0.1.0
./sdk.unpack
cp ../linux-5.10.221.tar.gz ./open_source/linux/
cp ../mtd-utils-2.1.4.tar.bz2 ./open_source/mtd-utils/
cd smp/a7_linux/source/bsp/
make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all
FAQ问题
在部分人参考此教程对SDK进行编译过程中,可能因为缺少某些步骤或其他原因导致过程中出现下列的报错问题;因此,如果出现报错问题可进行参考,后续会对FAQ进行追加补充;
-------------------------------------------------------------------------
报错1:pushd:not found
解决:sudo dpkg-reconfigure dash 选择no
-------------------------------------------------------------------------
报错2:No module named Crypto.PublicKey
解决:pip3 install pycryptodome
-------------------------------------------------------------------------
报错3:
解决:
-------------------------------------------------------------------------
报错4:
解决:
-------------------------------------------------------------------------
报错5:
解决:
-------------------------------------------------------------------------
本教程编辑日期:2024年12月27日;可能存在不完善的地方,后续会进行补充
2024年12月27日:添加报错2以及追加教程目录