对用于 OpenCL 英特尔® SDK的Arria 10 GX 开发套件进行编程时™命令 aocl 程序可能会导致计算机重新启动。 aocl 程序命令对 PCI Express® 界面进行了更改,这可能会导致"无法纠正的严重"错误,如"意外关闭"。 系统重新启动以防止恶意活动。
注:本意外重新启动报告于 Ubuntu 16.04,内核 4.15,但可能发生在其他版本的 Linux 或其他操作系统上。
以下步骤手动对非易失性闪存设备进行编程。
运行以下命令以生成 flash.cof 和 flash.cdf 文件。
$ cd /hld
$ 来源 init_opencl.sh
$ cd 主板/a10_ref/启动
$ aocl 闪存 acl0
注:上面的 aocl 闪存 acl0 命令可能会报告"失败",但它仍然生成所需的 flash.cof 和 flash.cdf 文件。
确认 flash.cof和 flash.cdf 现在已处于启动目录中。
运行以下命令以生成 flash.pof 文件,并对闪存设备进行编程。
$ jtagconfig --setparam 1 JtagClock 6M
$aocl binedit boardtest.aocx get .acl.fPGA.bin FPGA.bin
$ aocl binedit FPGA.bin get .acl.sof fpga_temp.sof
$ quartus_cpf --convert flash.cof
$ quartus_pgm -c 1 flash.cdf
完全关闭计算机电源,然后重新启动。
通过以下步骤验证闪存是否已正确编程。
运行以下命令以安装驱动程序。
$ cd /hld
$ 来源 init_opencl.sh
$ aocl 安装 /hld/board/a10_ref/
重启计算机。
运行以下命令以运行诊断程序
$ cd /hld
$ 来源 init_opencl.sh
$ aocl 诊断 acl0
如果 aocl 诊断已过,则该闪存已得到正确编程,您可以继续。
如果 aocl 诊断失败,使用 lspci 验证该卡是否已识别。 寻找Altera或英特尔 FPGA主板。
如果 lspci 表明主板已识别, 但 aocl 诊断失败, 则重新运行 aocl 安装。
如果 lspci 未表明该主板已识别,请仔细检查主板上的所有交换机和跳线,并仔细检查内存模块是否正确就位。