linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...
核心的 rpmsg 框架起到開關的作用,根據消息中包含的目的地址將消息傳送到相應端點。由于消息報頭包含源地址,因此可在不同處理器之間建立專用連接。
命名服務
處理器可通過向 rpmsg 框架的命名服務發送消息,以動態宣布特定服務。命名服務功能本身用途不是很大。不過,rpmsg 框架允許將服務名稱關聯到設備驅動程序,以支持驅動程序的自動加載和初始化。
例如,如果遠程處理器宣布 dlinx-h323-v1.0 服務,那么核心可以搜索、加載和初始化與該名稱關聯的驅動程序。如果系統中服務被動態安裝在遠程處理器上,那么這樣可大大簡化驅動程序管理。
管理中斷
中斷管理有些棘手,尤其在啟動和停止內核時更是如此。最終,系統需要在遠程處理器啟動時動態地將特定中斷重定向至遠程處理器域,然后當遠程處理器停止時收回中斷。此外,系統必須保護中斷,防止其被錯誤配置的驅動程序誤分配。簡言之,必須在系統層面管理中斷。
對于 Linux SMP 核心而言,這是一個常規事件,而且是 SMP 核心在 AMP 配置中更受青睞的另一個原因。遠程處理器框架能方便地管理中斷,只需來自設備驅動程序的最小支持。
設備驅動程序
設備驅動開發是個始終需要關注的問題,因為所需的技能組合可能無法立刻提供。幸運的是,Linux 核心的 remoteproc 和 rpmsg 框架完成大部分重活;驅動程序只需要實現幾個標準驅動程序例程。功能完整的驅動程序可能只需要幾百行代碼。核心源代碼樹包含嵌入式開發人員可根據自身要求進行調整的驅動程序范例。
廠商還提供通用的開源設備驅動程序。DesignLinx Hardware SoluTIons 提供針對 Linux 和 FreeRTOS 的通用 rpmsg 驅動程序。由于通用驅動程序沒有假定所交換消息的格式,因此嵌入式開發人員可將其用于多種 AMP 應用,無需做任何修改。
引腳內移動
核心的多處理支持并不局限于同構多處理系統(使用同一類型處理器的系統)。以上介紹的所有特性也可以用在異構系統中(具有不同類型處理器的系統)。當“在引腳內”移植已有設計時,這些多處理功能尤其有用。
新型 SoC 產品使設計人員能夠方便地將各種硬件設計從印刷電路板移植到片上系統(圖 3)。過去在 PCB 上作為分立處理器和組件的部分可以完全在 SoC 的引腳內實現。
例如,我們可以使用賽靈思 Zynq-7000 系列 SoC 實現圖 3 中的初始 PCB 硬件架構,將其中一個 ARM 處理器作為可編程邏輯中的控制 CPU 和軟處理器(例如賽靈思 MicroBlaze™ 處理器),以替代分立處理器。我們可以使用剩余的 ARM 處理器運行 Linux SMP 核心(圖 4)。
將 Linux 添加到初始設計中能夠為 ARM 內核和軟核處理器提供以上描述的所有標準多處理功能(例如啟動、停止、重載、追蹤緩沖區和遠程消息)。而且,還帶來豐富的 Linux 功能集,可支持多種網絡接口(以太網、Wi-Fi、藍牙)、網絡服務(Web 服務器、FTP、SSH、SNMP)、文件系統
新型 SoC 產品使設計人員能夠方便地將各種硬件設計從印刷電路板移植到片上系統
(DOS、NFS、cramfs、閃存存儲器)以及其他接口(PCIe、SPI、USB、MMC、視頻)等。這些特性能方便地實現新功能,無需對經過檢驗的架構做太大改動。
內核不斷涌現
過去幾年中,針對嵌入式市場的多核 SoC 產品不斷增加,而且很適合用于 AMP 配置。例如,賽靈思 UltraScale+™ MPSoC 架構包含一個 64 位四核 ARM Cortex-A53、一個 32 位雙核 ARM Cortex-R5、一個圖形處理單元 (GPU) 以及多種其他外設,當然還包括有用的可編程邏輯。這為那些清楚如何駕馭實時操作系統的性能以及 Linux 核心的豐富特性集的設計人員提供了沃土。
如需了解如何設計 Linux/RTOS AMP 系統的更多詳情,敬請聯系DesignLinx Hardware SoluTIons。 賽靈思聯盟計劃的高級成員 DesignLinx 專門從事 FPGA 設計與支持業務,包括系統設計、原理圖捕捉和電氣封裝/機械工程設計,以及信號完整性設計。
總結
以上是生活随笔為你收集整理的linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: union翻译成中文_union什么意思
- 下一篇: 【经验分享】期刊缩写汇总