@

前言

整理关于T107的所有底层驱动

底层驱动结构

graph LR XinPian[T107芯片]–>SXT(摄像头) XinPian–>Ping(屏) XinPian–>SDT(手电筒,闪光灯) XinPian–>MaDa(马达) XinPian–>AJD(按键灯) XinPian–>JP(键盘) XinPian–>FM(FM) XinPian–>HYP(合音频) Ping–>TPPing(TP屏) Ping–>NoTPPing(非TP屏)

摄像头

作用

摄像头(webcam)一般具有视频摄像/传播和静态图像捕捉等基本功能,它是借由镜头采集图像后,由摄像头内的感光组件电路及控制组件对图像进行处理并转换成电脑所能识别的数字信号,然后借由并行端口或USB连接输入到芯片后由软件再进行图像还原。

移植

添加GC032A摄像头

将要移植的sensor_gc032A.c放到工程目录下面 …\Prj_mk\FF605V01_QVGA_64MB_CF1_CF833_0002690目录下:

img

在…\MS_Customize\source\product\config\ums9117_barphone\sensor_cfg.c文件里面

//sensor_cfg.c
//首先声明
extern const SENSOR_INFO_T g_GC032A_yuv_info;
//添加摄像头驱动表
LOCAL const SENSOR_INFO_T* main_sensor_infor_tab[]=
{
//接着后面添加,避免新添加的影响以前的摄像头
#if defined(SENSOR_SP0A39) //其他摄像头
    &g_SP0A39_yuv_info,
#endif

#if defined(SENSOR_GC032A)
    &g_GC032A_yuv_info,
#endif
    PNULL
};

在make\custom_drv\custom_drv.mk文件添加对应的sensor_gc032A.c文件:

# IMG SENSOR  DRIVER
SOURCES  += sensor_gc0312.c \
            sensor_gc032A.c \ #新增摄像头.c文件

摄像头初始化

在…\Prj_mk\FF605V01_QVGA_64MB_CF1_CF833_0002690\sensor_gc032A.c文件:

//这里进行摄像头参数的初始化设置
//每一项的含义以及对应修改需要参考DateSheet或者其他项目已添加过的.c文件。
__align(4) const SENSOR_REG_T GC032A_YUV_640X480[] =
{
    /*System*/
    {0xf3,0x83},
    {0xf5,0x0c},
    {0xf7,0x01},
    {0xf8,0x01},//PLL 01  //03
    {0xf9,0x4e},
    {0xfa,0x10},
    {0xfc,0x02},
    {0xfe,0x02},
    {0x81,0x03},
    ...
}

摄像头参数调整

摄像头输出角度校准

在对应的工程目录下面的.mk文件修改

// 如FF615V20_QQVGA_128MB_DWE_0006885.mk 文件里面
//摄像头旋转角度
CAMERA_SENSOR_ANGLE = 0     ### Sensor Angle
                            # Option1:0
                            # Option2:90

//摄像头输出的角度调整
SENSOR_INSTALL_ANGEL = 0    ### Sensor install Angle
                            # Option1:0
                            # Option2:90
                            # Option2:180
                            # Option2:270

摄像头类型选择

在对应的工程目录下面的.mk文件修改

//摄像头类型选择 默认NONE 有特殊需要才增加
MOTION_SENSOR_TYPE = NONE           ### MOTION SENSOR SUPPORT:
                                    # Option1:NONE
                                    # Option2:ADXL346

//摄像头类型选择 默认NONE 有特殊需要才增加
MOTION_SENSOR_TYPE_OPTICAL = NONE   ### MOTION SENSOR OPTICAL SUPPORT:
                                    # Option1:NONE
                                    # Option2:LTR501

问题

摄像头无法打开

  • 打开摄像头失败时,是否有提示open failed

    • 如果没有打印 确认摄像头添加是否正确
    • 如果有打印 则表明有调用到摄像头,是其他问题导致
  • 确认通过命令是否能读取到摄像头的IC

// sensor_gc032A.c 文件里面
LOCAL uint32 GC032A_Identify(uint32 param)
{
    ...
    ret = GC032A_ReadReg(reg[i]);  // 查看该函数返回值是否正常
    ...
}
  • 确认摄像头的IC是什么(什么型号摄像头)
// sensor_gc032A.c 文件里面
LOCAL uint32 GC032A_Identify(uint32 param);
// 确认读取到IC和我们当前设置的IC是否一致 
// 如GC032A_Identify: it is GC032A 表示当前型号是GC032A

TP屏

作用

TP是TouchPad触摸屏的意思,触控屏(Touchpanel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置。

移植

原文地址:http://www.cnblogs.com/Wei-Ting/p/16809375.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性