温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

各个平台camera驱动编写注意事项

发布时间:2020-07-09 14:43:12 来源:网络 阅读:850 作者:GaoNeil 栏目:移动开发

各个平台camera驱动编写注意事项

camera驱动开发

1)另外注意,在imx6平台中,4.1.15kernel版本的代码,mxc的mxc_v4l2_capture.c camera主控制器和ov5642.c的sensor驱动之间,通过v4l2-int-device.h和v4l2-int-device.c中的master和slave注册attach连接的方式来关联,关联后,master(camera isp主控制器)通过ioctl来控制slave(sensor)。master和slave只有struct v4l2_int_ioctl_dest的ioctl的交互,这些交互包括init、power控制、g_fmt_cap、g_s_parm、g_ctrl等等。slave sensor驱动也仅仅是实现这些ioctl功能即可。
2)然而高通平台和mtk平台并没有使用v4l2-int-device.c的方式和sensor驱动通信。高通平台的msm isp以v4l2_subdev的形式出现,参见msm_isp.c公共文件和具体的msm_isp47.c版本。高通的msm_sensor.c以subdev的形式出现(见msm_sd_register()),然后各个具体的camera sensor则是以msm_sensor_platform_probe(struct platform_device, const void data),其实data是struct msm_sensor_ctrl_t类型来传入个msm_sensor.c作为回调。
3)mtk平台目前没有看到他是否使用了v4l2的框架。
虽然每个平台的接口有区别,要求你提供的驱动代码框架有一定区别,但是可以从平台中找个参考的驱动去实现。例如摄像头ov5640驱动,例如imx6的drivers/media/platform/mxc/capture/ov5640.c或者ov5640_mipi.c。例如参考ov5640_mipi.c来实现pr2000k_mipi.c驱动。
另外:一个视频捕获驱动对进入的视频流有两种工作模式: Preview模式(非overlay模式)和overlay模式。 别的地方叫法不同。overlay模式可能叫preview模式。

具体请参考我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html

另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI