【发布时间】:2011-04-25 12:56:31
【问题描述】:
**你好,我是一个新手,使用 LINUX 中的 3 个 16550 UART 芯片为基于串行 PCI 的板编写驱动程序。每个 uart 芯片支持 4 个通道(4 个串行端口)。
在我的 Linux 驱动程序代码中,我曾考虑为每个端口使用线程,即总共 4x3=12 个端口。你认为给每个端口一个专用线程是个好主意吗?我可以使用一个特定的通道来实现一个零调制解调器,其他通道 RS422 一些其他通道 RS485 等等
我认为线程编程的原因是所有线程都是独立运行的,每个线程 - 反过来每个端口可能是活动的或未使用的。所以我的目标是让它们尽可能地相互独立。
请让我知道这种类型的驱动程序的整体设计应该是什么样的。如果实现了这种类似的驱动程序,请提供链接/来源。
这是我第一次做这样的事情..我的逻辑是正确的/不正确的还是只是一个不正确的流程,这是无效的,听起来绝对可怕 谢谢和问候**
【问题讨论】:
-
为什么不看看内核源代码中包含的各种串行端口驱动程序驱动程序?我并没有在内核的那些领域搞砸,但肯定有一些框架可以插入。协议驱动程序最好在用户空间中实现。将它们放在内核中不会为您节省任何费用,只会延长您的开发时间。
标签: c linux linux-device-driver