我可以使用 Buildroot 从 HPS 上的 Linux(SoC FPGA 中的 ARM 内核)使用固件对 Altera/Intel Cyclone V SoC FPGA 的 FPGA 部分进行编程。 我正在使用设备树覆盖通过 configfs 将原始二进制文件 (.rbf) 写入 FPGA。
# mount -t configfs none /sys/kernel/config
# mkdir -p /sys/kernel/config/device-tree/overlays/ov_soc_firmware_fpga
# echo ov_soc_firmware_fpga.dtb > /sys/kernel/config/device-tree/overlays/ov_soc_firmware_fpga/path
但是,如果我再次发出
echo
命令,则会收到此错误:“sh:写入错误:不允许操作”。
我尝试卸载/安装,但没有帮助。
如何在不重启的情况下重新编程 FPGA?
卸载覆盖层实际上非常简单。你执行“rmdir /the/path/to/overlay”,它就会被卸载。
在你的情况下应该是
rmdir /sys/kernel/config/device-tree/overlays/ov_soc_firmware_fpga
卸载后,从“mkdir /path/to/overlay”开始重新运行您的部分以加载新的.rbf。