CPU別ソリューション Altera®社製
Arria10 / CycloneVシリーズ
Arria10とCycloneVシリーズは、ArmⓇ CortexⓇ-A9コア2個とFPGA、周辺I/Oで構成されている幅広い用途に向けたCPUです。
2個のArm Cortex-A9コアでLinuxを動かすことが多いですが、「TOPPERS-Pro/FMP3」「TOPPERS-Pro SafeG」を使用することで、リアルタイムアプリケーションのためにLinuxとRTOSを組み合わせた構成やRTOSのみの構成を取ることができます。
TOPPERS-Pro/FMP3は、マルチコア向けRTOSです。RTOSでありながらマルチコアをSMP構成で動作させます。
TOPPERS-Pro SafeG(TOPPERS-Pro SafeG64)は、LinuxやAndroidなどの汎用OSとRTOSを同時に動かす仕組みを提供する、組込み用途向けのハイパーバイザです。Arm Cortex-Aシングルコアおよびマルチコアで使用でき、シングルコアのプロセッサでもRTOSとLinuxの両方を動作させることができます。Arm TrustZone技術を使用しており、RTOSはセキュアワールドで、Linuxはノーマルワールドで動作させるため、RTOSおよびリアルタイムアプリケーションとLinuxとを安全に分離・実行させることが可能です。
コア1でLinux、コア2でRTOSを動作させるようなAMP構成のシステムでも、SafeGが有用です。各コア/各OSの起動フロー、メモリやI/Oの競合、割込みの調停などをSafeGに任せることで、システム設計・構築、メモリマップや使用する割込みの変更などに要する工数を削減できます。
SafeGを使ったシステムでは、セキュアワールドで動作するRTOSがノーマルワールドで動作するLinuxの生存確認(死活監視)を行います。これにより、万が一Linuxが動作不良をなど起こした場合でも、RTOS側からLinuxのみ再起動をかけたりすることができます。
組込みLinuxの生存確認(死活監視):https://www.ubiquitous-ai.com/column/rtos/embedded_linux_alive_monitoring.html )
SafeGを使ってLinuxとRTOSを同時に動かす構成のシステムでは、LinuxとRTOS間の同期・通信手段としてSafeG内蔵のMDCOM通信が使用できます。
Arria10 / CycloneVでのシステム構成例
Arria10 / CycloneV (Cortex-A9×2)
Linuxを使わないRTOS(SMP)構成
2個のArm Cortex-A9コアでTOPPERS OSがSMP動作します。
Arria10 / CycloneV (Cortex-A9×2)
SafeGを使ったLinux&RTOS(SMP)構成
Arm Cortex-A9コアのノーマルワールドでLinux、セキュアワールドでTOPPERS OSがそれぞれSMP動作します。各コアでTOPPERS OSが動作していない間、Linuxが動作します。コア間・OS間の通信にはMDCOMが使用できます。TOPPERS OSが動作していない間はそのコアをLinuxが使う事ができるため、コアを有効活用できます。TOPPERS OSからLinuxの生存確認(死活監視)や再起動などを行うことができます。
Arria10 / CycloneV (Cortex-A9×2)
Linux+RTOS(AMP) + RTOS構成
それぞれのArm Cortex-A9コアでLinux、TOPPERS OSがAMP動作します。コア間・OS間の通信にはMDCOMが使用できます。
Arria10 / CycloneV (Cortex-A9×2)
SafeGを使ったLinux + RTOS(AMP) + RTOS構成
それぞれのArm Cortex-A9コアでLinux、TOPPERS OSがAMP動作します(それぞれのOSは割り当てられたコア/ワールドでのみ動作し、ワールドの切り替えは発生しません)。コア間・OS間の通信にはSafeG内蔵のMDCOMが使用できます。1つ上の図の構成と同様ですがSafeGを使用する事により、メモリ/割込み/デバイスの分離/調停が容易に設定できます。TOPPERS OSからLinuxの生存確認(死活監視)や再起動などを行うことができます。