7.3. BM1688/CV186AH SOPHONSDK源码下载以及编译方法

目前,BM1688/CV186AH SOPHONSDK源码已在github开源发布,您可以下载源码编译生成刷机包,可用于软件定制。

7.3.1. 编译环境配置

编译BM1688/CV186AH SOPHONSDK源码需要在linux系统上进行,推荐使用ubuntu20.04或者22.04。

在github建立个人账号,并配置好ssh key,下载代码需要用到个人github账号。

7.3.2. 安装repo

(1)配置repo安装路径

mkdir ~/bin

(2)增加环境变量

vim ~/.profile

在文件最后增加

PATH=~/bin:$PATH

(3)安装repo

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

7.3.3. 下载代码

请使用以下命令下载SDK源码

# 创建工作目录
mkdir /your/workspace/path && cd /your/workspace/path
# 下载代码
repo init -u https://github.com/sophgo/manifest.git -m release/edge.xml

7.3.4. docker配置

使用以下命令下载docker镜像文件并导入

sudo apt-get install python3-pip  qemu qemu-user-static binfmt-support
pip3 install dfss --upgrade
python -m dfss --url=open@sophgo.com:/gemini-sdk/docker/ubuntu_bm1688.tar

#导入docker镜像,有导入过的可以不用操作
sudo cat ubuntu_bm1688.tar | docker import - bm1688

将以下命令添加到 ~/.bashrc

function run_docker() {
    docker run  -e LOCAL_USER_ID=`id -u $USER_ID` --privileged -itd -v $2:/project/$1 --name $1  bm1688:latest /bin/bash
}

重新source文件,使改动生效

source ~/.bashrc

调用run_docker命令,进入docker编译环境

# 在进入docker前将代码下载到 /your/workspace/path
run_docker SDK_build  /your/workspace/path
# 进入container
docker run -it SDK_build /bin/bash
pip3 install jinja2

7.3.5. 编译源码

请使用以下命令编译BM1688/CV186AH SOPHONSDK源码

defconfig  bm1688_wevb_emmc
#需要有root权限或者使用docker
build_bm1688_all

生成的升级包在install/soc_bm1688_wevb_emmc/package_edge/sdcard