Linux kernel FPGA硬件IP的Linux驱动程序

Linux kernel FPGA硬件IP的Linux驱动程序,linux-kernel,linux-device-driver,embedded-linux,Linux Kernel,Linux Device Driver,Embedded Linux,我有一个硬件IP在运行linux的FPGA上实现,采用RISCV体系结构,该IP包含各种寄存器:用于生成中断的寄存器,用于存储数据的寄存器等等。 我想为这个IP制作一个linux内核驱动程序,因为我知道其他设备(如CPU)会调用(排序)它来精确地生成中断和存储数据。 我应该选择什么类型/类别的驱动程序,哪个内核API可以帮助我编写它。您好,我是一位老CPU迷。我的两分钱:一个网络接口类驱动程序似乎足够了。IP对于块IP(知识产权),与网络无关!例如,CPU命令我的IP通过写入寄存器生成IRQ。请

我有一个硬件IP在运行linux的FPGA上实现,采用RISCV体系结构,该IP包含各种寄存器用于生成中断的寄存器,用于存储数据的寄存器等等。 我想为这个IP制作一个linux内核驱动程序,因为我知道其他设备(如CPU)会调用(排序)它来精确地生成中断和存储数据。
我应该选择什么类型/类别的驱动程序,哪个内核API可以帮助我编写它。

您好,我是一位老CPU迷。我的两分钱:一个网络接口类驱动程序似乎足够了。IP对于块IP(知识产权),与网络无关!例如,CPU命令我的IP通过写入寄存器生成IRQ。请问您为什么建议使用网络接口?您的目的是使linux内核模块能够和硬件IP对话,IP应该生成IRQ并存储数据。事实上,网络级驱动程序似乎适合我。如果不是,我们需要知道存储/交换什么样的数据,以及以什么方式(单状态字节?ADC输出?DAC输入?)来确定适合哪个驱动程序类。哈哈,Z80与@Zilog80对话。您需要添加一个昵称,这样用户将看到一个通知。“驱动程序”可以表示不同的含义,具体取决于您指的是低端接口(总线客户端驱动程序)还是高端接口(字符、块或网络设备驱动程序)。在底层,您可能需要一个支持设备树的“平台”驱动程序。