
瑞薩多核處理器概述
在傳統設計中,兩顆芯片之間需要通過外部接口交換大量數據,這不僅占用了寶貴的引腳資源,而且數據傳輸效率低下。
相反,集成了A核和M核或R核的多核異構處理器利用內部總線結構實現了快速通信,并共享內部資源,從而避免了對外部引腳的占用。
這種多核異構的系統設計不僅降低了通信過程中的信息安全風險,還減少了芯片采購和管理成本,縮減了PCB板的成本和尺寸,并簡化了開發流程。
瑞薩RZ/G2L處理器概述
配備雙核Arm? Cortex?-A55 (1.2 GHz) CPU和單核Arm? Cortex?-M33 (200 MHz) CPU、3D圖形加速引擎和視頻編碼解碼引擎器的通用微處理器。
G2L框圖

異構通信機制
異構通信機制(OPENAMP Open Asymmetric Multi-Processing)的方案越來越成熟了。
在RZ/G2L系列的MPU中,我們可以看到多核異構架構的一個實際應用。這款MPU擁有一個大核Cortex-A55,頻率高達1.2GHz,能夠運行Linux操作系統,以及一個小核Cortex-M33,頻率為200MHz,專門用于運行RTOS或裸機(bare-metal)程序。這兩個核心之間的異構通信是通過OpenAMP軟件框架實現的。
OpenAMP是一個輕量級的通信協議,它使得不同的處理器能夠通過共享內存或消息傳遞機制來進行交流。在一個多核處理系統中,各個處理器可能會運行不同的軟件模塊,而OpenAMP框架則為這些模塊之間的數據交換和協作提供了一種有效的手段。通過這種方式,OpenAMP不僅簡化了多處理器間的通信,還增強了整個系統的協同效率和功能性。見圖1。

圖1
Virtio 虛擬化模塊
Virtio是一個共享內存管理的虛擬設備框架,Virtio中的vring是指向數據緩沖區指針的FIFO隊列,有兩個單向的vring,一個vring專用于發送到遠程處理器的消息,另一個vring用于從遠程處理器接收的消息, 數據就存放于共享的內存中,即Vring buffers, 一半用于發送,一半用于接收。
RPMsg遠程處理器消息傳遞
RPMsg框架位于Virtio的上層,RPMsg(Remote Processor Messaging)框架是一種基于Virtio的消息總線。見圖2。

圖2
Remoteproc
主處理器上的Linux操作系統可以對遠程處理器及其相關軟件環境進行生命周期管理,即啟動或關閉遠程處理器。見圖3。

圖3
IPCC處理器間通信控制器
MHU(Message Handling Unit)是MPU芯片內的一個IP模塊,擔任IPCC角色,用于Cortex-A55(CA55)之間或與Cortex-M33(CM33)之間的消息通信。數據傳輸通過共享內存方式實現。
一個通道由一對數據傳輸處理寄存器和響應傳輸處理寄存器組成,共掛載12個通道(CA55 Core0/Core1 CM33,安全和非安全區域)。見圖4。

圖4
以上介紹了RZ/G2L雙核異構的通信方式,同時RZ/G2L產品也提供相應的軟件支持。
Multi-os (CA55 Linux + CM33 RTOS)
客戶可以使用靈活的軟件包(FSP)快速開發應用程序,使用OpenAMP創建與Linux配合使用的應用程序。見圖5。

圖5
Cortex-M33開發環境

圖6
相應硬件板及軟件工具可以通過瑞薩官網獲得。
JTAG在線調試
當連接JTAG時,必須如下設置DIP SW1。見圖7。

圖7
● CM33由CA55加載啟動
● 引導過程中有多個時間點可以執行此操作:
● Arm Trusted Firmware
啟動CM33的最快方法
允許將代碼加載到安全RAM中
● u-boot -> Multi OS SW package默認方式
CM33 固件容易更新
二進制文件存儲在u-boot可以訪問的文件系統中
● Linux (remoteproc)
最方便維護,軟件升級改動少
資源共享時,請注意如下分配
● 引腳復用
● 內存分配
● 外設分配
以上介紹了RZ/G2L MPU的多核異構設計及通信方案,目前RZ/G系列都采用ARM A核和M核或R核的多核異構設計,更多產品信息您可點擊文末閱讀原文訪問瑞薩官網。
------------ END ------------

藍牙、Wi?Fi、NFC等物聯網技術開發與應用!

以Zephyr為橋梁,瑞薩 MCU走進Micro-ROS機器人生態

從ROS 2到Micro-ROS:基于瑞薩MCU通信部署實戰