一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

全志在線 ? 來源:全志在線 ? 作者:全志在線 ? 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是全志針對AIoT類產(chǎn)品,基于Linux內(nèi)核深度定制的嵌入式系統(tǒng)。

在 Tina Linux 中,提供 AMP 與 RPMsg 對接 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 軟件框架來與 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 開發(fā)板上便是 eMMC 儲存器。找到啟動(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)完成后,他們之間就通過 IPC(Inter Processor Communication)方式進(jìn)行通信,而 RPMsg 就是 IPC 中的一種。

在AMP系統(tǒng)中,兩個(gè)核心通過共享內(nèi)存的方式進(jìn)行通信。兩個(gè)核心通過 AMP 中斷來傳遞訊息。內(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è)備虛擬化的程序,是對半虛擬化 Hypervisor 中的一組通用 I/O 設(shè)備的抽象。提供了一套上層應(yīng)用與各 Hypervisor 虛擬化設(shè)備之間的通信框架和編程接口,減少跨平臺所帶來的兼容性問題,大大提高驅(qū)動(dòng)程序開發(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)控制。例如主核對輔助核心的開啟,加載固件,關(guān)閉等等。這就需要用到 remoteproc 框架。

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

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

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    19882

    瀏覽量

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

    關(guān)注

    4

    文章

    605

    瀏覽量

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

    關(guān)注

    9

    文章

    927

    瀏覽量

    35645

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RISC-VARM有何區(qū)別?

    在微處理器架構(gòu)領(lǐng)域,ARMRISC-V是兩個(gè)備受關(guān)注的體系。ZLG致遠(yuǎn)電子在推出ARM核心版后,又推出了基于RISC-V的MR6450核心版,這引發(fā)了人們對這兩種架構(gòu)差異的深入探討。
    的頭像 發(fā)表于 06-24 11:38 ?755次閱讀
    <b class='flag-5'>RISC-V</b>和<b class='flag-5'>ARM</b>有何區(qū)別?

    資料分享 全志T536(異構(gòu)多核ARMCortex-A55+玄鐵E907 RISC-V)工業(yè)評估板說明書

    創(chuàng)龍科技TLT536-EVM是一款基于全志科技T536MX-CEN2/T536MX-CXX四核ARM Cortex-A55 + 玄鐵E907 RISC-V異構(gòu)多核處理器設(shè)計(jì)的國產(chǎn)工業(yè)評
    的頭像 發(fā)表于 04-11 14:22 ?487次閱讀
    資料分享 全志T536(異構(gòu)多核ARMCortex-<b class='flag-5'>A</b>55+玄鐵<b class='flag-5'>E907</b> <b class='flag-5'>RISC-V</b>)工業(yè)評估板說明書

    全志T536(異構(gòu)多核ARMCortex-A55+玄鐵E907 RISC-V)工業(yè)核心板說明書

    創(chuàng)龍科技SOM-TLT536是一款基于全志科技T536MX-CEN2/T536MX-CXX四核ARM Cortex-A55 + 玄鐵E907 RISC-V異構(gòu)多核處理器設(shè)計(jì)的全國產(chǎn)工業(yè)
    的頭像 發(fā)表于 04-08 17:34 ?854次閱讀
    全志T536(異構(gòu)多核ARMCortex-<b class='flag-5'>A</b>55+玄鐵<b class='flag-5'>E907</b> <b class='flag-5'>RISC-V</b>)工業(yè)核心板說明書

    國產(chǎn)開發(fā)板—米爾全志T113-i如何實(shí)現(xiàn)ARM+RISC-V+DSP協(xié)同計(jì)算?

    01T113-i芯片及OpenAMP簡介[/fly] T113-i芯片簡介 T113-i由兩顆ARM A7 、一顆C906(RISC-V)和一顆DSP(HIFI 4)組成。 C906(RI
    發(fā)表于 03-21 16:50

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

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

    RISC-V架構(gòu)及MRS開發(fā)環(huán)境回顧

    )等設(shè)計(jì),加快了中斷服務(wù)函數(shù)響應(yīng);集成了2線方式的調(diào)試接口,方便運(yùn)行的跟蹤和調(diào)試。 32位通用增強(qiáng)型RISC-V MCU CH32V103評估板: 2021年5月,為了克服美國對使用最新ARM
    發(fā)表于 12-16 23:08

    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)勢,適用于不同的應(yīng)用場景。 1. RISC-V架構(gòu) RISC-V(讀作“risk-five”)
    的頭像 發(fā)表于 12-11 17:50 ?2940次閱讀

    全志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 ?3896次閱讀
    全志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指令集的對比分析

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

    ISA ARM 對比 RISC-V

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

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !

    加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進(jìn)步的關(guān)鍵參與者。作為一名RISC-VAdvocate,您將
    的頭像 發(fā)表于 09-10 08:08 ?867次閱讀
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來 !

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

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

    risc-v的發(fā)展歷史

    RISC-V的發(fā)展歷史可以追溯到2006年左右,當(dāng)時(shí)David Patterson和其他研究者開始探索創(chuàng)建一個(gè)開放和可擴(kuò)展的指令集架構(gòu)(ISA)。以下是RISC-V發(fā)展的主要里程碑: 一、起源與初步
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

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