XILINX K7 FPGA+RK3399 PCIE驱动调试

Posted 深圳信迈科技DSP+ARM+FPGA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XILINX K7 FPGA+RK3399 PCIE驱动调试相关的知识,希望对你有一定的参考价值。

ARM端 xdma 的驱动编译,交叉编译器的配置,编译内核。

先上图。

以下参考XILINX FPGA+RK3399 PCIE X4_FPGA零下的博客-CSDN博客

编译xdma说明
一、安装交叉编译器(官方用的6.3的)

// An highlighted block
   1、 mkdir -p /opt/FriendlyARM/toolchain/  #新建一个目录
   2 、cp gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar  /opt/FriendlyARM/toolchain/
   3、tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar # 将编译器解压到当前目录
   4、 mv  gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu  gcc-linaro-7.4.1    #把名字变短一点
   5 、source setEnv.sh  #设置临时环境变量  只在当前终端有效 、每次编译前source一下

验证 aarch64-linux-gnu-gcc -v
2、Makefile 修改 kernel 路径 自己的 编译器自己指定

// An highlighted block
obj-m += xdma.o
xdma-objs := xdma-core.o xdma-sgm.o xdma-ioctl.o xdma-bit.o

KERNELDIR ?=/home/ycd/project/rk3399/kernel/kernel-rockchip-nanopi4-linux-v4.4.y 
PWD       := $(shell pwd)

ROOT := $(dir $(M))
XILINXINCLUDE := -I$(ROOT)../include -I$(ROOT)/include

GCC49 :=aarch64-linux-gnu-
all:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

install: all
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
    depmod -a
    install -m 644 10-xcldma.rules /etc/udev/rules.d

clean:
    rm -rf *.o *.o.d *~ core .depend .*.cmd *.ko *.ko.unsigned *.mod.c .tmp_versions *.symvers .#* *.save *.bak Modules.* modules.order Module.markers *.bin

CFLAGS_xdma-core.o := -Wall -DDEBUG $(XILINXINCLUDE)

ifeq ($(GCC49),1)
    CFLAGS_xdma-core.o += -Wno-error=date-time
endif

CFLAGS_xdma-sgm.o := $(XILINXINCLUDE)
CFLAGS_xdma-bit.o := $(XILINXINCLUDE)
CFLAGS_xdma-ioctl.o := $(XILINXINCLUDE)


编译出xdma.ko 导入到开发板内就可以插入内核了。
 

以上是关于XILINX K7 FPGA+RK3399 PCIE驱动调试的主要内容,如果未能解决你的问题,请参考以下文章

RK3399pro + K7/A7 FPGA+ AI国产人工智能图像处理平台

DSP/ARM+复旦微ZYNQ/A7/K7 FPGA系列解决方案

Xilinx Kintex-7 FPGA K7 XC7K325T板卡6兄弟

基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡226

RK3399平台开发系列讲解(高速设备驱动篇)6.32PCI设备的扫描创建

RK3399平台开发系列讲解(高速设备驱动篇)6.60PCI总线的驱动注册