我在Linux用户空间中已经有了一个串行驱动程序的功能代码,它是通过FPGA实现的,有以下API:
/*
* Send the buffer using the Uart.
*/
uart_configure(int channelNum, int baudrate, int stopbit, int startbit, int
parity, int flowcntr);
/*
* Receive buffer
* Returns: number of bytes read.
*/
int uart_recv (int channelNum, char* ReceiveBuffer, int size);
/*
* Send the buffer using Uart.
* Returns: number of bytes sent.
*/
int uart_send(int channelNum, char* SendBuffer, int size);
但是如果我们需要它作为一个常规的串行设备(/dev/ttySx)公开呢?
为此,我考虑了以下选择:
-
-
使用pty(伪终端),这里也做了类似的事情:
https://github.com/carloop/can-utils-osx/blob/master/slcanpty.c
-
用cuse-userspace字符设备包装这些api
https://libfuse.github.io/doxygen/cuse_8c.html
你怎么认为?是否可以通过用cuse包装api来创建常规序列?