衡阳派盒市场营销有限公司

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

全志在線 ? 來(lái)源:全志在線 ? 作者:全志在線 ? 2022-07-07 14:45 ? 次閱讀

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

A7 - Linux系統(tǒng)

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

在 Tina Linux 中,提供 AMP 與 RPMsg 對(duì)接 E907

Linux remoteproc 管理控制 E907

RPMsg 與 E907 通訊

E907 - RTOS系統(tǒng)

V853 輔助核心 E907 上運(yùn)行的是全志自研 RTOS 系統(tǒng) Melis。其獨(dú)立于 A7 主核心中的 Linux 系統(tǒng)。可以獨(dú)立運(yùn)行。

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

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

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

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

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

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

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

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

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

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

在AMP系統(tǒng)中,兩個(gè)核心通過(guò)共享內(nèi)存的方式進(jìn)行通信。兩個(gè)核心通過(guò) AMP 中斷來(lái)傳遞訊息。內(nèi)存的管理由主核負(fù)責(zé)。

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

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

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

當(dāng)主核需要和從核進(jìn)行通信的時(shí)候可以分為四步:

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

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

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

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

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

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

主核先從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 設(shè)備虛擬化的程序,是對(duì)半虛擬化 Hypervisor 中的一組通用 I/O 設(shè)備的抽象。提供了一套上層應(yīng)用與各 Hypervisor 虛擬化設(shè)備之間的通信框架和編程接口,減少跨平臺(tái)所帶來(lái)的兼容性問(wèn)題,大大提高驅(qū)動(dòng)程序開(kāi)發(fā)效率。

RPMsg 總線上的消息都具有以下結(jié)構(gòu),包含消息頭和數(shù)據(jù)兩個(gè)固定的部分,該消息格式的定義位于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)中,不止需要消息的傳輸,還需要相關(guān)控制。例如主核對(duì)輔助核心的開(kāi)啟,加載固件,關(guān)閉等等。這就需要用到 remoteproc 框架。

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

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

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    19407

    瀏覽量

    231178
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    595

    瀏覽量

    27510
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    911

    瀏覽量

    35079

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ArmRISC-V架構(gòu)的優(yōu)劣勢(shì)比較

    關(guān)于ArmRISC-V的討論涉及多個(gè)層面。雖然多種因素共同作用于這些架構(gòu)的整體性能,但每種架構(gòu)都有其最適合的幾類主要應(yīng)用場(chǎng)景。 Arm 長(zhǎng)期以來(lái),專有技術(shù)往往意味著高昂的許可費(fèi)用,Arm
    發(fā)表于 02-01 22:30

    RISC-VARM 架構(gòu)的區(qū)別 RISC-V與機(jī)器學(xué)習(xí)的關(guān)系

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

    全志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 ?1624次閱讀
    全志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指令集的對(duì)比分析

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

    ISA ARM 對(duì)比 RISC-V

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

    risc-varm哪個(gè)更有前途?

    如今risc-v發(fā)展迅猛,我想預(yù)測(cè)將來(lái)他與arm誰(shuí)會(huì)更優(yōu)秀?
    發(fā)表于 08-29 21:12

    淺析RISC-V領(lǐng)先ARM的優(yōu)勢(shì)

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

    RISC-V的MCU關(guān)于USB高速通信設(shè)計(jì)的難點(diǎn)

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

    RISC-V的MCU與ARM對(duì)比

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

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

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

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

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

    一文讀懂RISC-VARM

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

    RISC-V 基礎(chǔ)學(xué)習(xí):RISC-V 基礎(chǔ)介紹

    特性使得CPU 指令預(yù)取、分支預(yù)測(cè)、指令流水線等部件的效能大大發(fā)揮,幾乎一個(gè)時(shí)鐘周期能執(zhí)行多條指令 RISC 的代表產(chǎn)品是 ARMRISC-V。現(xiàn)在,兩者已經(jīng)沒(méi)有明顯的界限了,開(kāi)始相互融合了 8.
    發(fā)表于 03-12 10:25
    海立方娱乐城线路| 百家乐网投注| 百家乐官网牌九| 百家乐官网投注办法| 本溪亿酷棋牌下载| 综合百家乐博彩论坛| 真人百家乐分析软件是骗局| 金海岸百家乐官网的玩法技巧和规则 | 大发888下载17| 天猫百家乐娱乐城| 百家乐桌子轮盘| 百家乐官网园试玩| 香港百家乐官网玩法| 百家乐官网连闲几率| 去澳门赌博| 边城棋牌游戏下载| 威尼斯人娱乐城lm0| 百家乐投住系统| 澳门百家乐视频| 百家乐视频软件| 澳门百家乐官网小| 蓝盾百家乐官网洗码| 百家乐官网开户送彩金28| 谁会玩百家乐的玩法技巧和规则| 澳门百家乐备用网址| 火命与金命做生意 | 威尼斯人娱乐天上人间| 百家乐是怎样算牌| 百家乐赌机厂家| 澳门百家乐公试打法| 24山飞星图| 百家乐官网投注| 百家乐官网首页红利| 百家乐官网平7s88| 赌博百家乐官网技巧| qq百家乐官网网络平台| 百家乐官网线上游戏| 百家乐官网平台开发| 阳宅24方位判断方法| 百家乐开庄概率| 迪威百家乐娱乐|