linux内核 – 从linux内核模块访问串行端口

linux内核 – 从linux内核模块访问串行端口,第1张

概述你好 Linux内核驱动程序大师! 我正在为使用串行接口进行配置的摄像机编写一个v4l2驱动程序.我想让驱动程序配置相机,因为它保持客户端代码在相机型号之间一致.问题是:从驱动程序模块访问摄像机串行接口的最佳方式是什么? 从我听到的,从内核驱动程序访问文件是一个很大的不,但可以做到.因此,我正在使用以下代码段,但感觉就像一个黑客. oldfs = get_fs();set_fs(KERNEL_D 你好 Linux内核驱动程序大师!

我正在为使用串行接口进行配置的摄像机编写一个v4l2驱动程序.我想让驱动程序配置相机,因为它保持客户端代码在相机型号之间一致.问题是:从驱动程序模块访问摄像机串行接口的最佳方式是什么?

从我听到的,从内核驱动程序访问文件是一个很大的不,但可以做到.因此,我正在使用以下代码段,但感觉就像一个黑客.

oldfs = get_fs();set_fs(KERNEL_DS);fd->f_pos=0;fd->f_op->write(fd,data,data_len,&fd->f_pos);set_fs(oldfs);

我的问题是真的:这是正确的方法?

解决方法 我认为,由于涉及串行端口,这必须是某种嵌入式系统.毕竟,没有很多PC甚至有串行端口.我也假设串行端口可以被认为是永久连接,至少从用户的角度来看.如果这是真的,那么你真的不想要一个TTY设备.您想要作为专用UART访问设备.

如果您查看了Wolfson音频编解码器(sound / soc / wm * .c),您将看到一个主要通过I2S通信但具有辅助I2C接口进行配置的设备的示例.这是概念上你想要的,我相信.驱动程序提供了一个统一的软件界面,并向任何适合的硬件发出命令.显然,这比将硬件实现细节暴露给用户空间要好得多.

我在内核中找不到一个UART驱动程序的一个很好的例子,这个例子可以这样工作,但希望我已经描述了要查找的内容.从实际而非技术纯洁的角度来看,从内核执行文件I / O可能更好一些.

总结

以上是内存溢出为你收集整理的linux内核 – 从linux内核模块访问串行端口全部内容,希望文章能够帮你解决linux内核 – 从linux内核模块访问串行端口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存