簡介¶
FPGA 子系統支援在 Linux 下動態地重新程式設計 FPGA。 FPGA 子系統的一些核心意圖是
FPGA 子系統是供應商無關的。
FPGA 子系統將上層(使用者空間介面和列舉)與知道如何程式設計特定 FPGA 的下層分開。
程式碼不應在上層和下層之間共享。 這應該是不言而喻的。 如果這似乎是必要的,則可能可以新增框架功能,這將使其他使用者受益。 請寫信給 linux-fpga 郵件列表和維護人員,並尋求一種解決方案,該解決方案可以擴充套件框架以進行廣泛的重用。
通常,在新增程式碼時,請考慮未來。 計劃重用。
核心中的框架分為
FPGA 管理器¶
如果您要新增新的 FPGA 或新的 FPGA 程式設計方法,則此子系統適合您。 低階 FPGA 管理器驅動程式包含如何程式設計特定裝置的知識。 此子系統包括 fpga-mgr.c 中的框架以及向其註冊的低階驅動程式。
FPGA 橋接¶
FPGA 橋接器可防止在程式設計期間從 FPGA 或 FPGA 區域發出雜散訊號。 它們在程式設計開始之前被停用,然後在程式設計之後重新啟用。 FPGA 橋接器可能是實際的硬硬體,它將匯流排連線到 CPU,也可能是 FPGA 結構中的一個軟(“凍結”)橋接器,該橋接器圍繞 FPGA 的部分重新配置區域。 此子系統包括 fpga-bridge.c 和向其註冊的低階驅動程式。
FPGA 區域¶
如果要向 FPGA 框架新增新介面,請將其新增到 FPGA 區域之上。
FPGA 區域框架 (fpga-region.c) 將管理器和橋接器關聯為可重新配置的區域。 區域可以指完全重新配置中的整個 FPGA,也可以指部分重新配置區域。
裝置樹 FPGA 區域支援 (of-fpga-region.c) 在應用裝置樹覆蓋時處理 FPGA 的重新程式設計。