Cvitek SDK 编译环境
SDK 下载
利用 sophpi 中的脚本下载 SDK 到当前目录。
1 | git clone -b sg200x-evb git@github.com:sophgo/sophpi.git |
sophpi 中的脚本是将需要的仓库拉取到当前目录,为了区分,专门新建 v4.1.x 目录:
1 | mkdir v4.1.x && cd v4.1.x |
如需使用双系统快启分支,则:
1 | mkdir v4.2.x && cd v4.2.x |
🙃可能遇到的问题:
- 没有权限拉取仓库。
sophpi 的脚本中是用的 git clone ssh@xxx 走的 ssh,需要配置好 ssh key,否则会报错。
可以替换 xml 中的 git@github.com:sophgo/ 为 https://github.com/sophgo/
v4.1.x 编译环境配置
下面以 ubuntu 22.04 为例。
1 | sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils android-sdk-ext4-utils jq cmake python3-distutils tclsh scons parallel ssh-client tree python3-dev python3-pip device-tree-compiler libssl-dev ssh cpio squashfs-tools fakeroot libncurses5 flex bison |
🙃可能遇到的问题:
找不到软件包 android-sdk-ext4-utils
1 sudo apt install -y android-sdk-ext4-utilsubuntu 20.04 可能找不到该软件包
1
2
3
4
5
6 ❯ sudo apt-get install -y android-sdk-ext4-utils
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
E: 无法定位软件包 android-sdk-ext4-utils解决方法如下:
1
2
3 sudo apt install android-libcutils android-libext4-utils android-libselinux android-libsepol
sudo dpkg -i android-sdk-ext4-utils_8.1.0+r23-2_amd64.deb在执行 source build/cvisetup.sh 时出现以下情况:
1 /proc/self/fd/17:9: athena2_board_sel: assignment to invalid subscript range(其中 17:9 可能是其他数字)
cvisetup.sh 脚本未执行成功。执行 defconfig cv1812h_wevb_0007a_emmc_huashan 结果如下:
1
2
3 ❯ defconfig cv1812h_wevb_0007a_emmc
Run function
_call_kconfig_script:11: no such file or directory: /mnt/e/wsl/v4.1.0.3/v4.1.0.3_source/build/scripts/.py原因:使用的 shell 并非 bash。且出 invalid subcript range(下标范围问题)可能是使用 zsh 执行 shell 脚本导致的。zsh 数组的下标索从 1 开始,与 bash 不同(bash 从 0 开始)。
更多讨论请参考:https://unix.stackexchange.com/questions/562561/bash-script-throws-assignment-to-invalid-subscript-range-when-running-from-zsh解决方法:终端键入 bash,在 bash 环境下执行source build/cvisetup.sh
找不到 python。
/bin/sh: 1: python: not found
1 sudo ln -s /usr/bin/python3 /usr/bin/pythonpython 库缺少
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /home/yogurt/Documents/sophgo/v4.1.x/cvi_mpi/modules/isp/common/toolJsonGenerator
Updated 0 paths from the index
Traceback (most recent call last):
File "/home/yogurt/Documents/sophgo/v4.1.x/cvi_mpi/modules/isp/common/toolJsonGenerator/hFile2json.py", line 5, in <module>
from jinja2 import Template
ModuleNotFoundError: No module named 'jinja2'
Updated 1 path from the index
cat: pqtool_definition.json: No such file or directory
the json file is a invalid, error is : Expecting value: line 1 column 1 (char 0)!!!
make[3]: *** [Makefile:11: all] Error 255
make[3]: Leaving directory '/home/yogurt/Documents/sophgo/v4.1.x/cvi_mpi/modules/isp/cv181x'
make[2]: *** [Makefile:8: all] Error 1
make[2]: Leaving directory '/home/yogurt/Documents/sophgo/v4.1.x/cvi_mpi/modules/isp'
make[1]: *** [Makefile:18: all] Error 1
make[1]: Leaving directory '/home/yogurt/Documents/sophgo/v4.1.x/cvi_mpi/modules'
make: *** [Makefile:35: module] Error 2
build middleware failed !!解决方法:执行
pip install jinja2
v4.2.x/Alios 编译
下面以 ubuntu 22.04 为例,其他版本可能会有差异。
v4.2.x 在 v4.1.x 的基础上,增加了小核 alios 的编译环境配置。
1 | pip install yoctools -i https://pypi.tuna.tsinghua.edu.cn/simple/ |