0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

全志在线 来源:全志在线 作者:全志在线 2022-07-07 14:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

V853芯片包含两个CPU。一个是主核心Arm A7 CPU,运行Tina Linux(全志自研Linux)系统,为芯片主系统;一个是RISC-V E907辅助CPU,运行Melis(全志自研RTOS)系统,主要功能是提供通用算力补充、辅助 Linux 实现快起和低功耗管理等功能。

A7 - Linux系统

V853主核心 A7上运行的是Tina Linux系统。Tina Linux是全志针对AIoT类产品,基于Linux内核深度定制的嵌入式系统

在 Tina Linux 中,提供 AMP 与 RPMsg 对接 E907

Linux remoteproc 管理控制 E907

RPMsg 与 E907 通讯

E907 - RTOS系统

V853 辅助核心 E907 上运行的是全志自研 RTOS 系统 Melis。其独立于 A7 主核心中的 Linux 系统。可以独立运行。

在 E907 Melis 中,提供 OpenAMP 软件框架来与 A7 Linux 系统进行通信

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

提供了处理器间的消息传输机制,与 Linux 的 RPMsg 兼容

异构系统启动流程

首先,由芯片内部的 BORM 寻找启动介质,在 V853 开发板上便是 eMMC 储存器。找到启动介质后会运行其中的 BOOT0 代码。BOOT0 会在 A7 主核心中运行 Linux 系统,也会在 E907 核心中运行 RTOS 系统。启动的两个系统是独立运行的。

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

异构系统的通信

V853 的异构系统通讯在硬件上使用的是 MSGBOX,在软件层面上使用的是 AMP 与 RPMsg 通讯协议。其中 A7 上基于 Linux 标准的 RPMsg 驱动框架,E907基于 OpenAMP 异构通信框架。

V853 所带有的 A7 主核心与 E907 辅助核心是完全不同的两个核心,为了最大限度的发挥他们的性能,协同完成某一任务,所以在不同的核心上面运行的系统也各不相同。这些不同架构的核心以及他们上面所运行的软件组合在一起,就成了 AMP 系统 (Asymmetric Multiprocessing System, 异构多处理系统)。

由于两个核心存在的目的是协同处理,因此在异构多处理系统中往往会形成 Master - Remote 结构。主核心启动后再启动辅助核心。当两个核心上的系统都启动完成后,他们之间就通过 IPC(Inter Processor Communication)方式进行通信,而 RPMsg 就是 IPC 中的一种。

在AMP系统中,两个核心通过共享内存的方式进行通信。两个核心通过 AMP 中断来传递讯息。内存的管理由主核负责。

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

AMP 系统在每个通信方向上都有两个缓冲区,分别是 USED 和 AVAIL,这个缓冲区可以按照 RPMsg 中消息的格式分成一块一块链接形成一个环。

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

当主核需要和从核进行通信的时候可以分为四步:

主核先从USED中取得一块内存(Allocate)

将消息按照消息协议填充

将该内存链接到 AVAIL 缓冲区中(Send)

触发中断,通知辅助核有消息处理

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

反之,从核需要和主核通信的时候也类似:

主核先从AVAIL中取得一块内存(Allocate)

将消息按照消息协议填充

将该内存链接到 USED 缓冲区中(Send)

触发中断,通知主核有消息处理。

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

既然 RPMsg 是一种信息交换的协议,与TCP/IP类似,RPMsg 协议也有分层,主要分为三层,分别是传输层、MAC层和物理层。

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

其中 MAC层 的 VirtIO 是一种I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率。

RPMsg 总线上的消息都具有以下结构,包含消息头和数据两个固定的部分,该消息格式的定义位于drivers/rpmsg/virtio_rpmsg_bus.c中,具体定义如下:

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

异构系统的控制

在异构系统中,不止需要消息的传输,还需要相关控制。例如主核对辅助核心的开启,加载固件,关闭等等。这就需要用到 remoteproc 框架。

remoteproc 框架支持对不同平台,不同架构的处理器进行控制,可以监控辅助核心的运行情况。

对于 V853 来说,remoteproc 用于对 E907 进行生命周期管理,一般来说包含有加载固件、 检测远端处理器是否崩溃等功能。它在加载远端处理器的固件时,会根据固件中定义的 resource table 来申请资源,并创建 VirtIO 设备。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20380

    浏览量

    255625
  • Linux系统
    +关注

    关注

    4

    文章

    618

    浏览量

    30237
  • 通讯
    +关注

    关注

    9

    文章

    953

    浏览量

    36691

原文标题:详解全志V853上的ARM A7和RISC-V E907之间的通信方式

文章出处:【微信号:gh_79acfa3aa3e3,微信公众号:全志在线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    多核通信开发难?那这个ARM + RISC-V方案,我要认真看看

    ARM核心一般负责接口驱动、业务逻辑、核心算法等,RISC-V核心一般专注于实时控制、数据采集等。如何实现二者高效协同? AMP架构 + RPMsg协议 给出答案,轻松实现ARMRISC-V
    的头像 发表于 05-07 11:38 125次阅读
    多核<b class='flag-5'>通信</b>开发难?那这个<b class='flag-5'>ARM</b> + <b class='flag-5'>RISC-V</b>方案,我要认真看看

    RISC-V vs ARM:为什么工业与边缘计算仍然选择 ARM 架构?

    在芯片架构讨论中,RISC-VARM 的对比,已经从“技术选型”升级为“路线之争”。 一边是  RISC-V :开源、免授权、可定制、不受单一厂商控制;另一边是  ARM :成熟
    的头像 发表于 01-21 17:33 1085次阅读
    <b class='flag-5'>RISC-V</b> vs <b class='flag-5'>ARM</b>:为什么工业与边缘计算仍然选择 <b class='flag-5'>ARM</b> 架构?

    论实时性,RISC-V究竟比ARM强多少?

    快速捕捉和处理关键数据,减少冗余开销。 全志推出的T113-i异构多核工业处理器,不仅集成了双核Cortex-A7@1.2GHz,还内置了玄铁C906 RISC-V@1008MHz。那RISC-V
    的头像 发表于 12-22 15:07 559次阅读
    论实时性,<b class='flag-5'>RISC-V</b>究竟比<b class='flag-5'>ARM</b>强多少?

    RISC-V 蜂鸟E203中PC指针起始地址设置搭建

    具体方法 这篇分享中RISC-V 蜂鸟E203平台是在Arty A7 100T上进行的搭建,ddr 200t的板子上是有2块qspi flash的,所有FPGA的bitstream烧录在了
    发表于 10-28 07:47

    RISC-V 蜂鸟E203在Arty A7 100T上的烧录与测试

    ://doc.nucleisys.com/hbirdv2/overview/overview.html 综合到生成bit流的操作,相信大家问题不大。RISC-V的编译环境中也有一些工程样例,overview中也提供了对编译
    发表于 10-28 06:26

    RISC-V 蜂鸟E203平台搭建

    ,一步到位哟。overview就是对E203的整个平台做了整体介绍,有什么样的外设,如何烧录等等。最主要看第四节的交叉编译环境的安装,安装RISC-V GNU toolchain、Nuclei
    发表于 10-28 06:16

    瑞芯微RISC-V芯片已量产,性能、功耗平衡更佳

    作为瑞芯微一款集成RISC-V模块的智能视觉芯片,采用四核Arm Cortex-A7RISC-V MCU的异构架构。该芯片内置2.
    的头像 发表于 10-23 09:13 1.2w次阅读
    瑞芯微<b class='flag-5'>RISC-V</b>芯片已量产,性能、功耗平衡更佳

    RISC-V B扩展介绍及实现

    B扩展简介 RISCV B扩展指的是RISCV用于位运算加速的一个扩展指令集,目的是使用一条指令实现原本需要2-3条指令才能实现的位操作指令。具体包含内容如下: B扩展就是RISC-V一个可选
    发表于 10-21 13:01

    【飞凌T527N开发板试用】异构RISC-V核心使用体验

    全志T527的最大创新和亮点就在于其 “ARM + 异构RISC-V” 的芯片设计理念。 简单来说, 全志T527内置的阿里平头哥E907 RISC-V核心不是一个可选的协处理器,而是
    发表于 08-19 21:45

    国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V核间通信开发案例

    本文档主要介绍T113-i处理器的ARM + DSP、RISC-V核间通信开发案例,演示T113-i处理器ARM Cortex-A7与HiF
    的头像 发表于 08-18 14:03 1244次阅读
    国产!全志T113-i 双核Cortex-<b class='flag-5'>A7</b>@1.2GHz 工业开发板—<b class='flag-5'>ARM</b> + DSP、<b class='flag-5'>RISC-V</b>核间<b class='flag-5'>通信</b>开发案例

    2025新思科技RISC-V科技日活动圆满结束

    新思科技深度参与2025 RISC-V中国峰会并于2025年7月16日举办同期活动“新思科技RISC-V科技日”技术论坛,聚焦“从芯片到系统重构RISC-V创新”主题,议题覆盖当前最前
    的头像 发表于 07-25 17:31 1684次阅读

    时擎科技亮相2025 RISC-V中国峰会,深度解析高性能RISC-V SoC技术挑战与创新

    2025年7月16-18日,第五届RISC-V中国峰会在上海张江科学会堂成功举办,作为全球RISC-V领域顶级盛会之一,本届峰会汇聚了数百家企业、研究机构及开源社区,共同探讨RISC-V
    的头像 发表于 07-21 17:37 1944次阅读
    时擎科技亮相2025 <b class='flag-5'>RISC-V</b>中国峰会,深度解析高性能<b class='flag-5'>RISC-V</b> SoC技术挑战与创新

    包云岗:原位替代 ARM,并未真正发挥 RISC-V 的优势

    RISC-V 的核心优势在于开放开源的模块化设计,相比之下,ARM 的优势在于成熟的生态闭环。因此,在第五届(2025)RISC-V 中国峰会主论坛上,中国科学院计算技术研究所副所长、中国开放指令
    发表于 07-17 14:54 5275次阅读

    RISC-VARM有何区别?

    在微处理器架构领域,ARMRISC-V是两个备受关注的体系。ZLG致远电子在推出ARM核心版后,又推出了基于RISC-V的MR6450核心版,这引发了人们对这两种架构差异的深入探讨。
    的头像 发表于 06-24 11:38 2374次阅读
    <b class='flag-5'>RISC-V</b>和<b class='flag-5'>ARM</b>有何区别?

    HPM5E31IGN单核 32 位 RISC-V 处理器

    HPM5E31IGN单核 32 位 RISC-V 处理器在当今嵌入式系统领域,RISC-V架构正以开源、灵活和高性价比的优势快速崛起。HPM5E31IGN作为先楫半导体的一款单核32位
    发表于 05-29 09:23