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