初学者希望编写 linux 设备驱动程序(usb、pci)。设备建议?
我阅读 Linux 内核开发和设备驱动程序已有一段时间了。我准备在真正的硬件上尝试一下。我想为台式计算机的 USB(或者 PCI)设备编写一个驱动程序。但我似乎想到的每一个设备都已经受到支持(包括我拥有的所有自动取款机)。因此,欢迎任何建议。
PS 愿意购买,只要价格低于 100 英镑(150 美元)。
I have been reading on linux kernel development and device drivers for a while. I feel ready to give it a go on a real piece of hardware. I would like to write a driver for a, preferably usb (otherwise pci), device for a desktop computer. But every device I seem to think of is already supported (including everything I own atm). So, would welcome any suggestions.
P.S. Willing to buy it, provided it's under £100 (150$).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
任何真正实用的事情都已经出于必要而做了。我的投票是类似 http://www.amazon.com/Cheeky-Computer -受控导弹发射器/dp/B004AIZV48/ref=pd_sim_t_1。它很有趣、便宜,目前仅适用于 Windows。
该协议应该非常简单,但将为您提供调试 USB 通道以便弄清楚它的良好经验。当你完成后,你就会得到一个很酷的玩具:)
Anything really practical has already been done out of necessity. My vote would be for something like http://www.amazon.com/Cheeky-Computer-Controlled-Missile-Launcher/dp/B004AIZV48/ref=pd_sim_t_1. It's fun, inexpensive, and currently Windows only.
The protocol should be pretty simple, but will give you good experience on debugging the USB channel in order to figure it out. And when you are done, you'll have a cool toy :)
基于 USB 的设备通常在内核级别得到很好的支持。这意味着您很少需要为内核中的每个 USB 设备编写设备驱动程序。这是因为应用程序可以轻松使用 libusb(以及其他几个用户空间 USB 库)与设备通信。
如果您查看内核中的 USB 代码,您会发现它是所有硬件协议中最复杂的实现之一,但它在不同的 USB 设备上也是通用的。我以前做过 USB 设备的移植工作,相信我,libusb 已经足够好了。
看看(例如):
http://libusb.sourceforge.net/doc/examples.html
USB-based devices are generally well supported at the kernel level. What this means is that u rarely have to write a device driver for each and every USB devices at the kernel. THis is because applications can easily use libusb (and several other userspace USB libraries) to talk to the device.
If you look into the USB code in the kernel, you can see that it is among the most complex implementation of all the hardware protocol, but it is also generic across different USB devices. I have done porting work for USB devices before, and trust me, libusb is good enough.
Check it out (for example):
http://libusb.sourceforge.net/doc/examples.html
您可以移植Enttec Open DMX USB 接口< /a> 最新 3.x 内核的驱动程序。
git 克隆 http://git.hbels.com/public/dmx_usb_module
libusb
You could port the Enttec Open DMX USB Interface driver to latest 3.x kernels.
git clone http://git.hbels.com/public/dmx_usb_module
libusb way sounds more appropriate to me too though.