i.MX 8ULPでは、Cortex-A35コア上でLinux、Cortex-M33コア上でFreeRTOSを動作させることができる。各コアに対して個別の実行ファイルが用意され、特定の機能や処理を担当させることになる。
各コアは通常異なるメモリ領域を使用し、両者がアクセス可能な相互通信のための共有メモリを設定する方式となる。共有メモリ領域を設定することで、相互にデータをやり取りすることが可能となり、Cortex-A35からCortex-M33へのコマンド送信や、センサーデータの共有などを可能とする。
i.MX 8ULPは、最大2つのCortex-A35コアと1つのCortex-M33コアを搭載しており、各コアには独立したメモリ空間がある。
- Cortex-A35コア:LinuxなどのリッチOSが動作し、主に外部メモリ(LPDDR4)を使用
- Cortex-M33コア:FreeRTOSなどのリアルタイムOSが動作し、オンチップSRAMや外部メモリ(SPI-NORフラッシュなど)を使用