1. 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地址。

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

7. 最終結果

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