SS928V100开发注意事项(一)

SS928V100开发注意事项(一)
替代海思Hi3559 Hi3519 部分功能

发布于
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颗粒,满足客户应用的 产品小型化设计和快速量产。

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

二、开发环境选择: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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ss928v100烧写是指将固件版本为ss928v100的软件加载到某个设备中。烧写通常是一个将软件程序或数据加载到特定设备的过程。它可以在设备制造商或用户端进行。在进行烧写之前,我们需要确保正确的固件版本和设备兼容。 首先,我们需要准备好烧写所需的工具和软件,这通常包括一个烧写器和适配器,以及固件文件ss928v100。确保这些工具是可靠和兼容的。 接下来,连接烧写器和目标设备。通常,我们需要使用适配器将烧写器与目标设备连接起来。确保连接稳定,以确保正确地加载固件。 在连接成功后,打开烧写软件并选择正确的固件文件。在此情况下,选择ss928v100固件版本。 在准备好烧写之后,我们需要按照软件的操作指南进行相应的设置。设置通常包括选择设备类型和接口,设置烧写速度等。确保按照指南中的步骤操作。 一切准备就绪后,我们可以开始烧写。此过程可能需要一些时间,具体取决于固件文件的大小和设备的性能。在烧写过程中,确保设备保持连接稳定,避免任何干扰。 一旦烧写完成,我们可以断开设备连接并检查烧写结果。此时,设备应该已经成功加载了ss928v100固件版本。可以通过检查设备的设置或执行一些功能测试来确认烧写是否成功。 最后,需要注意的是,烧写是一个敏感的操作,需要小心操作以避免损坏设备。如果不确定如何进行烧写操作,建议寻求专业人士的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值