中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

海思Hi3518EV200(5)圖像sensor驅動開發

發布時間:2020-07-21 06:52:44 來源:網絡 閱讀:25065 作者:shugenyin 欄目:編程語言

1. sensor開發框圖


海思Hi3518EV200(5)圖像sensor驅動開發


2. 設備驅動加載及硬件系統配置

cd?mpp/ko
#?default?online
./load3518e?-a?-sensor?xxxx?-osmem?32?-total?64
#?vi_vpss?offline
./load3518e?-a?-sensor?xxxx?-osmem?32?-total?64?-offline

load3518e腳本主要是用來配置硬件系統的參數(引腳復用、sensor時鐘、VI時鐘)加載驅動(.ko),包括訪問sensor的I2C接口驅動。

離線模式時圖像存入DDR中,在線模式時圖像不存入DDR中。

在load3518e腳本中添加sensor的相關配置。

insert_sns()
{
	case?$SNS_TYPE?in
		xxxx)
			himm?0x200f0040?0x2;????			#?I2C0_SCL
			himm?0x200f0044?0x2;????			#?I2C0_SDA

			#cmos?pinmux
			himm?0x200f007c?0x1;????			#?VI_DATA13
			himm?0x200f0080?0x1;????			#?VI_DATA10
			himm?0x200f0084?0x1;????			#?VI_DATA12
			himm?0x200f0088?0x1;????			#?VI_DATA11
			himm?0x200f008c?0x2;????			#?VI_VS
			himm?0x200f0090?0x2;????			#?VI_HS
			himm?0x200f0094?0x1;????			#?VI_DATA9
			
			himm?0x2003002c?0xb4001;			#?sensor?unreset,?clk?27MHz,?VI?148.5MHz
#			himm?0x20030104?0x1;				#?vpss?148.5MHz
			;;
		*)
			echo?"xxxx?Invalid?sensor?type?$SNS_TYPE?xxxx"
			report_error;;
	esac
}
			
insert_ko()
{
	#?sys?config
	sys_config;

	#?driver?load
	insmod?mmz.ko?mmz=anonymous,0,$mmz_start,$mmz_size?anony=1?||?report_error
	insmod?hi_media.ko
	insmod?hi3518e_base.ko

	insmod?hi3518e_sys.ko?vi_vpss_online=$b_arg_online?sensor=$SNS_TYPE

	insmod?hi3518e_tde.ko
	insmod?hi3518e_region.ko
	insmod?hi3518e_vgs.ko

	insmod?hi3518e_isp.ko
	insmod?hi3518e_viu.ko?detect_err_frame=10;
	insmod?hi3518e_vpss.ko?rfr_frame_comp=1;
	insmod?hi3518e_vou.ko
	#insmod?hi3518e_vou.ko?transparentTransmit=1?#enable?transparentTransmit
	insmod?hifb.ko?video="hifb:vram0_size:1620"?????#?default?pal

	insmod?hi3518e_rc.ko
	insmod?hi3518e_venc.ko?
	insmod?hi3518e_chnl.ko?ChnlLowPower=1
	insmod?hi3518e_h364e.ko
	insmod?hi3518e_jpege.ko
	insmod?hi3518e_ive.ko?save_power=0;
#	insmod?hi3518e_ive.ko	
	insmod?extdrv/sensor_i2c.ko
	echo?"====?Your?input?Sensor?type?is?$SNS_TYPE?===="
	insmod?extdrv/pwm.ko
	insmod?extdrv/piris.ko

	#insert_sns?>?/dev/null
	insert_sns
	insert_audio

	insmod?hi_mipi.ko
	echo?"====?Your?input?Sensor?type?is?$SNS_TYPE?===="
}			
			


3. sensor的庫文件生成(.so)

sensor的庫文件需要在Linux服務器中的SDK包中編譯得到,將生成的.so文件放到SDK包中的stream軟件包中的Hi3518E_Stream_xxx/libs目錄下。

sensor_ctl.c實現sensor的讀寫初始化。

sensor_cmos.c主要實現ISP需要的回調函數,包括ISP、AE、AWB等。

//ISP?function
HI_S32?cmos_init_sensor_exp_function(ISP_SENSOR_EXP_FUNC_S?*pstSensorExpFunc)
{
????memset(pstSensorExpFunc,?0,?sizeof(ISP_SENSOR_EXP_FUNC_S));

????pstSensorExpFunc->pfn_cmos_sensor_init?=?sensor_init;
????pstSensorExpFunc->pfn_cmos_sensor_exit?=?sensor_exit;
????pstSensorExpFunc->pfn_cmos_sensor_global_init?=?sensor_global_init;
????pstSensorExpFunc->pfn_cmos_set_p_w_picpath_mode?=?cmos_set_p_w_picpath_mode;
????pstSensorExpFunc->pfn_cmos_set_wdr_mode?=?cmos_set_wdr_mode;
????
????pstSensorExpFunc->pfn_cmos_get_isp_default?=?cmos_get_isp_default;
????pstSensorExpFunc->pfn_cmos_get_isp_black_level?=?cmos_get_isp_black_level;
????pstSensorExpFunc->pfn_cmos_set_pixel_detect?=?cmos_set_pixel_detect;
????pstSensorExpFunc->pfn_cmos_get_sns_reg_info?=?cmos_get_sns_regs_info;

????return?0;
}

//AE?function
HI_S32?cmos_init_ae_exp_function(AE_SENSOR_EXP_FUNC_S?*pstExpFuncs)
{
????memset(pstExpFuncs,?0,?sizeof(AE_SENSOR_EXP_FUNC_S));

????pstExpFuncs->pfn_cmos_get_ae_default????=?cmos_get_ae_default;
????pstExpFuncs->pfn_cmos_fps_set???????????=?cmos_fps_set;
????pstExpFuncs->pfn_cmos_slow_framerate_set=?cmos_slow_framerate_set;????
????pstExpFuncs->pfn_cmos_inttime_update????=?cmos_inttime_update;
????pstExpFuncs->pfn_cmos_gains_update??????=?cmos_gains_update;
????pstExpFuncs->pfn_cmos_again_calc_table??=?cmos_again_calc_table;
????pstExpFuncs->pfn_cmos_get_inttime_max???=?cmos_get_inttime_max;?

????return?0;
}

//AWB?function
HI_S32?cmos_init_awb_exp_function(AWB_SENSOR_EXP_FUNC_S?*pstExpFuncs)
{
????memset(pstExpFuncs,?0,?sizeof(AWB_SENSOR_EXP_FUNC_S));

????pstExpFuncs->pfn_cmos_get_awb_default?=?cmos_get_awb_default;

????return?0;
}


4. 修改stream軟件包的.ini文件

xxxx_1080p_line.ini文件在Hi3518E_Stream_xxx/configs目錄下,改文件主要指定.so文件的位置、輸入視頻的接口(LVDS/MIPI/DVP)、視頻格式(分辨率、同步方式、目標幀率等)等系統配置。


5. 運行stream軟件

運行stream軟件包中的HiIspTool.sh腳本,通過以太網卡與上位機的PQTools建立通信。

cd?/Hi3518E_Stream_V1.0.2.0

./HiIspTool.sh?-a?-p?xxxx_1080p_line.ini

ittb_control進程是基于TCP的服務端,負責控制信號的傳輸。

ittb_stream進程也是基于TCP的服務端,負責播放H.264或YUV視頻流。

6. 運行PQ Tools

雙擊PQ Tools圖片,彈出如下對話框,設置IP地址。

海思Hi3518EV200(5)圖像sensor驅動開發

在下拉菜單中選擇TTP_Stream.exe選項

海思Hi3518EV200(5)圖像sensor驅動開發


7. 最終結果

海思Hi3518EV200(5)圖像sensor驅動開發

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 镇宁| 交口县| 班玛县| 海林市| 启东市| 昌平区| 白水县| 清新县| 瑞昌市| 堆龙德庆县| 工布江达县| 京山县| 赤峰市| 广丰县| 玛多县| 黄龙县| 易门县| 静海县| 盐山县| 泗阳县| 宁阳县| 许昌市| 黎川县| 新干县| 孟州市| 延津县| 宿迁市| 西吉县| 莒南县| 龙游县| 岳普湖县| 大兴区| 丘北县| 汕尾市| 绍兴市| 闵行区| 巴林右旗| 文化| 邵阳市| 延津县|