Yoctoベースの組み込みLinux「Wind River Linux」を使って、Raspberry Pi上で動作するLinuxディストリビューションをゼロから作る
今回の初心者講座では、商用組み込みLinuxシェアNo.1のWind River Linuxによる「Linuxディストリビューションの開発手順」を紹介いたします。Wind River Linuxは固定的なパッケージ型の製品ではなく、自由自在に新しいLinuxディストリビューションを設計できる、革新的な製品です。
今回の初心者講座では、商用組み込みLinuxシェアNo.1のWind River Linuxによる「Linuxディストリビューションの開発手順」を紹介いたします。Wind River Linuxは固定的なパッケージ型の製品ではなく、自由自在に新しいLinuxディストリビューションを設計できる、革新的な製品です。
組み込みLinuxディストリビューションの特徴や要件について説明します。Linuxディストリビューションの種類は年々増え続けており、製品開発のプロジェクトでは「自社製品にどのLinuxディストリビューションを採用すべきか」という検討に多くの時間を費やさなければなりません。
2017年にミラクル・リナックスと合併し、さまざまなLinuxソリューションを提供するサイバートラスト株式会社(以下、サイバートラスト)は、組み込みLinux分野で日本を代表するリネオソリューションズ株式会社(以下、リネオソリューションズ)との事業提携を発表した。また、ユビキタスAIコーポレーション社で代表取締役を務めてきた佐野勝大氏がIoTビジネスの執行役員に就任するなど、組み込み事業のさらなる強化を進めている。組み込みのスペシャリスト達が集結した意図と、最新ソリューションである「EM+PLS」と合わせて話を聞いた。
MUを使ってMPSoCの温度と電力を監視する 今回は、MPSoCのPMUを活用してみましょう。これまではMPSoCのArm Cortex-A53とArm Cortex-R5を活用してきましたが、今回はもう一つのプロセッサであるであるPMUを活用してみましょう。
今回は、Arm Cortex-A53上のLinuxとArm Cortex-R5上のFreeRTOSをデバッグしてみたいと思います。デバッガとしては、Armを使ったシステム開発にて根強い人気を誇る「adviceLUNA Ⅱ」を選択しています。
今回は、MPSoCのPS部を活用して、Linuxの仮想化の実装であるXenを動かしてみましょう。MPSoCは、Arm Cortex-A53クアッド コアで複数のOSを動作させられる高いパフォーマンスなので、仮想マシン(VM)を動かすことができます。
今回は、Cortex-A53上のLinuxでコアとペリフェラルの関係を見てみましょう。Linuxは基本的にはマルチコアはSMP(Symmetric Multi Processing)で動作するため、動的に空いているコアに処理を割り当てます。ただし、静的に特定の処理を特定のコアへ割り付けることも可能です。その具体的な方法を見てみましょう。
今回は、前回動かしたOpenAMPを使ってコア間通信をしてみましょう!OpenAMPにはコア間通信の仕組みであるRPMsgが実装されています。OSに依存しないため、アプリケーションのポータビリティが高く、様々なユース ケースに対応できます。
今回は、MPSoCでOpenAMPを使って、第1回で動かしたLinuxと第2回で動かしたFreeRTOSを連携させてみましょう!OpenAMPは正式名称OPEN ASYMMETRIC MULTI PROCESSINGといい、The Multicore Association(MCA)で規定する非対称マルチコアで各コアが連携できるようにコア間の通信やリソースの管理を行うための標準規格です。