リネオブログ

OpenAMP on i.MX8 - Yocto Linux with FreeRTOS #2

2020 年 05 月 20 日   Linux 技術ネタ

Porting requirements of OpenAMP on a heterogeneous core SoC

The OpenAMP Framework uses libmetal to provide abstractions that allow for porting of the OpenAMP Framework to various software environments (operating systems / bare metal environments) and machines (processors/platforms). Porting of OpenAMP to your platform needs:

  • add your system environment support to libmetal
    • Need to add system/machine support to lib/system/<SYS>/ directory in libmetal repository.
  • Implement your platform specific remoteproc driver.
    • Need to implement platform specific remoteproc driver to use remoteproc life cycle management APIs. The remoteproc driver platform specific functions are defined in this file: lib/include/openamp/remoteproc.h.
  • Define your shared memory layout and specify it in a resource table.
    • Need to define shared memory location in device tree. After that, user can use remoteproc APIs to run application on a remote processor.

OpenAMP on FreeRTOS

As with upstream Linux 3.4.x kernel onward all the required components required for OpenAMP is available. RPMsg character driver, remoteproc driver and virtio are part of the kernel. As we can see from the previous diagram, the open AMP implementation is only required for FreeRTOS.

The Implementation of OpenAMP is not yet done on i.MX8MQ's M4. i.MX7 has a similar implementation of OpenAMP in FreeRTOS. We were considering this as a reference. An i.MX8MQ M4 core based system driver configuration is required to make this work. This is a time consuming process as it is a porting work on M4 Core. This is TBD.

The FreeRTOS release for i.MX8MQ M4 core already have the NXP implementation of OpenAMP. They have named it as RPMsg_lite.

RPMsg-Lite

RPMsg-lite is a lightweight implementation of the Remote Processor Messaging (RPMsg) protocol. The RPMsg protocol defines a standardized binary interface used to communicate between multiple cores in a heterogeneous multicore system.

Compared to the RPMsg implementation of the Open Asymmetric Multi Processing (OpenAMP) framework (open-amp ), the RPMsg-Lite offers a code size reduction, API simplification, and improved modularity. On smaller Cortex-M0+ based systems, it is recommended to use RPMsg-Lite.

The RPMsg-Lite is an open-source component developed by NXP Semiconductors and released under the BSD-compatible license. Below is the difference between OpenAMP RPMsg implementation and RPMsg-lite

   
Component / Configuration Flash [B] RAM [B]
OpenAMP RPMsg / Release (reference) 5547 456 + dynamic
RPMsg-Lite / Dynamic API, Release 3462 56 + dynamic
Relative Difference [%]

~62.4% ~12.3%
RPMsg-Lite / Static API (no malloc), Release

2926 352
Relative Difference [%] ~52.7% ~77.2%

Working of RPMsg-lite

Working of RPMsg-lite

Next : OpenAMP on i.MX8 - Yocto Linux with FreeRTOS #3

Yocto Project 公式実践講座 4 月 ~ 6 月 開催分 受講お申込み受付中!
Vigiles サポート
Yocto Project よもやま話
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」

2023 年 07 月 25 日 Yocto Project よもやま話

Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」
Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」

2023 年 06 月 20 日 Yocto Project よもやま話

 Yocto よもやま話 第 11 回 「Yocto 4.2 Mickledore リリース」
Yocto よもやま話 第 11 回 「Yocto 4.2 Mickledore リリース」

2023 年 05 月 17 日 Yocto Project よもやま話

Linux 技術ネタ
RISC-Vについて学ぶ-後編
RISC-Vについて学ぶ-後編

2024 年 01 月 10 日 Linux 技術ネタ

RISC-Vについて学ぶ-前編
RISC-Vについて学ぶ-前編

2023 年 12 月 12 日 Linux 技術ネタ

イベントレポート
EdgeTech+ 2023 出展レポート
EdgeTech+ 2023 出展レポート

2023 年 12 月 14 日 イベントレポート

EdgeTech+ West 2023 出展レポート
EdgeTech+ West 2023 出展レポート

2023 年 08 月 09 日 イベントレポート

Design Solution Forum 2022
Design Solution Forum 2022

2023 年 02 月 27 日 イベントレポート

リクルート
新卒採用、絶賛募集中!
新卒採用、絶賛募集中!

2023 年 05 月 30 日 リクルート

国立大学オンライン研修レポート 2022
国立大学オンライン研修レポート 2022

2022 年 09 月 27 日 リクルート

北小野通信
北小野通信 桜の季節、珍客来訪?
北小野通信 桜の季節、珍客来訪?

2023 年 05 月 11 日 北小野通信

北小野通信 「 日本土真ん中ウォーク 2022 」
北小野通信 「 日本土真ん中ウォーク 2022 」

2023 年 01 月 30 日 北小野通信

北小野通信 1011
北小野通信 1011

2022 年 10 月 11 日 北小野通信

ソリューション統括部
シリコンバレー探検記 2019 ~番外編~
シリコンバレー探検記 2019 ~番外編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~後編~
シリコンバレー探検記 2019 ~後編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~前編~
シリコンバレー探検記 2019 ~前編~

2019 年 12 月 10 日 ソリューション統括部

マーケティング統括部
大成功決起大会!!(ET2019)
大成功決起大会!!(ET2019)

2019 年 12 月 13 日 マーケティング統括部

ESEC 2019 決起大会
ESEC 2019 決起大会

2019 年 04 月 25 日 マーケティング統括部

シリコンバレー探検記 その 2
シリコンバレー探検記 その 2

2018 年 12 月 18 日 マーケティング統括部