仅对英特尔可见 — GUID: ewa1401204923103
Ixiasoft
1. Intel® FPGA RTE for OpenCL™ Pro Edition入门指南
2. Intel® FPGA RTE for OpenCL™ Pro Edition for 64-Bit Windows入门
3. Intel® FPGA RTE for OpenCL™ Pro Edition for x86_64 Linux Systems入门
4. Intel® FPGA RTE for OpenCL™ Pro Edition for Intel® ARMv7-A SoC FPGA入门
A. Intel® FPGA RTE for OpenCL™ Pro Edition入门指南存档
B. Intel® FPGA RTE for OpenCL™ Pro Edition入门指南文档修订历史
4.1.1. 下载 Intel® FPGA SDK for OpenCL and the SoC EDS
4.1.2. 安装 Intel® FPGA SDK for OpenCL Pro Edition for SoC FPGA
4.1.3. 安装 Intel® SoC FPGA Embedded Development Suite Pro Edition
4.1.4. 重新编译Linux Kernel Driver
4.1.5. 在SoC FPGA板级上安装Intel FPGA RTE for OpenCL Pro Edition
4.1.6. 安装 Intel® Arria® 10 SoC Development Kit
4.1.7. 在SoC FPGA上执行OpenCL Kernel
4.1.8. 卸载 Intel® FPGA RTE for OpenCL™
4.2.1. 下载 Intel® FPGA SDK for OpenCL™和SoC EDS
4.2.2. 安装 Intel® FPGA SDK for OpenCL Pro Edition for SoC FPGA
4.2.3. 安装 Intel® SoC FPGA Embedded Development Suite Pro Edition
4.2.4. 重新编译Linux Kernel Driver
4.2.5. 在SoC FPGA板级上安装Intel FPGA RTE for OpenCL Pro Edition
4.2.6. 安装 Intel® Arria® 10 SoC Development Kit
4.2.7. 在SoC FPGA上执行OpenCL Kernel
4.2.8. 卸载 Intel® FPGA RTE for OpenCL™
仅对英特尔可见 — GUID: ewa1401204923103
Ixiasoft
4.2.4. 重新编译Linux Kernel Driver
根据已编译的kernel source对OpenCL™ Linux kernel driver进行编译。如果您需要重建 Linux kernel driver,那么要将aclsoc Linux kernel driver重新编译成在SoC FPGA上运行的Linux kernel的实际版本。
driver source位于 Intel® FPGA RTE for OpenCL™ 安装目录中。在一个具有sudo和最新版本的SoC EDS的主机上自行编译driver。
- 将driver source从$INTELFPGAOCLSDKROOT/board/a10soc/arm32/driver/复制到一个新的目录中。
- 将driver Makefile中的KDIR值设置成包含Linux kernel源文件的目录,Linux kernel源文件是在Compiling the Linux Kernel for the Intel Arria 10 SoC Development Kit中下载的。
- 在包含driver source文件的新目录中,运行make clean命令。
- 运行make命令来创建aclsoc_drv.ko文件。
此文件稍后在Building the SD Card Image中使用。
如果在构建kernel driver期间看到以下消息,那么可能需要更新此driver才能用于更高版本的Linux kernel:aclsoc_cmd.c:165:14: error: too many arguments to function ‘get_user_pages_unlocked’ In file included from aclsoc_cmd.c:50:0
要更新driver,需要对$INTELFPGAOCLSDKROOT/board/a10soc/arm32/driver/aclsoc_cmd.c进行更改:- 在aclsoc_cmd.c中找到以下代码:
ret = get_user_pages_unlocked(target_task, target_task->mm, start_page + got * PAGE_SIZE, num_pages - got, write, 1, p + got);
- 使用以下代码进行替换:
ret = get_user_pages_remote(target_task, target_task->mm, start_page + got * PAGE_SIZE, num_pages - got, FOLL_WRITE|FOLL_FORCE, p + got, vma);
- 在aclsoc_cmd.c中找到以下代码: