1. 环境安装
2. 首次安装 SDK
2.1. 下载安装SDK
网盘目录04 SDK资料包/02 易百纳适配SDK
中下载SS928V100_SDK_V2.0.2.2.tgz
将下载好的压缩包放进虚拟机,执行tar xzf SS928V100_SDK_V2.0.2.2.tgz
解压即可
2.2. 安装交叉编译器
2.2.1. aarch64-mix210-linux-
网盘目录04 SDK资料包/03 交叉编译工具链
目录下
将该交叉编译器压缩包拷贝到虚拟机中,家目录下即可
执行tar xzf aarch64-mix210-linux.tgz
解压,一共有两个文件
执行sudo ./aarch64-mix210-linux.install
,等待安装完成即可
执行aarch64-mix210-linux-gcc -v
查看版本
2.2.2. riscv32-cfg5-musl-20211008-elf-
网盘目录04 SDK资料包
目录下
将改压缩包拷贝到虚拟机中,家目录下即可
执行tar xzf cc-riscv32-cfg5-musl-20211008-elf.tar.gz
,一共有三个文件
执行sudo ./install.sh
将cc-riscv32-cfg5-musl-20211008-elf/bin
目录添加进PATH
环境变量
cd cc-riscv32-cfg5-musl-20211008-elf/bin
echo "export PATH=${PWD}:\${PATH}" >> ~/.profile
source ~/.profile # 应用环境变量
执行riscv32-cfg5-musl-20211008-elf-gcc -v
查看版本
3. SDK 编译
3.1. 软件包安装
操作系统安装好后,且用户已自行配置好网络环境,则可继续如下步骤完成相关软件包的安装:
步骤1 配置默认使用 bash
执行 sudo dpkg-reconfigure dash
选择 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 gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6
步骤3 创建/etc/ld.so.preload 文件,并执行 echo “” > /etc/ld.so.preload,以解决 64bit linux server 上某些第三方库编译失败的问题。
步骤4 mtd-utils依赖以下几个库,以ubuntu为例,安装方式请参考下面命令:
sudo apt-get 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-linux-musl/pkgconfig”
步骤5 e2fsprogs依赖texlive库,安装方式请参考如下命令:
sudo apt-get install texlive
步骤6 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
可能需要配置下载源:创建并编辑:vim ~/.pip/pip.conf
sudo pip3 install wheel==0.36.2
sudo pip3 install pycryptodome==3.9.8
sudo pip3 install pyelftools==0.27
sudo pip3 install kconfiglib
创建python软链接
ln -s /usr/local/bin/python3 /usr/local/bin/python
备注:pycryptodome 依赖于python3.x.x 环境请先升级至python3.x.x 版本再安装pycryptodome 库。
3.2. 编译SDK
进入SS928V100_SDK_V2.0.2.2/osdrv
目录
nand:执行make all
进行总体编译
emmc:执行make BOOT_MEDIA=emmc all
进行总体编译
最终生成所需固件在SDK根目录/ss928dev目录,下图为nand实例
(uboot:boot_image.bin; kernel:fip.bin; rootfs:rootfs_ss928v100_2k_128k_128M.ubifs)
查看readme_cn.txt
,其中有总体编译、单独编译的详细步骤和说明