組込みHMI(ヒューマン・マシン・インタフェース)の設計は日々進化しつづけています。よりスマートで多機能化した製品を手にするようになったエンド・ユーザは、そのHMIについても、機能に簡単にアクセスでき魅力的なエクスペリエンスを提供するものを期待します。
製品をGUI(グラフィカル・ユーザ・インタフェース)で操作できるようにすれば、よりユーザに優しく安全な最先端デバイスを設計し、エンド・ユーザに提供する価値が向上します。そうしたGUIに求められる設計は、日頃最も頻繁に操作しているデバイスであるスマートフォンがお手本になります。
開発に向けて
STM32ファミリは、組込みデバイスにスマートフォンのようなグラフィカル・ユーザ・インタフェース(GUI)をすばやく実装するために必要なツールを提供し、「HMI of Things(モノのHMI)」革命を推進します。
STM32 GUI開発キット
STM32は、グラフィカル・ユーザ・インタフェース(GUI)開発に関連して開発キット、サンプル・ソフトウェア、デモなどを幅広く提供しています。
開発キットには、それぞれFlashメモリに書き込まれたデモが付属しています。各デモ・コードは、対応するSTM32Cubeソフトウェア・パッケージで利用できます。
開発をサポートする拡張開発エコシステム
ディスプレイ・モジュールのメーカー
ディスプレイ・キット調達の手間を省きましょう。ST認定パートナーが提供する、すぐに量産可能なディスプレイ・モジュールを選択して製品に組み込んでください。
UIツールの提供元
STM32ハードウェア用のGUI開発ツールは、複数のST認定パートナーから提供されています。各社とも、STM32のGUI開発を円滑に進めるために、お客様を真摯にサポートいたします。
グラフィック対応STM32マイコン
GUIで最高のユーザ・エクスペリエンスを
優れたユーザ・エクスペリエンスを提供する組込み製品を設計するために、STM32ファミリは業界で最も幅広いグラフィック対応マイコンを提供しています。提供中の製品は200種類を超え、様々なディスプレイ・インタフェースとパッケージ・オプションに対応しています。STM32のグラフィック対応マイコンは、以下をはじめとする多彩な機能を内蔵し、組込みデバイスに必要とされる目標性能と最適化のトレードオフを実現します。
- Chrom-ART Accelerator™:メモリ効率に優れた2Dグラフィック・アクセラレータです。スムーズな遷移と透明効果を提供し、メインCPUの負荷を肩代わりします。
- NeoChrom GPU:STM32で豊かなUIを実現する、徹底したハードウェア最適化が施された新しい2.5Dアクセラレータです。フリップ、スピン、スケーリング、ズームその他のアニメーションが最適化されます。このテクノロジーを一言で表すと、新しいハードウェアIPによるテキスチャ・マッピングとアルファ・ブレンディングの加速になるでしょう。計算負荷をNeoChrom GPUに肩代わりさせることで、フレーム・レートが著しく向上します。
- NeoChrom VG GPUは、ベクタ・グラフィックス演算専用ベクタ・グラフィックス・アクセラレータで、NeoChrom GPUのテクノロジーをベースにしています。
- JPEGコーデック:M-JPEGビデオによるブランド発信やチュートリアルを組み込むことができます。
- 内部および外部メモリへの高速アクセス:ボトルネックの発生を回避し、スムーズなアニメーションを実現します。
- 大容量の内部メモリ:ワンチップ・ソリューションを可能にします。低解像度ディスプレイに外付けのRAMやFlashメモリが不要となり、システム・アーキテクチャの保護、バッファ方式、メモリ・バジェットの柔軟性を高めます。
- 大型ディスプレイ・インタフェースのサポート:パラレル・インタフェース、LCD-TFT、MIPI-DSI組込みコントローラによって実現しています。
GUI開発に必要なもの
優れたGUIを構築するにはスキルと専門知識が必要であり、様々な構成要素を用意しなければなりません。適切なディスプレイや筐体の選定と調達に始まり、メニューと画面のアート・デザイン、それらをユーザ・インタフェースとして組み込むためのプログラミング、電子回路の開発に至る一連の作業を終えて、ようやく全体像が形を取りはじめ、設計に命を吹き込む準備が整います。
GUI開発の長い道のりに途方に暮れる気持ちは、よくわかります。
STが最先端のグラフィック対応マイクロコントローラを提供しているのは、まさにこうした理由からです。製品だけでなく、必要なツールとサポートを開発の全段階で提供することで、お客様のGUIプロジェクトを成功に導くお手伝いをします。
ニーズを見極め、それに従ってマイクロコントローラと開発キットを選定
STM32グラフィック対応マイクロコントローラのポートフォリオ
STM32 GUI開発キット
STM32は、グラフィカル・ユーザ・インタフェース(GUI)開発に関連して開発キット、サンプル・ソフトウェア、デモなどを幅広く提供しています。
開発キットには、それぞれFlashメモリに書き込まれたデモが付属しています。各デモ・コードは、対応するSTM32Cubeソフトウェア・パッケージで利用できます。
TouchGFXをダウンロード
TouchGFXとは
TouchGFXとは、STM32開発エコシステムに統合された無償のGUIツールであり、最先端GUIの構築に必要な機能をすべて備えています。
TouchGFXは、X-CUBE-TOUCHGFXパッケージとして提供されます。パッケージには以下が含まれます。
- TouchGFX Designer:PC上で動作するGUIの作成ツールおよびシミュレータです。
- TouchGFX Generator:TouchGFXプロジェクトの設定および生成に使用します。
- TouchGFX Engine:最適化されたハードウェア・アクセラレータ対応のグラフィック・ライブラリです。
独自GUIの構築に着手
実装例を選択してデモを参照するか、グラフィック・アセットをインポートしてゼロから設計に着手し、TouchGFX Designerのウィジェットを使用してGUIアプリケーションを作成します。
設計キットをFlashメモリに書き込み、スマートフォンのようなGUIを実行
開発キットをPCに接続して、[Run Target](ターゲットを実行)をクリックするだけで、TouchGFXが自動的に設計キットをFlashメモリにプログラミングします。プログラミングには、インストール済みのSTM32Cube Programmerが使用されます。
TouchGFXの専門家たち
高度なスキルを備えたSTのTouchGFX専門家集団は、アイデアを市場トップクラスの製品へとつなげるお手伝いをします。革新的なアプローチと広範な知識、経験を駆使し、STM32やTouchGFXソリューションに関するサポートやサービスを提供することで、お客様の次期組込み製品の設計をアイデアから最終製品まで最短経路でガイドします。
関連情報
デモ・ビデオ
TouchGFX 4.23による高速Flashプログラミングとベクタ・フォント
コスト効率に優れたSTM32U5G9ソリューション
グラフィック対応STM32:コスト効率に優れたGUIソリューション
マイクロプロッセサのようなGUIアプリケーションをSTM32H7RSで実行
STM32U599 NeoChrom GPUデモ
Flashの使用量を抑えたSTM32 GUI開発
グラフィック対応STM32マイクロプロッセサ
グラフィック対応STM32マイクロプロッセサは、STM32マイクロプロッセサで魅力的なグラフィカル・ユーザ・インタフェース(GUI)を簡単に開発しやすいように設計されています。マイクロプロッセサでGUIの構築を開発するには、メモリ使用量、性能、入出力デバイス、消費電力、ユーザ体験の最適化が必要です。STはこれらの課題を認識しており、見た目に魅力的であると同時に性能に最適化されたGUIの開発を支援するために、幅広いグラフィック・ソリューションをST認定パートナーのサポートとともに提供しています。この包括的なアプローチは、組込みシステム固有の制約を考慮することで、マイクロプロッセサ・ベースのGUIで応答性に優れたスムーズなユーザ体験を実現します。
3Dグラフィック処理ユニット(GPU)は、CPUに比べて、複雑な3Dグラフィック演算およびレンダリングをはるかに高速に処理できると同時に、電力効率にも優れています。
STM32MPU Wiki
STM32MPUでのGUI設計を始めるのに役立ちます
マイクロプロセッサを選択
STM32MP13 | STM32MP15 | STM32MP25 | |
カメラ・インタフェース | DCMI 最大240MB(120MHz ピクセルクロック、16bitデータ使用時) 3メガピクセル@30fps(カラー) 5メガピクセル@15fps(カラー) | DCMI 最大140MB(80MHzピクセルクロック、14bitデータ使用時) | Lite-ISP装備のMIPI CSI-2(5メガピクセル@30fps DCMI 1メガピクセル@15fps) |
ディスプレイインタフェース | LCD-TFT: WXGA(1366 x 768)@60fps ~フルHD(1920 x 1080)@30fps | LCD- TFT: WXGA(1366 x 768)@60fps ~フルHD(1920 x 1080)@30fps MIPI® DSI 2データ・レーン | LCD-TFT: FHD(1920 × 1080)@60fps、LVDS: 最大QXGA(2048 x 1536)@60fps(デュアル・リンク使用時) DSI:最大QXGA(2048 x 1536)@60fps |
NEON(Arm Cortex®-A) | ビデオ・エンコード/デコード、2D/3Dグラフィックス | ビデオ・エンコード/デコード、2D/3Dグラフィックス | オーディオ、ビデオ、3Dグラフィックス、画像、音声処理 |
GPU | 3D GPU:Vivante® OpenGL® ES 2.0 - 最大2,600万三角形/秒、133メガピクセル | 3D GPU:VeriSilicon® - 最大900MHz OpenGL® ES 3.2.8 - Vulkan 1.2-OpenCL™ 3.0、OpenVX™ 1.3、最大1億5,000万三角形/秒、900メガピクセル |
STM32開発エコシステムで動作するライブラリ
強力なツールによりスマートフォンのようなUIを開発でき、OpenSTLinuxまたはOpenSTDroidに完全に対応し、STM32MPUプラットフォームでの設計を強化します。
- GTK(GIMP Toolkit)
- 無料でオープンソース
- C言語をはじめとする多くの言語に対応
- すぐに使える各種ウィジェット
- OpenSTlinux対応(YoctoおよびBuildroot)
グラフィカル・ユーザ・インタフェース開発用の無料でオープンソースのクロスプラットフォーム・ウィジェット・ツールキットGTKは、ボタン、テキスト・ボックス、メニュー、ダイアログ・ボックスなどのGUI開発用の各種ウィジェットやツールを提供します。C言語で記述され、Python、Perl、Rubyなどの各種言語のバインディングが用意されています。
GTKは、LinuxおよびUnixコミュニティで広く使用されており、LGPL(Lesser General Public License)に基づいてライセンスされます。そのため、オープンソース・アプリケーションと商用アプリケーションの両方で使用・配布が可能です。
- 無料でオープンソース(Androidオープンソース・プロジェクト)
- 各種2D/3Dグラフィック・レンダリングAPI
- Android対応
Androidフレームワークは、魅力的で実用的なグラフィカル・ユーザ・インタフェースを開発するための豊富な標準ツールを提供します。ただし、アプリケーションが画面に描画する要素をより正確に制御したい場合や、3Dグラフィックスに挑戦する場合は、別のツールが必要です。Androidフレームワークによって提供されるOpenGL ES APIは、思いどおりのハイエンド・アニメーション・グラフィックスを表示するための各種ツールを提供するほか、多くのAndroidデバイスに搭載されたグラフィック処理ユニット(GPU)によるアクセラレーションも利用できます。
- LVGL(Light and Versatile Graphics Library)
- 無料でオープンソース
- C言語
- すぐに使える各種ウィジェット
- OpenSTlinux対応(YoctoおよびBuildroot)
- ベアメタル対応
LVGLは、組込みGUIを開発するための各種グラフィカル・コンポーネントやユーザ・インタフェース・コンポーネントを提供するオープンソース・グラフィック・ライブラリです。軽量かつ柔軟に設計されており、シンプルなディスプレイから複雑なグラフィカル・インタフェースまでの幅広いアプリケーションに適しています。各種ディスプレイ・ドライバや入力デバイスに対応し、Linuxおよびベアメタル組込みシステムに容易に統合できます。
- WYSIWYGツール
- ドラッグ・アンド・ドロップ・インタフェース
Embedded Wizardは、プラットフォームに依存しない高性能GUIの開発を可能にするGUIテクノロジーです。HMI開発を簡素化し、全体的なメモリ・フットプリントを削減することにより、高性能グラフィカル・ユーザ・インタフェースを最小限の労力で開発できるようにします。
OpenGL ES 2.0または高度に最適化されたソフトウェア・レンダラを使用して、STM32MPUを最適にサポートできるように高度に適合化されています。
- LVGLまたはGTKライブラリで動作
- プログラミング言語が必要
Slintは、STM32MPUで組込みシステム用GUI開発に使用できるLinuxディストリビューションです。幅広いグラフィック開発ツールやライブラリを備えており、さまざまなプラットフォームやデバイス向けに高品質で見た目に魅力的なグラフィック・アプリケーションを開発する必要がある開発者に選ばれています。
STM32MP13x | STM32MP15x | STM32MP25x | パートナー経由 | ||||||
ベアメタル | Yocto | Buildroot | Yocto | Buildroot | Yocto | Buildroot | Android | ||
GTK | |||||||||
LVGL | |||||||||
Qt | |||||||||
Candera | |||||||||
組込みウィザード | |||||||||
Crank | |||||||||
Altia | |||||||||
Slint | |||||||||
Android |
デモ・ビデオ
STM32MP157 DK
のクイック・デモ
Candera CGI Studioのデモ
STM32MP135 EVチャージャ