海思Hi3516DV500/HI3519DV500开发笔记


前言

Hi3516DV500是一颗面向视觉行业推出的高清智能SoC。该芯片最高支持2路sensor输入,支持最高5M@30fps的ISP图像处理能力,支持 2F WDR、多级降噪、六轴防抖、多光谱融合等多种传统图像增强和处理算法,支持通过AI算法对输入图像进行实时降噪等处理,为用户提供了卓越的图像处理能力。支持热红外、主/被动双目视觉3D、ToF sensor的接入和处理。 Hi3516DV500内置双核A55,提供高效、丰富和灵活的CPU资源,以满足客户计算和控制需求。 Hi3516DV500集成了高效的神经网络推理引擎,最高2TOPS NN算力,支持业界主流的神经网络框架。 Hi3516DV500提供稳定、易用的SDK软件开发包,支撑客户产品快速量产。
HI3519DV500编解码能力到4K@30,算力最高到2.5T,和HI3516DV500是同一个SDK,方便使用。


一、安装工具:

参考:Hi3519DV500R001C01SPC003\ReleaseDoc\01.software\board\BSP
《Hi35xxVxxx 开发环境用户指南.pdf》安装好必要的工具和设置好环境变量。
在这里插入图片描述

安装uboot工具:
sudo apt-get install u-boot-tools

二、搭建环境:

可以一次全部编译,也可以分步骤编译单个包,但前提是需要安装相关的包,否则不能完成全部编译。
安装的包参考:Hi3519DV500R001C01SPC003\ReleaseDoc\01.software\board\BSP
《Hi35xxVxxx 开发环境用户指南.pdf》

Hi3519DV500R001C01SPC003\SMP_Linux_GCC_glibc\01.software\board\Hi3519DV500_SDK_V2.0.0.3\smp\a55_linux\source\bsp
在这里插入图片描述
在这里插入图片描述

三、编译全部固件:

在这里插入图片描述
进入Hi3519DV500R001C01SPC003\SMP_Linux_GCC_glibc\01.software\board\Hi3519DV500_SDK_V2.0.0.3\smp\a55_linux\source\bsp

使用musl库:
make BOOT_MEDIA=emmc LIB_TYPE=musl CHIP=hi3519dv500 all -j4
使用glibc库:(目前都是用glibc库)
make BOOT_MEDIA=emmc LIB_TYPE=glibc CHIP=hi3519dv500 all -j4
make BOOT_MEDIA=spi LIB_TYPE=glibc CHIP=hi3519dv500 all -j4
生成的文件系统和烧写镜像:
在这里插入图片描述

四、单独编译uboot:

1、参考:

Hi3519DV500R001C01SPC003\ReleaseDoc\01.software\board
《Hi3519DV500╱Hi3516DV500 SDK 安装及升级使用说明.pdf》
Hi3519DV500R001C01SPC003\ReleaseDoc\01.software\board\BSP
《Hi35xxVxxx U-boot 移植应用开发指南.pdf》

2、编译uboot:

(这个是SPI NOR/NAND的配置)
cp configs/hi3519dv500_defconfig .config
glibc 编译器:
make ARCH=arm CROSS_COMPILE=aarch64-v01c01-linux-gnu- menuconfig
make ARCH=arm CROSS_COMPILE=aarch64-v01c01-linux-gnu- -j 20
make ARCH=arm CROSS_COMPILE=aarch64-v01c01-linux-gnu- u-boot-z.bin
编译成功后,将在U-boot目录下生成u-boot-hi3519dv500.bin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、生成reg.bin

在这里插入图片描述
在这里插入图片描述

4、生成启动固件:

SDK编译后,每次需要拷贝生成的u-boot-hi3519dv500.bin到该目录,重命名为u-boot-original.bin 就可以了。
cd tools/pc/image_tool
生成烧写的镜像:
python oem/oem_quick_build.py
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该目录生成的固件就是可以直接烧写用的固件。

五、单独编译内核:

Hi3519DV500R001C01SPC003/SMP_Linux_GCC_glibc/01.software/board/Hi3519DV500_SDK_V2.0.0.3/open_source/linux
在这里插入图片描述
直接make 后,补丁打上了。

1、编译uImage:

使用spi nor/nand flash配置:
make ARCH=arm64 CROSS_COMPILE=aarch64-v01c01-linux-gnu- hi3519dv500_defconfig
glibc 编译器:
make ARCH=arm64 CROSS_COMPILE=aarch64-v01c01-linux-gnu- menuconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-v01c01-linux-gnu- uImage -j4
make ARCH=arm64 CROSS_COMPILE=aarch64-v01c01-linux-gnu- modules

2、生成atf镜像:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接make all,
在这里插入图片描述
bl31.bin生成一次即可。
在这里插入图片描述
在这里插入图片描述

六、单独编译busybox:

1、编译源码:

在这里插入图片描述
打补丁直接make即可,进入源码包编译出来可执行程序。

总结

以上就是HI3519DV500的环境搭建和固件编译方法,为下一步烧写固件做好准备。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐