CPU別ソリューション STマイクロエレクトロニクス社製
STM32MP1シリーズ

STM32MP1シリーズは、Arm Cortex-A7とArm Cortex-M4コアを組み合わせたヘテロジニアス・アーキテクチャをベースに、リアルタイム制御と高度な機能を統合したマイクロプロセッサ(MPU)です。一般的には、Arm Cortex-A7コアは Linux、Arm Cortex-M4コアはRTOSまたはOSなし(ベアメタル)で使用します。

STM32MP1に対応した「TOPPERS-Pro/FMP3」「TOPPERS-Pro/ASP3」「TOPPERS-Pro SafeG」「TOPPERS-Pro MDCOM」を使用することで、LinuxとRTOSを組み合わせた柔軟なシステム構成を取ることができます。

TOPPERS-Pro/FMP3

STM32MP153、157シリーズのような、デュアルコアのArm Cortex-A7を搭載したプロセッサのArm Cortex-A7コア向けRTOSです。Arm Cortex-A7デュアルコアをSMP構成で動作します。

TOPPERS-Pro/ASP3

STM32MP151シリーズのような、シングルコアのArm Cortex-A7を搭載したプロセッサのArm Cortex-A7コアおよびすべてのSTM32MP1シリーズのArm Cortex-M4コアに適したRTOSです。

TOPPERS-Pro SafeG

Arm Cortex-A7のシングルコアおよびデュアルコア向けの組込み向けハイパーバイザーです。シングルコアのプロセッサでも、RTOSとLinuxの両方を動作させることができます。Arm TrustZone技術を使用し、RTOSはセキュアワールド、Linuxはノーマルワールドで動作させるため、『RTOS、リアルタイムアプリケーション』と『Linux』を安全に分離することが可能です。また、SafeGを使ったシステムでは、セキュアワールドで動作するRTOSがノーマルワールドで動作するLinuxの生存確認(死活監視)をし、万が一Linuxが動作不良を起こした場合などにRTOS側からLinuxのみ再起動をかけたりすることができます。

参考情報:組込みLinuxの生存確認(死活監視)

デュアルコアのSTM32MP1では、それぞれのコアでLinuxとRTOSをAMP構成で動作させる場合にもSafeGが有用です。各コア/各OSの起動フロー、メモリやI/Oの競合、割込みの調停などをSafeGに任せることで、システム設計・構築、メモリマップや使用する割込みの変更などに要する工数を削減できます。

TOPPERS-Pro MDCOM

組込みシステム間の同期・通信を実現するソフトウェアモジュールです。Arm Cortex-A7コアで動作するLinuxとArm Cortex-M4 コアで動作するRTOS間や、SafeGを使ったシステムでのセキュアワールドで動作するRTOSとノーマルワールドで動作するLinux間の同期・通信手段として使用できます。また、Arm Cortex-A7コア側に接続されているEthernetなどのデバイスをArm Cortex-M4コア側から使う、といったことも実現可能です。

参考情報:マルチコア/マルチOS環境でのデバイス共有/コア間・OS間通信

STM32MP1でのシステム構成例

構成例 1

STM32MP151(Arm Cortex-A7 Single Core + Arm Cortex-M4)

Linux + RTOS構成

Arm Cortex-A7コアでLinuxが、Arm Cortex-M4コアでTOPPERS OSがそれぞれAMP動作します。コア間・OS間の通信にはMDCOMが使用できます。

構成例 2

STM32MP151(Arm Cortex-A7 Single Core + Arm Cortex-M4)

Linuxを使わないRTOS + RTOS構成

Arm Corted-A7コアでTOPPERS OSが動作します。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。

構成例 3

STM32MP151(Arm Cortex-A7 Single Core + Arm Cortex-M4)

SafeGを使ったLinux&RTOS(SMP) + RTOS構成

Arm Cortex-A7コアのノーマルワールドでLinux、セキュアワールドでTOPPERS OSがそれぞれ動作します(TOPPERS OSが動作していない間、Linuxが動作します)。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。SafeGを使用すると、このようにシングルコアのArm Cortex-A7でLinuxとTOPPERS OSを動作させることができます。Arm Cortex-A7コアで動作しているTOPPERS OSからLinuxの生存確認(死活監視)・再起動などを行うことができます。

構成例 4

STM32MP153/STM32MP157(Arm Cortex-A7 Dual Core + Arm Cortex-M4)

Linux + RTOS構成

Arm Cortex-A7コア(シングルコアまたはデュアルコア)でLinux、Arm Cortex-M4コアでTOPPERS OSがAMP動作します。コア間・OS間の通信にはMDCOMが使用できます。

構成例 5

STM32MP153/STM32MP157(Arm Cortex-A7 Dual Core + Arm Cortex-M4)

Linuxを使わないRTOS(SMP) + RTOS構成

Arm Cortex-A7コアでTOPPERS OSがSMP動作します。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。

構成例 6

STM32MP153/STM32MP157(Arm Cortex-A7 Dual Core + Arm Cortex-M4)

Linux + RTOS(AMP) + RTOS 構成

2つのArm Cortex-A7コアでそれぞれLinux、TOPPERS OSがAMP動作します。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。

構成例 7

STM32MP153/STM32MP157(Arm Cortex-A7 Dual Core + Arm Cortex-M4)

SafeGを使ったLinux + RTOS(AMP) + RTOS 構成

2つのArm Cortex-A7コアでそれぞれLinux、TOPPERS OSがAMP動作します。それぞれのOSは割り当てられたコア/ワールドで動作し、ワールドの切り替えは発生しません。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。1つ上の図の構成と同様ですが、SafeGを使用することにより、メモリ/割込み/デバイスの分離/調停が容易に設定できます。Arm Cortex-A7コアで動作しているTOPPERS OSからLinuxの生存確認(死活監視)・再起動などを行うことができます。

構成例 8

STM32MP153/STM32MP157(Arm Cortex-A7 Dual Core + Arm Cortex-M4)

SafeGを使ったLinux&RTOS(SMP) + RTOS構成

Arm Cortex-A7 Dual CoreのノーマルワールドでLinux、セキュアワールドでTOPPERS OSがそれぞれSMP動作します(各コアでTOPPERS OSが動作していない間、Linuxが動作します)。Arm Cortex-M4コアのTOPPERS OSはオプションです。コア間・OS間の通信にはMDCOMが使用できます。TOPPERS OSが動作していない間はそのコアをLinuxが使うことができるため、コアを有効活用できます。
Arm Cortex-A7コアで動作しているTOPPERS OSからLinuxの生存確認(死活監視)・再起動などを行うことができます。

TOPPERS-Proの主な特長

  • STM32MP1に対応済み
    STマイクロエレクトロニクス社製評価ボードで動作確認済みのため、すぐに利用可能
  • 柔軟なシステム構築が可能
    用途に合わせてTOPPERS-Pro/FMP3、ASP3、SafeG、MDCOMを組み合わせて使用することにより、柔軟なシステム構築が可能
  • μITRON仕様準拠
    国内でもっとも普及しているμITRON仕様に準拠し、既存システムからの移行が容易

TOPPERS-Pro/FMP3 製品ページ

TOPPERS-Pro/ASP3 製品ページ

TOPPERS-Pro MDCOM 製品ページ

TOPPERS-Pro SafeGシリーズ 製品ページ

TOPPERS-Proシリーズ 製品ラインナップ

TOPPERS-Proシリーズ CPU別対応表