【问题标题】:Upload fpga code from zynqmp to peripheral将 fpga 代码从 zynqmp 上传到外设
【发布时间】:2019-01-05 20:28:36
【问题描述】:

我们有一个复杂的嵌入式系统,它带有运行 Xilinx 的 Linux 和其他几个外围设备的 zynqmp 处理器。外围设备有 fpgas,我们希望在 fpga 代码发生更改时在现场对外围设备进行编程。这些外设有jtag接口,TAP信号在zynqmp中映射为gpios。

fpga 文件为 svf、xsvf 或其他格式。我正在寻找可以解析这些文件并更新外围设备的 c/c++ 代码。

你有什么建议吗?

谢谢,

【问题讨论】:

  • 您应该能够找到一个文件的示例播放器代码,通常由“将您的GPIO操作放在这里”抽象支持。您的问题的这方面与想要对连接的 FPGA 进行编程的硬核 MCU 或 SoC 并没有真正的不同。如果您有支持它的连接,从属串行可能会更简单。早在黑暗时代,有人反转了网络远程 xilinx 设备编程器的协议,并为此实现了自己的后端。

标签: linux linux-kernel linux-device-driver fpga xilinx


【解决方案1】:

“外设具有 FPGA”。这对我来说没有意义。你的意思是FPGA有外围IP块,对吧?我还假设您使用 Yocto/OpenEmbedded,因为这就是 Xilinx 提供 Linux BSP 支持的方式。

Xilinx SDK 应该已经通过 Yocto 构建过程生成了一个 HDF,即 consumed。 BOOT.bin 是我认为配置 FPGA 的东西,但是,我不确定内部结构。您可以查看meta-updatermeta-mender 了解您的OTA 更新方法。要在现场对 FPGA 端 IP 块进行编程,请更新 BOOT.bin 以及内核和设备树。建议使用 Xilinx FAE 进行双重检查。

【讨论】:

  • 您误读或错误地不相信这个问题。对不同 JTAG 接口的提及清楚地表明,问题实际上是在谈论外围设备中不同的 FPGA,而不是关于实现运行 Linux 的计算机的芯片。
  • 谢谢克里斯。我找到了两个参考:xilinx.com/support/documentation/application_notes/xapp058.pdf 和 (x)svflib。第一个链接描述了 xilinx 的参考代码。有什么想法吗?
【解决方案2】:

如果外围设备被注册为设备并且有适当的驱动程序来访问它们,您也许可以只cat 图像给它们。

例如,在 Zedboard 上,您可以执行以下操作从 Linux 对 FPGA 进行编程:

cat myfpgaimage.bit > /dev/xdevcfg

https://forums.xilinx.com/t5/Embedded-Linux/Zynq-Loading-bitfile-into-FPGA-from-Linux-xdevcfg/td-p/237850

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多