Hi3516DV500/HI3519DV500开发笔记之环境搭建和编译固件
Hi3516DV500/HI3519DV500开发笔记之环境搭建和编译固件
文章目录
- Hi3516DV500/HI3519DV500开发笔记之环境搭建和编译固件
- 前言
- 一、安装工具:
- 二、搭建环境:
- 三、编译全部固件:
- 四、单独编译uboot:
- 1、参考:
- 2、编译uboot:
- 3、生成reg.bin
- 4、生成启动固件:
- 五、单独编译内核:
- 1、编译uImage:
- 2、生成atf镜像:
- 六、单独编译busybox:
- 1、编译源码:
- 总结
前言
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的环境搭建和固件编译方法,为下一步烧写固件做好准备。