从全志V853的开发板框图可以看到,V853有一个Arm A7的主CPU和一个RISC-V E907的小CPU,那么中这两个不同架构的CPU之间是如何通信的呢?
我们从V853的datasheet给出的框图中可以看出,A7和E907是通过BUS通信的,两个CPU直接的关系和CPU与其它模块之间的关系类似。
物理上,A7 与 E907 通过硬件 msgbox 进行通信,软件框架上,A7 上基于 Linux 标准的 rpmsg 驱动框架,E907 基于 openamp 异构通信框架。 A7 端:包含 remoteproc 驱动和 rpmsg 驱动; E907 端:包含 msgbox 通信和 openamp 通信;
其中 openamp 的框架如下:
OpenAMP: (https://github.com/OpenAMP/open-amp/)
This repository is the home for the Open Asymmetric Multi Processing (OpenAMP) framework project. The OpenAMP framework provides software components that enable development of software applications for Asymmetric Multiprocessing (AMP) systems. The framework provides the following key capabilities.
Provides Life Cycle Management, and Inter Processor Communication capabilities for management of remote compute resources and their associated software contexts. Provides a stand alone library usable with RTOS and Baremetal software environments Compatibility with upstream Linux remoteproc and rpmsg components Following AMP configurations supported a. Linux master/Generic(Baremetal) remote b. Generic(Baremetal) master/Linux remote Proxy infrastructure and supplied demos showcase ability of proxy on master to handle printf, scanf, open, close, read, write calls from Bare metal based remote contexts.
(https://www.e-learn.cn/content/qita/923857)
原贴链接:https://bbs.aw-ol.com/topic/1409/ 全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967 资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com 全志及开发者最新动态可以关注全志在线微信公众号
|