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

### 关于 SS928V100开发资料 #### 海思 SS928 SDK 及环境搭建 为了开始基于海思 SS928 芯片的开发工作,需要准备并配置相应的软件开发套件 (SDK) 和工具链。具体操作包括将 `SS928V100_SDK_V2.0.2.1` 代码示例及系统源码文件夹拷贝到 Ubuntu 工作路径下[^1]。 #### 配置编译选项 在编译过程中,通过命令行参数指定目标 SoC 版本是非常重要的步。对于 SS928V100 来说,在构建项目时应加入如下选项:`--soc_version=SS928V100`,这确保了所使用的库和驱动程序与特定硬件版本相匹配[^2]。 #### SSH服务部署 针对远程访问需求,可以按照官方提供的《海思SS928-流媒体开发入门指南》中的说明来安装 OpenSSH 服务器。该过程涉及将预打包好的 `openssh.tar.gz` 文件传输至设备内部存储位置 `/home/ssh_package` 并执行系列指令完成解压缩以及 `.deb` 包的批量安装: ```bash tar -zxvf openssh.tar.gz -C /home/ssh_package/ cd /home/ssh_package/ ./busybox dpkg -i *.deb ``` 上述步骤能够有效简化网络调试流程,并提高工作效率[^3]。 #### 获取管理员权限 考虑到安全性因素,默认情况下统信 UOS 不会授予用户 root 访问权。如果确实有这方面的需求,则可以通过进入系统的设置界面开启开发者模式从而获得更高层次的操作许可。这改动允许更深入地定制化操作系统及其底层组件[^4]。 ### 提供更多学习材料建议 除了以上提及的内容外,还推荐查阅以下资源以加深理解: - **官方技术手册**:涵盖了详细的架构描述和技术细节。 - **在线论坛和支持社区**:与其他开发者交流经验和解决问题的地方。 - **视频教程系列**:直观演示如何快速上手新平台的各项功能特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值