MCHP_MCU Verified Supplier Rep
以下の、
の投稿では、MTCH9010 が高速で信頼性の高い液体検出を可能にする仕組みを説明しました。
MTCH9010 は現在、Zephyr® RTOSをサポートし、Zephyrメインラインの一部として開発者に高い柔軟性と迅速な統合を提供しています。MicrochipのMPLAB®開発環境で作業する場合も、Zephyrのようなオープンソースフレームワークで作業する場合も、MTCH9010 を使用すると、ワークフローに最適なツールチェーンを自由に選択できます。
Zephyr RTOSは、リソース制約のある組み込みシステム向けに設計されたオープンソースのベンダー非依存リアルタイムOSとして、大きな注目を集めています。そのかかげるビジョンは野心的です。すなわち、アーキテクチャ、ベンダー、およびユースケースを問わず拡張可能な単一のRTOSを実現することです。
Zephyrが実際のアプリケーションでどのように動作するかをより良く理解するために、MicrochipのRobert Perkel氏は最近Zephyrを実際に使用し、Microchipの MTCH9010 液体漏れ検出器用の新しいセンサドライバと MTCH9010 用の新しいサンプルアプリケーションを追加しました。この記事では、Microchipのハードウェア上でZephyrを立ち上げ、MTCH9010 を動作するシステムに統合した彼の経験を紹介しています。
よくある誤解について
Zephyrについて開発者がよく耳にする課題は、単純なベアメタルや小規模なファームウェアのプロジェクトと比べて、セットアップが難しく感じられることです。Zephyrには十分に整備されたセットアップ手順が用意されているものの、Python環境からコマンドラインのビルドツール(West)に至るまで、多くの構成要素が絡み合っています。
Robert氏の経験では次のことが示されました。
-
Windowsでも機能しますが、Linuxの方が圧倒的にスムーズです。
-
実行ファイルをコンパイルする手順を知っていれば、トラブルシューティングに役立ちます。
Zephyrが最も効果的な場合
Zephyrが真に輝くのは、複数のサブシステムが連携しなければならない複雑な統合アプリケーションです。例えば:
-
ネットワーク機能(ライブデータを配信し、ハードウェアと連携するHTTPサーバーサンプルなど)
-
複数のペリフェラルにわたるリアルタイム応答性
-
標準化されたコンフィギュレーションとハードウェア抽象化の恩恵を受けるプロジェクト
Robert氏の実践的な作業において、HTTPサーバーのサンプルは
SAM E54 Xplained Proボード上でほぼ即座に動作し、リアルタイム統計情報表示やハードウェアの連携を実現しました。その後、独自のウェブコンテンツの拡張も容易であることが実証されました。
Zephyrは以下の要素を軸として構成されています。
-
ハードウェア定義用のデバイスツリー
-
ソフトウェア設定用のKConfig
-
これらを統合するためのユーザーコード
このレイヤモデルは、複雑なプロジェクトを整理し、拡張性を維持するのに役立ちます。
MicrochipはZephyrを積極的にサポート
Robert氏が得た重要なポイントは、Zephyrが業界からの強い支持を得ており、Microchipが積極的にプロジェクトに貢献していることです。これは、Zephyrが進化するにつれて、PIC32やその他のMCUなどのファミリを含む、より多くのMicrochip社製デバイスのサポートが拡大し続けることを意味し、これにより、サードパーティ製ツールのサポートを活用したクロスプラットフォームアプリケーションを構築する際に、開発者に安心感を与えることになります。
MTCH9010 液体漏れ検出器が現在Zephyrに統合されていることは、このより広範なエコシステムのサポートを反映しています。Zephyrでは、同デバイスはシステム内の他のハードウェアと同様に、デバイスツリーを通して定義されたセンサペリフェラルとして動作し、そのパラメータはコンフィギュレーションによって設定されます。
これは MTCH9010 が次のような特長を持つことを意味します。
-
よりシンプルなベアメタル設計でスタンドアロンで動作します。
-
デバイスドライバとコンフィギュレーションサポートを備えており、Zephyr RTOSアプリケーションに容易に統合できます。
-
Zephyrが対応する多くのMCUファミリで使用でき、MPLABまたはオープンソースのビルドシステムのどちらの開発(作業)においても柔軟性を提供します。
Zephyrのメインラインに組み込まれていることで、独自のアウトオブツリーのドライバを保守する必要がなく、すでにエコシステムの一部として提供されているため、開発を加速させることができます。
次回は、MTCH9010 を用いたZephyr RTOSのアプリケーション例とその動作についてご紹介します。ご期待ください。