Qt for MCU がアナウンスされました

The Qt BlogAnnouncing Qt for MCUs という記事が投稿されました。

Qt のウェブサイトにも Qt for MCU というページが公開されています。

Qt for MCUs. Ultimate Performance. Tiny Footprint

リサーチプロジェクトの開始

昨年ごろから、RTEMS というオープンソースの RTOS を利用し、MCU 上で Qt を動かすためのリサーチプロジェクトが行われました。

その結果は、マイクロコントローラー(MCU)で Qt というブログで公開されています。

実際は Qt “Quick” for MCU

リサーチプロジェクトでは、Qt のすべてをベアメタル上に移植することを目標にしていましたが、今回の Qt for MCU は Qt Quick のみを MCU で動かすためのプロジェクト のようで、Qt Core や Qt Gui を使わずに、Qt Quick の描画エンジンを ARM Coretex-M 専用で開発したとのことです。

ハードウェアの対応状況

現時点でサポートされているものは以下の通りです。

このうち、上3つについては、Qt for MCU のサイトから、実行イメージのダウンロードも可能になっています。

Qt for MCU のアーキテクチャ

通常、Qt Quick は以下のレイヤー構造で動作しています。

  • Qt Quick アプリケーション
  • Qt Quick モジュール
  • Qt Gui モジュール + Qt Qml モジュール
  • Qt Core モジュール
  • OS
  • H/W

Qt for MCU の場合は、以下のようになります

  • Qt Quick アプリケーション
  • Qt Quick モジュール
  • Qt Quick Ultralite モジュール
  • H/W

Qt Quick Controls の一部は移植されているとのことですが、Qt Core 等は利用できないため、C++ の標準ライブラリを利用し、ネットワークの対応などは必要に応じてサードパーティーの C++ のライブラリを利用する形になります。

描画エンジンは、OpenGL は利用せず、以下のような 2D の機能を活用しています。

  • PxP / NXP’s i.MX RT シリーズ
  • Chrom-ART Graphics Accelerator / STM32 シリーズ
  • RGL / Renesas RH850

また、この描画エンジンには、先日 Qt 6 のビジョン で示された QML を C++ に変換して、C++ 側でバインディングを利用する仕組みがすでに取り入れられているとのことです。

ウェブセミナーが開催されます

Software Development for MCUs: High performance on ARM Cortex M, Europe / Asia というウェブセミナーが、9月4日の 10:00(日本時間 17:00)から以下の内容で開催されます。

  • Qt for MCU の概要
  • Qt for MCU の使いどころ
  • 各ターゲットボード上でのメモリの使用量と描画のパフォーマンスの詳細
  • 実機でのデモ
  • Q/A

興味のある方は是非参加してみてください!