打印
[资料干货]

SS928V100开发注意事项(一)

[复制链接]
2032|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SS928V100开发注意事项(一)
海思

   
Hi3559

   
Hi3519

  


张13724212401 发布于 2023-01-02 17:33:31采纳率 0%




一、芯片介绍

SS928V100是一颗面向市场推出的专业超高清智能网络录像机SoC。该芯片最高支持四路sensor 输入,支持最高4K60的ISP图像处理能力,支持 3F WDR、多级降噪、六轴防抖、硬件拼接等多种 图像增强和处理算法,为用户提供了卓越的图像 处理能力。

SS928V100内置四核A55,提供高效且丰富和灵 活的CPU资源,以满足客户计算和控制需求。集 成单核MCU,以满足某些低延时要求较高场景。

SS928V100集成了高效的图像分析工具推理单 元,最高10.4Tops INT8,并支持业界主流的图像 分析工具框架。并内置双核Vision DSP,以满足 客户一些差异化的CV计算需求。

SS928V100采用先进的12nm低功耗工艺和 0.65pitch封装,同时支持 LPDDR4/LPDDR4x/DDR4颗粒,满足客户应用的 产品小型化设计和快速量产。

SS928V100配套提供的稳定、易用的SDK设计, 能够支撑客户快速产品量产。


二、开发环境选择:ubuntu环境搭建

需要Ubuntu 18.04的版本,或者Ubuntu 20.04,如果版本过低,SDK会出现编译异常问题。标题请自行配置网络,并安装 nfs,samba,ssh 等网络组件;按照《SS928V100 SDK 安装以及升级使用说明.pdf》文档安装SDK、工具链
操作系统安装完成,且已经配置好网络环境,则可以继续如下步骤:


**步骤 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 texlive gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip

步骤 3 mtd-utils 依赖以下几个库,以 ubuntu 为例,安装方式请参考下面命令:
由于mtd-utils 通过 pkg-config 工具检查各个库是否正常安装,因此请参考如下方式设置 pkg-config 工具搜索路径:

1 export PKG_CONFIG_PATH=”$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-
2 gnu/pkgconfig”

步骤 4 e2fsprogs 依赖 texlive 库,安装方式请参考如下命令:
1 sudo apt-get install texlive


三:uboot、内核、文件系统制作

1:编译整个osdrv目录
make BOOT_MEDIA=spi CHIP=ss928v100 all
参数说明:
BOOT_MEDIA:spi nor或spi nand启动选择spi;并口nand启动选择nand;emmc启动选择emmc

注意:编译整个osdrv目录需要虚拟机内存和处理器数量足够多,亲测在8G内存,处理器总数8时编译会出现虚拟机死机等问题。

2:单独编译
kernel
进入open_source/linux目录

1 tar xf linux-4.19.90.tar.gz
2 mv linux-4.19.90 linux-4.19.y
3 cd linux-4.19.y
4 patch -p1 < ../linux-4.19.90.patch
5 cp arch/arm64/configs/ss928v100_defconfig .config
6 (emmc启动时执行如下操作: cp arch/arm64/configs/ss928v100_emmc_defconfig .config)
7 (并口 nand 启动时执行如下操作:cp rch/arm64/configs/ss928v100_nand_defconfig .config)
8 make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- menuconfig
9 make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- uImage -j 20
10
11 进入open_source/trusted-firmware-a/trusted-firmware-a-2.2目录,
12 执行mk.sh脚本(参考主Makefile中atf命令进行适配):
13 chmod 777 mk.sh
14 ./mk.sh
15 在open_source/trusted-firmware-a/trusted-firmware-a-2.2/build/ss928v100/release目录下,生成的fip.bin文件就是ATF+kernle的镜像.

3:非安全启动Boot Image
进入uboot源代码目录

1 tar xf u-boot-2020.01.tar.bz2
2 cd u-boot-2020.01
3 patch -p1 < ../u-boot-2020.01.patch
4 cp configs/ss928v100_defconfig .config(仅用于 spi nor/nand flash)
5 (emmc启动时执行如下操作: cp configs/ss928v100_emmc_defconfig .config)
6 (并口 nand 启动时执行如下操作:cp configs/ss928v100_nand_defconfig .config)
7 make ARCH=arm CROSS_COMPILE=aarch64-mix210-linux- menuconfig
8 make ARCH=arm CROSS_COMPILE=aarch64-mix210-linux- -j 20

Windows下进入到osdrv/tools/pc/uboot_tools/目录下打开对应单板的Excel文件,在main标签中点击”Generate reg bin file”按钮,生成reg_info.bin即为对应平台的表格文件。
从tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg

1 cp ../../../osdrv/tools/pc/uboot_tools/reg_info.bin .reg
2 make ARCH=arm CROSS_COMPILE=aarch64-mix210-linux- u-boot-z.bin

open_source/uboot/u-boot-2020.01下生成的u-boot-ss928v100.bin即为“快速启动”使用的u-boot镜像
非安全启动方法需要进行如下操作

1 tar xf boot.tar.gz
2 cd boot/gsl/
3 make
4 cd ../image_map/
5 cp ../gsl/pub/gsl.bin ./
6 cp ../../../../open_source/u-boot/u-boot-2020.01/u-boot-ss928v100.bin ./u-boot-original.bin
7 cp ../../../../open_source/u-boot/u-boot-2020.01/.reg ./
8 python3 oem/oem_quick_build.py

osdrv/components/boot/image_map/image/oem/下生成的boot_image.bin即为“非安全启动”使用的Boot Image。


4:文件系统

   按照资料所说spi flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到spi flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。下面以块大小为64KB为例:

osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc_xxx -l -e 0x10000 -o osdrv/pub/rootfs_ss928v100_64k.jffs2

nand flash使用ubifs格式的镜像,制作ubifs镜像时,需要用到nand flash的pagesize和blocksize。这些信息会在uboot启动时会打印出来。
下面以2KB pagesize、128KB block size为例:
./tools/pc/ubi_sh/mkubiimg.sh ss928v100 2k 128k osdrv/pub/rootfs_glibc_xxx 32M osdrv/pub/bin/pc

emmc 使用ext4格式的镜像:以96MB镜像为例:
dd if=/dev/zero of=osdrv/pub/ss928v100_image_glibc/rootfs_ss928v100_96M.ext4 bs=512 count=196608
备注:(196608 = 96 1024 1024 / 512)
./osdrv/pub/bin/pc/mkfs.ext4 osdrv/pub/ss928v100_image_glibc/rootfs_ss928v100_96M.ext4
cd open_source/e2fsprogs/out/pc/contrib
./populate-extfs.sh ../../../../../osdrv/pub/rootfs_glibc_arm64 ../../../../../osdrv/pub/ss928v100_image_glibc/rootfs_ss928v100_96M.ext4





使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

215

帖子

1

粉丝