框架图

其中FPGA CAN卡实现框图

开发环境
硬件平台
龙芯3A5000, 龙芯首款loongarch64架构平台
操作系统
国产麒麟V10系统
驱动移植
Xilinx 在github 有他们维护的dma开源仓库:https://github.com/Xilinx/dma_ip_drivers
Xilinx旨在免去用户从头开发dma 驱动的痛苦。
readme文档中明确表示支持的操作系统和内核版本有:

但我在实际项目中已经实践过了,移植到龙芯3A5000或者是FT/D2000 平台的国产化麒麟V10(内核版本5.14.x)操作系统下都是没有问题的。
驱动加载成功示意图:

xdma 节点生成:

项目中用到了xdma0_c2h_0/xdma0_h2c_0 以及12路中断 xdma0_events0 ~xdma0_events11。
寄存器读写示例:

最低0.47元/天 解锁文章
1万+





