海思2232sensor调试Word文档下载推荐.docx
《海思2232sensor调试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《海思2232sensor调试Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
![海思2232sensor调试Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/29/0474f555-6fb3-4eeb-b437-0f085532792e/0474f555-6fb3-4eeb-b437-0f085532792e1.gif)
(3)stream工具的使用方法
Stream工具需要上面说到的3个ini配置文件,当配置好参数之后,在stream的configs目录下建立一个sc2232目录,把ini配置文件放到目录下。
还需要复制两个自适应配置文件,分别是普通模式和wdr模式的,当然如果厂家提供有的话就不用复制其他方案的了。
这个配置文件在sc2232_1080p25.ini和sc2232_1080p25_2lane.ini里面可以设置是否使用。
最重要的是还要把前面说的两个.c驱动代码文件编译出来的的libsns_sc2232.so文件拷贝到libs目录下,这样stream才能真正调用了驱动代码使他生效。
好了,准备工作做好了,运行Stream工具之前要先kill掉固件程序,还要把watchdog跑起来,所以执行
killall-9guard&
&
killall-9core&
/huamai/app/script/watchdog.sh>
/dev/null&
然后挂载stream工具到设备,当然还要把pqtool也要一起挂载,方便调节参数。
运行stream:
./HiIspTool.sh-asc2232
当执行ps有以下进程表示运行成功:
再运行windows端的ITTP_Stream.exe客户端进行连接,就可以看到视频了,前提是驱动和参数都没有问题。
(4)I2C寄存器值的调试
1.寄存器可以使用命令读写:
usage:
i2c_write<
i2c_num>
<
dev_addr>
reg_addr>
value>
reg_width>
data_width>
.sample:
2.0x10x560x00x2822.
3.0x10x560x00x28.defaultreg_widthanddata_widthis1.
4.
5.usage:
i2c_read<
reg_addr_end>
<
reg_step>
6.0x10x560x00x1022.
7.0x10x560x00x10222.
8.0x10x560x00x10.defaultreg_width,data_width,reg_stepis1.
i2c_num:
ls/dev/i2c*,一般有0x0和0x1dev_addr:
imx290的iic地址为0x34(固定)reg_addr:
开始寄存器地址reg_addr_end:
结束寄存器地址reg_width:
寄存器地址字节数data_width:
数据字节数
但是命令读写太慢了,而且容易输错,海思pqtool提供了专门的读写I2C寄存器的工具
这个工具读写方便效率高,操作简单。
2、固件代码参数的修改。
(1)首先在chip_type_e里面添加芯片类型chip_type_sc2232=25;
(2)然后在sal_video_init添加设置enViMode,
elseif(video_module->
chip_type[0]==chip_type_sc2232)
{
enViMode=SMARTSENS_SC2232_MIPI_1080P_25FPS;
}
(3)sensor设备参数
combo_dev_attr_tMIPI_2lane_SENSOR_SC2232_10BIT_1080_NOWDR_ATTR=
{
.devno=0,
.input_mode=INPUT_MODE_MIPI,
.mipi_attr=
RAW_DATA_10BIT,
HI_MIPI_WDR_MODE_NONE,
{0,1,-1,-1}
};
对应配置文件的[sensor_mode.0.0]
(4)Isp_image参数修改:
stPubAttr.enBayer=BAYER_BGGR;
stPubAttr.stWndRect.s32X=0;
stPubAttr.stWndRect.s32Y=0;
stPubAttr.stWndRect.u32Width=1920;
stPubAttr.stWndRect.u32Height=1080;
stPubAttr.f32FrameRate=25;
对应[isp_image.0]部分
(5)设置视频缓存池大小
调用接口HI_MPI_VB_SetConf设置缓存池大小,需要在hisi_mppsys_init函数添加:
casechip_type_sc2232:
casechip_type_ar0237:
hi_sys.enSize[0]=PIC_HD1080;
hi_sys.enSize[1]=PIC_HD720;
hi_sys.enSize[2]=PIC_VGA;
hi_sys.enSize[3]=PIC_HD1080;
hi_sys.maxpicsize=PIC_HD1080;
hi_sys.mmz_count[0]=14;
hi_sys.mmz_count[1]=8;
hi_sys.mmz_count[2]=8;
hi_sys.mmz_count[3]=14;
对应【vb_conf】参数
(6)vi视频输入设备属性
调用HI_MPI_VI_SetDevAttr接口函数,设置属性:
VI_DEV_ATTR_SDEV_ATTR_MIPI_BASE_SC2232=
/*interfacemode*/
VI_MODE_MIPI,
/*multiplexmode*/
VI_WORK_MODE_1Multiplex,
/*r_maskg_maskb_mask*/
{0xfff0000,0x0},
/*progessiveorinterleaving*/
VI_SCAN_PROGRESSIVE,
/*AdChnId*/
{-1,-1,-1,-1},
/*enDataSeq,onlysupportyuv*/
VI_INPUT_DATA_YUYV,
/*synchronizationinformation*/
/*port_vsyncport_vsync_negport_hsyncport_hsync_neg*/
VI_VSYNC_FIELD,VI_VSYNC_NEG_HIGH,VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH,VI_VSYNC_NORM_PULSE,VI_VSYNC_VALID_NEG_HIGH,
/*hsync_hfbhsync_acthsync_hhb*/
0,1920,0,
/*vsync0_vhbvsync0_actvsync0_hhb*/
0,1080,0,
/*vsync1_vhbvsync1_actvsync1_hhb*/
0,0,0
},
/*useinteriorISP*/
VI_PATH_ISP,
/*inputdatatype*/
VI_DATA_TYPE_RGB,
/*bRever*/
HI_FALSE,
/*DEVCROP*/
{0,0,1920,1080}
对应【vi_dev.0】参数:
主要修改视频设备接口模式IntfMode和分量掩码值au32CompMask[VIU_DEV_COMP_MASK_NUM];
(7)设置VI通道属性
调用HI_MPI_VI_SetChnAttr设置vi通道属性,在MPP_COMM_VI_StartIspAndVi函数中添加sc2232的enViMode设置视频捕获区域的宽和高:
caseSMARTSENS_SC2232_MIPI_1080P_25FPS:
stCapRect.u32Width=1920;
stCapRect.u32Height=1080;
对应[vi_chn.0]参数:
(8)Load3516cv300参数配置:
sc2232)
bus_type="
i2c"
;
pinmux_mode="
i2c_mipi"
sensor_clk_freq=27000000;
intf_mode="
default"
viu_frequency=83300000;
#83.3M,viuclockfrequency
isp_div=1;
#ispdivclk,freq=viu_clk_freq/div
;
参数解释:
bus_type:
总线类型,如i2c或者spi等类型;
pinmux_mode:
设置mipi串行或者dvp并行模式,以及其他模式;
sensor_clk_freq:
sensor的时钟频率;
viu_frequency:
视频采集单元viu的时钟频率;