Skip to main content

開発の概要

主な作業#

TouchGFXプロジェクトには、開発段階において取り組む一連の作業が含まれます。 各作業の工数は、プロジェクトの目標によって異なります。 UIのプロトタイプを作成する場合は、アプリケーションの大部分に既製のコードを使用できるため、作業の大半を省略し、プロジェクト開発を加速できます。 カスタム・ボードに基づくフル・プロジェクトの場合は、各作業に取り組む必要があります。

TouchGFXプロジェクトの主な作業

見出しへの直リンク#

TouchGFXプロジェクトは、5つの主なソフトウェアおよびハードウェア・コンポーネントで構成されます。 各作業では、これらの主なコンポーネントを生成します。 TouchGFXエンジンは、いずれの主要作業の出力でもありません。このエンジンは、TouchGFXプロジェクトの出発点となるものであり、ダウンロードおよびインストールが完了次第、使用できます。

TouchGFXプロジェクトの主なコンポーネント

次のセクションで各作業およびコンポーネントの概要を示し、 章の後半で各作業の詳細を説明します。

ハードウェアの選択#

この作業はTouchGFXプロジェクトの最初の工程です。 アプリケーションを実行するハードウェアを選択します。 必要なハードウェア・コンポーネントを決定し、それらがTouchGFXアプリケーションに与える影響を判断します。 このステップを完了すると、TouchGFXプロジェクトでディスプレイ・ボードを使用できるようになります。

プロトタイプ作成#

UIのプロトタイプを作成する場合、迅速に立ち上げ、実行できるSTM32評価キットが最適の選択肢です。 このキットを使用すれば、ハードウェア・コンポーネントについて、ボードへの接続方法などの問題を考慮する必要がありません。 この場合のハードウェアの選択作業は、提供中のSTM32評価キットを選ぶだけで完了です。これは、マイクロコントローラの性能、メモリの設定、ディスプレイ・サイズという観点から、最終製品に最も合っています。

カスタム・ハードウェア#

独自のハードウェア・ソリューションを作成する場合は、多数の選択肢と検討すべき課題があります。 この作業に関しては「ハードウェアの選択」のセクションを参照してください。多くの疑問に対する答えと、選択がTouchGFXアプリケーションに与える影響についての解説が示されています。

プロジェクトの終盤になるまで、最終ハードウェアを用意できないケースは少なくありません。 そのような場合には、まず最終製品のボードに近いSTM32評価キットを選択し、UI開発の初期ステップではこれを使用するという方法が一般的です。 そのようなボードがない場合は、PCで動作するTouchGFX Simulatorを使用して開発に着手することも可能です。

このステップの詳細は「ハードウェア選択」のセクションを参照してください。

ボード立ち上げ#

この作業は、TouchGFXをボード上で実行できるようにするための中心的なタスクです。 出力コンポーネントはボード初期化コードと呼ばれるものです。マイクロコントローラとすべてのペリフェラルを設定する一般的な初期化コードであり、アプリケーション実行の準備を整えます。 この初期化コードはTouchGFXから独立しており、純粋にハードウェアの設定のみを行います。

STM32CubeMX#

The main tool for this activity is STM32CubeMX. CubeMXは、マイクロコントローラの設定をサポートし、一般的な起動コードを生成します。 外部RAMやディスプレイなどのペリフェラルについては、ユーザが初期化コードと特定のペリフェラル用のドライバを追加します。 It is also possible to do the entire Board Initialization Code without use of STM32CubeMX, but is not recommended unless you have expert knowledge on STM32 and board bring up.

TouchGFX Board Setups (TBSs)#

If you are doing a UI Prototype or just want to try out TouchGFX you can base your application on an existing TouchGFX Board Setup (TBS) for one of the standard STM32 Evaluation Kits available in TouchGFX Designer. これらには、必要なボード初期化コードもすべて含まれています。 The TBSs are based on a STM32CubeMX configuration, so it is possible for you to modify the configuration if you want to experiment or add access to more peripherals.

このステップの詳細は「ボードの立ち上げ」のセクションを参照してください。

TouchGFX AL(抽象化レイヤ)開発#

この作業は、完全に初期化されたディスプレイ・ボード(ディスプレイ・ボード + ボード初期化コード) 上で、TouchGFXエンジンを実行する上で重要です。 出力コンポーネントは、TouchGFX抽象化レイヤ(AL:Abstraction Layer)と呼ばれるソフトウェア・レイヤです。ハードウェアを抽象化し、TouchGFXエンジンがボード上で動作できるようにします。

TouchGFX Generator#

The main tool in this activity is TouchGFX Generator which is a STM32CubeMX plugin that allows you to configure and generate most of the TouchGFX AL code. ほとんどの場合、TouchGFX ALコードの一部はユーザ自身で作成することになります。 TouchGFX Generatorは、このステップで、ユーザが内容を実装するための空の関数を作成してユーザを支援します。

TouchGFX ALが機能するには、ボード初期化コードが適切に作成され、マイクロコントローラ、外部RAM、ディスプレイ、その他が適切に設定されていることが重要です。

If you are doing a UI Prototype or just want to try out TouchGFX you can base your application on an existing TouchGFX Board Setup (TBS) for one of the standard STM32 Evaluation Kits available in TouchGFX Designer. これには、必要なTouchGFX ALコードもすべて含まれています。 The TBSs are based on a CubeMX and TouchGFX Generator configuration, so it is possible for you to modify the configuration if you want to experiment later on.

このステップの詳細は「TouchGFX ALの開発」のセクションを参照してください。

UI開発#

おそらく、プロジェクト開発の時間のほとんどが、この作業に費やされます。 ここではユーザ・インタフェース・コードを作成します。これが、TouchGFXプロジェクトのユーザの目に触れる部分である、TouchGFX UIアプリケーションと呼ばれるコンポーネントを構成します。

TouchGFX Designer#

この作業の主なツールはTouchGFX Designerと、使い慣れたIDEまたはテキスト・エディタです。 TouchGFX Designerでは、アプリケーションの画面を設定、設計、作成し、UIアプリケーションの主要部分をC++コードとして生成します。 アプリケーションの論理(イベント処理、システムのUI以外の部分とのやり取り) については、IDEまたはテキスト・エディタを使用してユーザがC++コードを作成します。このコードはTouchGFX Designerが生成するコードと共存し、やり取りします。

TouchGFX Board Setups#

If you are doing a UI Prototype or just want to try out TouchGFX and do not want to spend time doing the other activities, you can either base your application on the PC based TouchGFX Simulator or you can use one of the existing TouchGFX Board Setup (TBS) for one of the standard STM32 Evaluation Kits. いずれの場合も、ただちにUIアプリケーションの開発に着手できます。

Demos and Examples#

If you just want something to run or want to be inspired you can select one of the TouchGFX demos or examples which can be found when creating a new project in TouchGFX Designer. この場合に必要な作業は、コンパイル、書込み、実行だけです。

カスタム・ハードウェア#

If you have already done all the other activities and thus have a running board ready for a TouchGFX Application you can either start from scratch or select one of the examples or demo. カスタム・ボードとサンプルの解像度が同じであれば、サンプルはカスタム・ボード上でも動作するはずです。

このステップの詳細は「UIの開発」のセクションを参照してください。

ワークフロー#

見てのとおり、TouchGFXの開発には、多くの作業とツールが関与します。 ただし、そうした作業をすべて同時に行う必要はないことに留意することが重要です。必ずしもUI開発着手までにディスプレイ・ボード、ボード初期化コード、TouchGFX ALが必要になるとはかぎりません。 これらはSTM32評価キットまたはTouchGFX Simulatorで代用できます。

TouchGFX Designerのワークフロー

生成されるコードとユーザ・コード#

ソフトウェアに関する3つの作業、つまりボードの立ち上げ、TouchGFX ALの開発、UIの開発のそれぞれでは、コードを生成するツールを使用します。 これらのツールに共通するのは、必要なコードのすべてが生成されるわけではないということです。プロジェクトには、ユーザが作成するコードも追加することになります。 これら3つのツールでは、ツールの使用とコード作成の間を自由に行き来できます。 生成されるコードとユーザ・コードは独立しており、別々に更新できます。

作業を切り替えることで使用するツールが変わる場合もあります。 そうした状況は、TouchGFX ALの開発においてしばしば発生します。ここには、TouchGFX ALをテストするための、ごく単純なTouchGFX UIがあります。 しかし、このように作業間を移動しても何の問題も生じません。ツール、生成されるコード、ユーザ・コードは問題なく共存し、更新できるからです。

コンパイラ / IDEの変更#

作業中、ターゲット・ボード向けのコードをコンパイルする必要が生じます。 The compilers supported by TouchGFX are IAR, ARMCC, ARMCLANG and GCC(STM32CubeIDE). The toolchain selected for your TouchGFX project is configured in STM32CubeMX, so if you want to change it you should open the TouchGFX project .ioc file in STM32CubeMX and change the toolchain setting. When selecting an TouchGFX Board Setup (TBS) in TouchGFX Designer it will have one toolchain preselected, so you will only find a project file for one of the toolchains. ATには.iocファイルも付属しているため、そのファイルを開き、必要に合わせてツールチェーンに変更できます