sophpi 是 算能官方针对 sg200x 系列的 SDK 仓库 https://github.com/sophgo/sophpi ,支持 cv180x、cv81x、sg200x 系列的芯片。
SG2002 简介
SG2002 是面向边缘智能监控 IP 摄像机、智能猫眼门锁、可视门铃、居家智能等多项产品领域而推出的高性能、低功耗芯片,集成了 H.264 视频压缩编解码器, H.265 视频压缩编码器和 ISP;支持 HDR 宽动态、3D 降噪、除雾、镜头畸变校正等多种图像增强和矫正算法,为客户提供专业级的视频图像质量
芯片更集成了自研 TPU,在 8 位整数运算下,可提供 1.0TOPS 的算力。特殊设计的 TPU 调度引擎能有效地为所有的张量处理器核心提供极高的带宽数据流。此外也为用户提供了强大的深度学习模型编译器和软件 SDK 开发包。主流的深度学习框架,比如 Caffe 和 Tensorflow,可以轻松地移植到其平台上。除此之外,还提供了安全启动,安全更新,安全加密等,为用户从开发、量产、产品应用,提供一系列安全解决方案。
Milk-V Duo 256M 是 Duo 的升级版本,内存提升至 256M,满足需要更大内存容量的应用。采用 SG2002 计算系列芯片,计算能力提升至 1.0TOPS@INT8。它可以实现 RISC-V/ARM 架构之间的无缝切换,并支持双系统同时运行。此外,它还包含 SPI、UART 等一系列丰富的 GPIO 接口,适合边缘智能监控领域的各种硬件开发,包括 IP 摄像头、智能猫眼锁、可视门铃等。
编译
- 下载
shell
$ git clone -b sg200x-evb git@github.com:sophgo/sophpi.git
$ cd sophpi
$ ./scripts/repo_clone.sh --gitclone scripts/subtree.xml
仓库采用子仓库的形式,子仓库很多,很大,下载很考验网速和耐心。。。
- 配置
sophpi 仓库默认没有选择 rootfs,需要手动配置。
shell
$ source build/cvisetup.sh
$ defconfig sg2002_wevb_riscv64_sd
$ menuconfig
ROOTFS options --->
[*] Enable buildroot generate rootfs
否则,编译出来的系统会非常小,连基本的文件系统都没有,无法正常启动。 查看 build/.config 文件,可以看到如下内容:
bash
#
# ROOTFS options
#
CONFIG_SKIP_RAMDISK=y
# CONFIG_ROOTFS_OVERLAYFS is not set
# CONFIG_BUILDROOT_FS is not set
# CONFIG_USE_4K_ERASE_SIZE_FOR_JFFS2 is not set
# end of ROOTFS options
手工修改 sophpi\build\boards\cv181x\sg2002_wevb_riscv64_sd\sg2002_wevb_riscv64_sd_defconfig
文件,修改以下内容:
bash
CONFIG_BUILDROOT_FS=y
- 编译
shell
$ source build/cvisetup.sh
$ defconfig sg2002_wevb_riscv64_sd
$ clean_all
$ build_all
$ pack_burn_image
默认编译出来的版本是最小系统,只能通过串口终端完成最基本操作。
烧录镜像
Windows 下推荐使用 BalenaEtcher 烧录系统镜像, 可在 https://etcher.balena.io/ ,下载安装。
镜像文件在 install/soc_sg2002_wevb_riscv64_sd
目录下,文件名为 sophpi-duo-20240912-0719.img
,烧录到 SD 卡即可。
分步骤编译
- 编译
shell
$ source build/cvisetup.sh
$ defconfig sg2002_wevb_riscv64_sd
$ build_fsbl # 编译 FSBL
$ build_uboot # 编译 UBOOT
$ build_kernel # 编译 LINUX Kernel
更多命令可以参考 build/cvisetup.sh
文件。
- 打包镜像
shell
$ pack_burn_image
如果你对 sg2002/sg2000/cv1800b 等 RISC-V 芯片开发有兴趣,可以加入QQ群:920973004 交流