Hi3516DV500/HI3519DV500开发笔记之例程编译和测试
Hi3516DV500/HI3519DV500开发笔记之例程编译和测试
文章目录
- Hi3516DV500/HI3519DV500开发笔记之例程编译和测试
- 前言
- 一、目录导读:
- 二、驱动加载:
- 三、sensor驱动:
- 四、应用编译:
- 五、demo测试:
- 1、VENC测试:
- 2、region测试:
- 总结
前言
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,方便使用。
一、目录导读:
二、驱动加载:
驱动放在:
SMP_Linux_GCC_glibc\01.software\board\Hi3519DV500_SDK_V2.0.0.3\smp\a55_linux\source\out\ko
整个目录拷贝到板端,然后执行:
cd /komod/
./load3519dv500 -i -sensor0 os04a10 -vo_intf bt1120 -board dmeb
三、sensor驱动:
四、应用编译:
自己写的代码,c和cpp编译选项:
ADD_DEFINITIONS(-DSECUREC_NEED_ERRNO_TYPE -Dhi3519dv500 -DUSER_BIT_64 -DKERNEL_BIT_64 -DOT_ACODEC_TYPE_INNER -DOT_VQE_USE_STATIC_MODULE_REGISTER -DSENSOR0_TYPE=OV_OS04A10_MIPI_4M_30FPS_12BIT -DUSE_OS04A10_MIPI_4M_30FPS_12BIT)
set(CMAKE_C_FLAGS “${CMAKE_C_FLAGS} -w -g -DHI351XDV500=1 -DOT_MP3_USE_DYNAMIC_LOAD”)
SECUREC_NEED_ERRNO_TYPE : memcpy_s这些带尾缀的函数编译要用,
OT_MP3_USE_DYNAMIC_LOAD : MP3编解码器使用静态库还是动态库。
SMP_Linux_GCC_glibc\01.software\board\Hi3519DV500_SDK_V2.0.0.3\smp\a55_linux\source\mpp\sample
编辑文件Makefile.param 修改sensor型号,开发板自带的就是OS04A10的sensor,不需要更改。
进入
SMP_Linux_GCC_glibc/01.software/board/Hi3519DV500_SDK_V2.0.0.3/smp/a55_linux/source/mpp/sample
直接make -j 即可编译。
五、demo测试:
测试前先搭建好NFS,方便测试。以下均是将SDK测试例程的完整目录拷贝到NFS共享目录进行测试的。
比如测试venc,就将venc目录拷贝到共享目录。
测试前先杀掉我们的程序,输入ps命令,kill 1273 1277 1281 (根据实际的来)
1、VENC测试:
根据自己的测试目的,输入不同的参数,比如 ./sample_venc 0 0 就是H.265e+H.264e 编码。
按下二次enter键后,程序退出。查看当前目录,发现了二个新增的文件,一个是H.265编码,一个是H.264编码。
如果是挂载的文件,保存的用户权限是root:root,需要换成普通用户权限,
sudo chown abc:abc stream_chn* 这里abc只是举例,要根据自己实际的机器的组名和用户名来。
然后,就可以用VLC看了:
2、region测试:
输入0:
在HDMI显示器上看到:
总结
以上简单介绍了下HI3519DV500的DEMO编译和运行方法,其他例子还需要用户自己去学习,熟悉芯片的用法。