0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

ARM A7和RISC-V E907之間的通信方式

全志在線 ? 來源:全志在線 ? 作者:全志在線 ? 2022-07-07 14:45 ? 次閱讀

V853芯片包含兩個CPU。一個是主核心Arm A7 CPU,運行Tina Linux(全志自研Linux)系統(tǒng),為芯片主系統(tǒng);一個是RISC-V E907輔助CPU,運行Melis(全志自研RTOS)系統(tǒng),主要功能是提供通用算力補充、輔助 Linux 實現(xiàn)快起和低功耗管理等功能。

A7 - Linux系統(tǒng)

V853主核心 A7上運行的是Tina Linux系統(tǒng)。Tina Linux是全志針對AIoT類產(chǎn)品,基于Linux內(nèi)核深度定制的嵌入式系統(tǒng)。

在 Tina Linux 中,提供 AMP 與 RPMsg 對接 E907

Linux remoteproc 管理控制 E907

RPMsg 與 E907 通訊

E907 - RTOS系統(tǒng)

V853 輔助核心 E907 上運行的是全志自研 RTOS 系統(tǒng) Melis。其獨立于 A7 主核心中的 Linux 系統(tǒng)??梢元毩⑦\行。

在 E907 Melis 中,提供 OpenAMP 軟件框架來與 A7 Linux 系統(tǒng)進行通信。

提供了處理器的生命周期管理(LCM,Life Cycle Management),與 Linux 的 remoteproc 兼容

提供了處理器間的消息傳輸機制,與 Linux 的 RPMsg 兼容

異構(gòu)系統(tǒng)啟動流程

首先,由芯片內(nèi)部的 BORM 尋找啟動介質(zhì),在 V853 開發(fā)板上便是 eMMC 儲存器。找到啟動介質(zhì)后會運行其中的 BOOT0 代碼。BOOT0 會在 A7 主核心中運行 Linux 系統(tǒng),也會在 E907 核心中運行 RTOS 系統(tǒng)。啟動的兩個系統(tǒng)是獨立運行的。

2d022c0a-fdbd-11ec-ba43-dac502259ad0.png

異構(gòu)系統(tǒng)的通信

V853 的異構(gòu)系統(tǒng)通訊在硬件上使用的是 MSGBOX,在軟件層面上使用的是 AMP 與 RPMsg 通訊協(xié)議。其中 A7 上基于 Linux 標準的 RPMsg 驅(qū)動框架,E907基于 OpenAMP 異構(gòu)通信框架。

V853 所帶有的 A7 主核心與 E907 輔助核心是完全不同的兩個核心,為了最大限度的發(fā)揮他們的性能,協(xié)同完成某一任務,所以在不同的核心上面運行的系統(tǒng)也各不相同。這些不同架構(gòu)的核心以及他們上面所運行的軟件組合在一起,就成了 AMP 系統(tǒng) (Asymmetric Multiprocessing System, 異構(gòu)多處理系統(tǒng))。

由于兩個核心存在的目的是協(xié)同處理,因此在異構(gòu)多處理系統(tǒng)中往往會形成 Master - Remote 結(jié)構(gòu)。主核心啟動后再啟動輔助核心。當兩個核心上的系統(tǒng)都啟動完成后,他們之間就通過 IPC(Inter Processor Communication)方式進行通信,而 RPMsg 就是 IPC 中的一種。

在AMP系統(tǒng)中,兩個核心通過共享內(nèi)存的方式進行通信。兩個核心通過 AMP 中斷來傳遞訊息。內(nèi)存的管理由主核負責。

2d126fa2-fdbd-11ec-ba43-dac502259ad0.png

AMP 系統(tǒng)在每個通信方向上都有兩個緩沖區(qū),分別是 USED 和 AVAIL,這個緩沖區(qū)可以按照 RPMsg 中消息的格式分成一塊一塊鏈接形成一個環(huán)。

2d2050a4-fdbd-11ec-ba43-dac502259ad0.png

當主核需要和從核進行通信的時候可以分為四步:

主核先從USED中取得一塊內(nèi)存(Allocate)

將消息按照消息協(xié)議填充

將該內(nèi)存鏈接到 AVAIL 緩沖區(qū)中(Send)

觸發(fā)中斷,通知輔助核有消息處理

2d327310-fdbd-11ec-ba43-dac502259ad0.png

反之,從核需要和主核通信的時候也類似:

主核先從AVAIL中取得一塊內(nèi)存(Allocate)

將消息按照消息協(xié)議填充

將該內(nèi)存鏈接到 USED 緩沖區(qū)中(Send)

觸發(fā)中斷,通知主核有消息處理。

2d45d3d8-fdbd-11ec-ba43-dac502259ad0.png

既然 RPMsg 是一種信息交換的協(xié)議,與TCP/IP類似,RPMsg 協(xié)議也有分層,主要分為三層,分別是傳輸層、MAC層和物理層。

2d557b44-fdbd-11ec-ba43-dac502259ad0.png

其中 MAC層 的 VirtIO 是一種I/O 半虛擬化解決方案,是一套通用 I/O 設備虛擬化的程序,是對半虛擬化 Hypervisor 中的一組通用 I/O 設備的抽象。提供了一套上層應用與各 Hypervisor 虛擬化設備之間的通信框架和編程接口,減少跨平臺所帶來的兼容性問題,大大提高驅(qū)動程序開發(fā)效率。

RPMsg 總線上的消息都具有以下結(jié)構(gòu),包含消息頭和數(shù)據(jù)兩個固定的部分,該消息格式的定義位于drivers/rpmsg/virtio_rpmsg_bus.c中,具體定義如下:

struct rpmsg_hdr { u32 src; u32 dst; u32 reserved; u16 len; u16 flags; u8 data[];} __packed;

異構(gòu)系統(tǒng)的控制

在異構(gòu)系統(tǒng)中,不止需要消息的傳輸,還需要相關控制。例如主核對輔助核心的開啟,加載固件,關閉等等。這就需要用到 remoteproc 框架。

remoteproc 框架支持對不同平臺,不同架構(gòu)的處理器進行控制,可以監(jiān)控輔助核心的運行情況。

對于 V853 來說,remoteproc 用于對 E907 進行生命周期管理,一般來說包含有加載固件、 檢測遠端處理器是否崩潰等功能。它在加載遠端處理器的固件時,會根據(jù)固件中定義的 resource table 來申請資源,并創(chuàng)建 VirtIO 設備。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19404

    瀏覽量

    230957
  • Linux系統(tǒng)

    關注

    4

    文章

    595

    瀏覽量

    27483
  • 通訊
    +關注

    關注

    9

    文章

    911

    瀏覽量

    35031

原文標題:詳解全志V853上的ARM A7和RISC-V E907之間的通信方式

文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RISC-VARM 架構(gòu)的區(qū)別 RISC-V與機器學習的關系

    在現(xiàn)代計算機架構(gòu)中,RISC-VARM是兩種流行的處理器架構(gòu)。它們各自具有獨特的特點和優(yōu)勢,適用于不同的應用場景。 1. RISC-V架構(gòu) RISC-V(讀作“risk-five”)
    的頭像 發(fā)表于 12-11 17:50 ?1177次閱讀

    全志T536系列處理器特性概述 集成RISC-V E907協(xié)處理器

    CSI、5M ISP;此外,T536處理器還集成雙千兆以太網(wǎng)、PCIe2.1/USB3.1、Localbus、4*CANFD、17*UART、SDIO、SPI、PWM、I2C等接口。 ? 特性: 集成四核 Cortex-A55和RISC-V?
    的頭像 發(fā)表于 11-18 15:21 ?1566次閱讀
    全志T536系列處理器特性概述 集成<b class='flag-5'>RISC-V</b> <b class='flag-5'>E907</b>協(xié)處理器

    什么是RISC-V?以及RISC-VARM、X86的區(qū)別

    ARM都是基于RISC的指令集架構(gòu),它們的主要區(qū)別如下: 指令集數(shù)量 ARM指令集和寄存器要比RISC-V豐富 指令集寬度 RISC-V
    發(fā)表于 11-16 16:14

    RISC-Varm指令集的對比分析

    適應不同的應用場景。ARM指令集的長度固定,可通過多流水線方式提高處理效率。同時,ARM指令集還包含了豐富的數(shù)據(jù)處理指令和程序狀態(tài)寄存器處理指令等。 五、生態(tài)系統(tǒng) RISC-V
    發(fā)表于 09-28 11:05

    ISA ARM 對比 RISC-V

    、擴展方式以及目標應用場景等方面有顯著差異。 要深入對比ARMRISC-V的指令集,需要從指令集架構(gòu)(ISA)的設計原則、擴展模塊、指令的復雜性、特性以及它們的實際性能表現(xiàn)來進行討論。RIS
    的頭像 發(fā)表于 09-10 09:26 ?910次閱讀

    risc-varm哪個更有前途?

    如今risc-v發(fā)展迅猛,我想預測將來他與arm誰會更優(yōu)秀?
    發(fā)表于 08-29 21:12

    rIsc-v的缺的是什么?

    RISC-V設計簡潔,但在某些應用場景下,其性能可能略低于專用指令集架構(gòu)(如ARM),尤其是在沒有內(nèi)置浮點單元或媒體處理單元等特定硬件加速單元的情況下。這是因為RISC-V默認只配備非常少的指令,需要
    發(fā)表于 07-29 17:18

    淺析RISC-V領先ARM的優(yōu)勢

    RISC-V相對于ARM的優(yōu)勢主要體現(xiàn)在以下幾個方面: 開源與免費: RISC-V是一個完全開源的指令集架構(gòu)(ISA),其規(guī)范公開且可以免費使用。這意味著任何人都可以基于RISC-V
    發(fā)表于 06-27 08:45

    RISC-V的MCU關于USB高速通信設計的難點

    ),RISC-V MCU需要提高USB通信的中斷響應速度,確保數(shù)據(jù)的實時性和可靠性。 軟件生態(tài)和工具鏈 : 軟件生態(tài)問題 :由于RISC-V是一個相對較新的指令集架構(gòu)(ISA),其軟件生態(tài)相較于
    發(fā)表于 05-27 16:23

    RISC-V的MCU與ARM對比

    RISC-V的MCU與ARM在多個方面存在顯著的區(qū)別,以下是兩者的對比: 開源與專有 RISC-VRISC-V是一種開源的指令集架構(gòu)(ISA),允許任何人免費使用、修改和貢獻
    發(fā)表于 05-27 15:58

    全志V851SETinyVision異構(gòu)視覺AI開發(fā)套件源碼工具文檔手冊

    SDK源碼及提示 Tina-SDK系統(tǒng) 此套構(gòu)建系統(tǒng)基于全志單核 Arm Cortex-A7 SoC,搭載了 RISC-V 內(nèi)核的V851s 芯片,適配了Tina 5.0主線版本,是專
    發(fā)表于 05-27 10:23

    為何什么risc-v芯片比arm的效率高

    RISC-V芯片在某些情況下可能相對于ARM架構(gòu)芯片表現(xiàn)出更高的效率,這主要得益于RISC-V設計的一些特點和優(yōu)勢。 首先,RISC-V指令集架構(gòu)是模塊化的,這意味著設計師可以根據(jù)特定
    發(fā)表于 04-28 09:38

    RISC-V有哪些優(yōu)缺點?是堅持ARM方向還是投入risc-V的懷抱?

    是一個優(yōu)勢。同時,這種設計也降低了制造成本,使得RISC-V在成本敏感的應用場景中更具競爭力。 缺點 : 性能問題 :雖然RISC-V設計簡潔,但相對于某些專用ISA(如ARM),其性能可能略低。這主要
    發(fā)表于 04-28 08:51

    一文讀懂RISC-VARM

    RISC-VARM是近年來備受關注的兩種處理器架構(gòu)。RISC-V是一種基于精簡指令集計算(RISC)原理的開源指令集架構(gòu)(ISA),而ARM
    的頭像 發(fā)表于 04-08 11:14 ?1099次閱讀
    一文讀懂<b class='flag-5'>RISC-V</b>與<b class='flag-5'>ARM</b>

    RISC-V 基礎學習:RISC-V 基礎介紹

    特性使得CPU 指令預取、分支預測、指令流水線等部件的效能大大發(fā)揮,幾乎一個時鐘周期能執(zhí)行多條指令 RISC 的代表產(chǎn)品是 ARMRISC-V?,F(xiàn)在,兩者已經(jīng)沒有明顯的界限了,開始相互融合了 8.
    發(fā)表于 03-12 10:25