実験の概要
NXPのi.MX 6SoloXは、Cortex-A9とCortex-M4のヘテロ構成SoCです。この記事では、組み込みOSの代表として、Cortex-A9にYocto Linuxを実装し、Cortex-M4にはMQX(RTOS)を実装し、LinuxとRTOSの共存するシステムの構築方法を紹介します。また、Linuxのカーネルからの構築方法や、コア間通信、NEONによるG-Streamアプリ(ソフトウェアビデオデコーダー)などの実装方法も併せて解説します。
組み込みOSとは
組み込みOSは、パソコンなどに使用されているOSと違い、限られたハードウェア環境や資源で最大限の効率を発揮するように作られたOSですが、実に多くの種類が存在してきました。
この記事では、組み込みOSの代表として、「Yocto Linux」「Android」「MQX(RTOSとして)」をi.MX 6SoloXに実装する方法をご紹介します。他にも、組み込みOSの種類は多いです。APSでは、組み込みOSを扱っている他のコンテンツも用意しているので、参考にしてみてください。
2018年時点でのNXPのサイトでは、MQXに代わりFreeRTOSの実装に変更されています。つまり、i.MX 6SoloXのCortex-M4で動かせるRTOSは、今回紹介しているMQX以外にも対応できるということなので、ITRON系や独自のOSも組み込むことが可能なのです。
i.MX 6SoloX SABRE board
今回の実験室で使用したボードMCI.MX 6SOLOX-SDB(i.MX 6SoloX SABRE board 以下、i.MX 6SoloX-SDB)は、下記から入手可能です。
ボードサイズも大きく、様々なペリフェラルが搭載されています。また、3軸の加速度センサーや3軸の磁気センサーも搭載されているため、IoTアプリケーションをM4で処理をしながら、Cortex-A9のLinuxでクラウドに接続するシステム構成も簡単に構築することができます。
LinuxとRTOSを共存させるための課題が多く語られるようになりましたが、i.MX 6SoloXはすでにその答えとなり、具体的な課題への手法を提示しています。
今回の動画で紹介している内容
- ボードの紹介
- CA9でLinuxを動かしながら、M4でMQXを動かします
- ヘテロの動作説明として、コア間通信を実装し動かします
- NEONの説明として、Linuxのソフトウェアビデオデコーダーを再生しています
こちらも是非
“もっと見る” 実験室
組み込みアプリを止めるな!printfやブレークポイントも使わず内部状態をチェック!
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。
IoTエッジコンピューティングをSmartMeshで実践
今回の実験は、Moteに内蔵されている非力なマイコンを使って、振動計測ソリューションのFFTデータをSmartMeshで送信したIoTエッジコンピューティングを実践してみました。
非絶縁型中間バスコンバータ750Wで、48Vと12Vを自由自在
VicorのNBMシリーズの最新デバイスであるNBM2317シリーズは、23×17×7mmという超小型パッケージで最大750W出力、48V→12Vまたは、12V→48Vの双方向において98%のピーク効率を実現した非絶縁型中間バスコンバータ。今回の実験室は、実際に動かしつつ、その性能とメリットを解説している。その様子は、是非動画で見て欲しい。