jetson上安装xdma_pcie_linux驱动

驱动下载地址
https://github.com/Xilinx/dma_ip_drivers
1.安装驱动

cd  ~/Downloads/dma_ip_drivers-master/XDMA/linux-kernel/xdma
make
cd ~/Downloads/dma_ip_drivers-master/XDMA/linux-kernel/tools
make

先准备好fpga的bit文件,下载到fpga中。需要重启jetson识别。
此时用到的pcie子卡是K7,pcie×8,DDR3.

  1. 加载驱动
cd ~/Downloads/dma_ip_drivers-master/XDMA/linux-kernel/xdma
sudo insmod xdma.ko 

在这里插入图片描述

2.再tools文件夹下,进行读写测试。read/write

cd ~/Downloads/dma_ip_drivers-master/XDMA/linux-kernel/tools
sudo ./dma_from_device -d /dev/xdma0_c2h_0 -f ./test2.bin -s 4096 -a 0 -c 2
sudo ./dma_to_device -d /dev/xdma0_h2c_0 -f ./test2.bin -s 4096 -a 0 -c 2

-d:device 设备.
-f:file 文件
-s:size 大小
-a:addr 起始地址
-c:count
这两个操作分别是从板卡读 4096 Bytes 数据到文件 test.bin 以及从 test.bin 读出4096 Bytes 数据发送给板卡。

在这里插入图片描述
测试2
fpga:xc7vx690t,pcie×8,ddr2带宽512MByte
2023.4.21
在这里插入图片描述
将程序固化到fpga后,测试结果。

在这里插入图片描述

linux加载/卸载驱动有两种方法。

1.modprobe
注:在使用这个命令加载模块前先使用depmod -a命令生成modules.dep文件,该文件位于/lib/modules/$(uname -r)目录下;
modprobe命令智能地向内核中加载模块或者从内核中移除模块,可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的依赖关系,决定要载入哪些模块。若在载入过程中出错,modprobe会卸载整组的模块。

载入模块的命令:
(1) 载入指定的模块:modprobe drv.ko
(2) 载入全部模块:modprobe -a

卸载模块的命令:modprobe -r drv.ko

modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。

  1. insmod/rmmod
    insmod需要指定模块的绝对路径,和modprobe不同,insmod并且不会把载入模块的依赖模块也载入进来。
    用法:insmod drv.ko

rmmod只需要模块的名字即可实现模块的卸载,同样也不会把待卸载模块的依赖模块进行卸载。
用法:rmmod drv.ko

lsmod:显示已载入系统的模块

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值