我需要开发一个(用户空间)库来处理Linux上的串行通信(在Zynq板上: UART,SPI,I2C)。
我浏览了各种网站和东西,研究了xilinx内核,以及一些关于O‘’Reilly设备驱动程序的参考资料。
到目前为止,我发现的是: Linux已经包含了自己的内核模块来处理通信(例如: UART内核模块处理外围设备,以便它们出现在/dev/中,并且通过该设备文件,我可以使用打开、读、写等方式从用户空间与设备进行交互)。
我还读到,作为一种常见的模式,与设备驱动程序的交互是通过字符设备驱动程序完成的,该驱动程序在用户空间中被访问,并负责与设备驱动程序的交互(详见下图)。

我脑海中浮现的想法是:
我的问题是:我应该走哪条路,为什么?
此外,任何关于这一主题的文章/书籍/链接都将受到高度赞赏。
提前感谢!
发布于 2018-06-30 18:12:38
快速搜索似乎有很多库,所以不确定为什么要发明轮子,例如i2c
但是无论如何,如果它是一种新型的总线/设备,用户空间库总是很好的方法。
https://stackoverflow.com/questions/51100022
复制相似问题