ALSA或libusb API是两个选择;对我来说都很新颖。我已经好几年没有写设备驱动程序了,那时候写的是Unix的驱动程序,而且还在80年代,但我知道一旦我知道要使用哪些工具,就可以弄清楚如何做。我猜想这两种API都仍然使用C语言;我看过libusb API,非常不错,但我对ALSA项目一无所知;似乎它们旨在将模块放入内核以实现这一点。
这是一个泛化的问题,但我感兴趣的设备是Roland GR-55;它具有从同一个USB连接中传输MIDI和音频的功能;它有Windows和MAC驱动程序,但没有Linux驱动程序。
您更喜欢使用哪些库或工具?
我需要编写设备驱动程序还是可加载内核模块(LKM)?