文章目录
1.说明
本次测试使用的是Hi3518E_SDK_V1.0.3.0/mpp/sample/venc
下面的sample_venc.c
程序,目的在于测试硬件连接以及软件环境
2.编译sample_venc
依据Hi3518E_SDK_V1.0.3.0/mpp/sample/readme
文件说明,进行编译操作
2.1.修改目标平台
修改文件Hi3518E_SDK_V1.0.3.0/mpp/sample/ Makefile.param
文件中的CHIP_ID
以及SENSOR_TYPE
,为具体对应设备
- 修改CHIP_ID为:CHIP_HI3518E_V200
- 修改SENSOR_TYPE为:OMNIVISION_OV9712_DC_720P_30FPS
#CHIP_ID ?= CHIP_HI3516C_V200
CHIP_ID ?= CHIP_HI3518E_V200
#CHIP_ID ?= CHIP_HI3518E_V201
################# select sensor type for your sample ####################
#SENSOR_TYPE ?= APTINA_9M034_DC_720P_30FPS
#SENSOR_TYPE ?= SONY_IMX222_DC_1080P_30FPS
#SENSOR_TYPE ?= SONY_IMX222_DC_720P_30FPS
#SENSOR_TYPE ?= APTINA_AR0130_DC_720P_30FPS
#SENSOR_TYPE ?= PANASONIC_MN34222_MIPI_1080P_30FPS
#SENSOR_TYPE ?= APTINA_AR0230_HISPI_1080P_30FPS
SENSOR_TYPE ?= OMNIVISION_OV9712_DC_720P_30FPS
#SENSOR_TYPE ?= OMNIVISION_OV9732_DC_720P_30FPS
#SENSOR_TYPE ?= OMNIVISION_OV9750_MIPI_720P_30FPS
#SENSOR_TYPE ?= OMNIVISION_OV9752_MIPI_720P_30FPS
#SENSOR_TYPE ?= OMNIVISION_OV2718_MIPI_1080P_25FPS
2.2.编译
进入到需要编译的sample目录下,直接执行make即可
cd venc
make
如下图,生成的可执行程序即为测试程序
3.mpp环境部署
sample_venc的运行需要依赖于sdk中提供的一些ko文件,具体目录为:Hi3518E_SDK_V1.0.3.0/mpp/ko
3.1.nfs挂载ko目录
3.1.1.开发板网络配置
ifconfig eth0 192.168.150.2 netmask 255.255.255.0
3.1.2.nfs挂载
mount -t nfs -o nolock 192.168.150.160:/home/chengqy/nfs /mnt
3.2.安装mpp模块
cd /mnt/ko/
# ar0130安装以及卸载
./load3518e -a -sensor ar0130 -osmem 32 -total 64
./load3518e -a -sensor ar0130 -osmem 32 -total 64 -offline
# ov9712安装以及卸载
./load3518e -a -sensor ov9712 -osmem 32 -total 64
./load3518e -a -sensor ov9712 -osmem 32 -total 64 -offline
参数说明:
- hi3518ev200,可用内存为64M,从`0x80000000 - 0x83ffffff
- OS内存起始地址为0x80000000,内存大小可通过bootargs进行配置(mem参数)
- MMZ内存由MMZ内核模块管理(mpp/ko_hi35xx目录下的mmz.ko),加载mmz模块时,
通过模块参数指定其起始地址及大小,load脚本中根据total和osmem大小来进行计算- total:总内存大小,单位为:MB,hi3518e固定为:64
- osmem:linux系统管理的内存空间
4.运行sample_enc
/mnt # ./sample_venc 0
s32ChnNum = 3
=============SAMPLE_COMM_VI_SetMipiAttr enWDRMode: 0
linear mode
hi_i2c_wait_txfifo_notfull->279:
transmit error, int_raw_status: 0x550!
hi_i2c_wait_txfifo_notfull->281:
tx_abrt_cause is 1.
I2C_WRITE error!
=========================================================
===ominivision ov9712 sensor 720P30fps(Parallel port) init success!=====
=========================================================
c) cbr.
v) vbr.
f) fixQp
please input choose rc mode!
c
please press twice ENTER to exit this sample
program exit normally!
/mnt #
如果配置正常,在程序所在目录下会生成:stream_chn0.h264,stream_chn1.h264,stream_chn2.h264,这几个视频文件,直接使用vlc打开即可