1、(3)stream工具的使用方法Stream工具需要上面说到的3个ini配置文件,当配置好参数之后,在stream的configs目录下建立一个sc2232目录,把ini配置文件放到目录下。还需要复制两个自适应配置文件,分别是普通模式和wdr模式的,当然如果厂家提供有的话就不用复制其他方案的了。这个配置文件在sc2232_1080p25.ini和sc2232_1080p25_2lane.ini里面可以设置是否使用。最重要的是还要把前面说的两个.c驱动代码文件编译出来的的libsns_sc2232.so文件拷贝到libs目录下,这样stream才能真正调用了驱动代码使他生效。好了,准备工作做好了
2、,运行Stream工具之前要先kill掉固件程序,还要把watchdog跑起来,所以执行killall -9 guard & killall -9 core & /huamai/app/script/watchdog.sh /dev/null &然后挂载stream工具到设备,当然还要把pqtool也要一起挂载,方便调节参数。运行stream:./HiIspTool.sh -a sc2232当执行ps有以下进程表示运行成功:再运行windows端的ITTP_Stream.exe客户端进行连接,就可以看到视频了,前提是驱动和参数都没有问题。(4)I2C寄存器值的调试1.寄存器可以使用命令读写:u
3、sage: i2c_write reg_addrvaluereg_widthdata_width. sample:2.0x1 0x56 0x0 0x28 2 2.3.0x10x560x00x28. default reg_width and data_width is1.4.5.usage: i2c_read 6.0x1 0x56 0x0 0x10 2 2.7.0x1 0x56 0x0 0x10 2 2 2.8.0x10x560x00x10. default reg_width, data_width, reg_step is 1.i2c_num: ls /dev/i2c*, 一般有0x0 和
4、 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,else if(video_module-chip_type0 = chip_t
5、ype_sc2232) enViMode = SMARTSENS_SC2232_MIPI_1080P_25FPS; (3)sensor设备参数combo_dev_attr_t MIPI_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.enBaye
6、r = 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函数添加:case chip_type_sc2232: case chip_type_ar0
7、237: hi_sys.enSize0 = PIC_HD1080; hi_sys.enSize1 = PIC_HD720; hi_sys.enSize2 = PIC_VGA; hi_sys.enSize3 = PIC_HD1080; hi_sys.maxpicsize = PIC_HD1080; hi_sys.mmz_count0 = 14; hi_sys.mmz_count1 = 8; hi_sys.mmz_count2 = 8; hi_sys.mmz_count3 = 14;对应【vb_conf】参数(6)vi视频输入设备属性调用HI_MPI_VI_SetDevAttr接口函数,设置属性:
8、VI_DEV_ATTR_S DEV_ATTR_MIPI_BASE_SC2232 = /* interface mode */ VI_MODE_MIPI, /* multiplex mode */ VI_WORK_MODE_1Multiplex, /* r_mask g_mask b_mask*/ 0xfff0000, 0x0, /* progessive or interleaving */ VI_SCAN_PROGRESSIVE, /*AdChnId*/ -1, -1, -1, -1, /*enDataSeq, only support yuv*/ VI_INPUT_DATA_YUYV, /
9、* synchronization information */ /*port_vsync port_vsync_neg port_hsync port_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_hfb hsync_act hsync_hhb*/ 0, 1920, 0, /*vsync0_vhb vsync0_act vsync0_hhb*/ 0,
10、1080, 0, /*vsync1_vhb vsync1_act vsync1_hhb*/ 0, 0, 0 , /* use interior ISP */ VI_PATH_ISP, /* input data type */ VI_DATA_TYPE_RGB, /* bRever */ HI_FALSE, /* DEV CROP */ 0, 0, 1920, 1080对应【vi_dev.0】参数:主要修改视频设备接口模式IntfMode 和分量掩码值au32CompMaskVIU_DEV_COMP_MASK_NUM;(7)设置VI通道属性调用HI_MPI_VI_SetChnAttr设置vi通
11、道属性,在MPP_COMM_VI_StartIspAndVi函数中添加sc2232的enViMode设置视频捕获区域的宽和高:case SMARTSENS_SC2232_MIPI_1080P_25FPS: stCapRect.u32Width = 1920; stCapRect.u32Height = 1080;对应vi_chn.0参数:(8)Load3516cv300参数配置: sc2232)bus_type=i2c;pinmux_mode=i2c_mipisensor_clk_freq=27000000;intf_mode=defaultviu_frequency=83300000; # 83.3M, viu clock frequencyisp_div=1; # isp div clk, freq = viu_clk_freq / div ;参数解释:bus_type:总线类型,如i2c或者spi等类型;pinmux_mode:设置mipi串行或者dvp并行模式,以及其他模式;sensor_clk_freq:sensor的时钟频率;viu_frequency:视频采集单元viu的时钟频率;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1