メイン・コンテンツまでスキップ

TouchGFXボード設定の作成

TouchGFXボード設定(TBS)とは、TouchGFXアプリケーションが実行されるプラットフォームを定義する.tpaファイルのことです。 このアプローチは、使いやすいTBSを、その上で実行されるUIコードとは別に配布したい開発者に向けたものです。 この記事では、組込みツールtgfx.exeを使用して、既存のTouchGFXプロジェクトを再配布可能なTBSにパッケージ化する方法について説明します。 このツールは、TouchGFXのインストール先ディレクトリ(デフォルト・ディレクトリにインストールされている場合は、C:/TouchGFX/4.25.0/designer)にあります。 この記事では、MyApplicationという名前のアプリケーションとTouchGFXバージョン4.25.0をベースにして例を示します。

完全に機能するTouchGFXプロジェクトを用意した後、TBSを作成するには次の手順を実行する必要があります。

  1. プロジェクトのクリーンアップ: 生成されたファイルを削除する
  2. 記述ファイルの作成: tgfx.exeを呼び出して、zipファイルとjsonファイルを生成する
  3. TBSの記述: jsonファイルを編集する
  4. .tpaの作成: tgfx.exeを呼び出して、.tpaを完成させる
  5. テストと検証: TouchGFX DesignerでTBSを使用する新しいプロジェクトを作成し、機能することを検証する

プロジェクトのクリーンアップ

TouchGFX Designerでコードを生成(F4)すると、複数のファイルとフォルダが作成されます。 TBSではUIの作成時にコードを再生成するため、これらのファイルは必要ありません。 そこで、これらのファイルやフォルダを削除すれば、.tpaファイルのサイズを大幅に削減できます。 プロジェクトから削除できるのは以下のファイルとフォルダです。

以下のTouchGFX関連フォルダを削除できます。

.\TouchGFX/assets
.\TouchGFX/build​
.\TouchGFX/config​
.\TouchGFX/generated​
.\TouchGFX/gui
.\TouchGFX/simulator​
.\TouchGFX/screenshots
.\Middleware/ST/touchgfx​
.\Middleware/ST/touchgfx_components
Note
  • デュアル・コンテキスト・プロジェクト(CM4/CM7やBoot/Appliなど)が存在する場合、TouchGFXフォルダはCM7フォルダまたはAppliフォルダに配置されます。 この場合、クリーンアップ・プロセスの実行時に、CM4/TouchGFX/buildフォルダまたはBoot/TouchGFX/buildフォルダも削除できます。
  • 配布時に.tpa内のGUIを保持したい場合は、.\TouchGFX/guiフォルダと.\TouchGFX/assetsフォルダを削除しないでください。

以下のSTM32CubeIDEフォルダを削除できます。

.\STM32CubeIDE/.settings
.\STM32CubeIDE/Debug
.\STM32CubeIDE/Drivers
.\STM32CubeIDE/Middlewares
.\STM32CubeIDE/Release

(IAR IDEに関連する)EWARMフォルダ内には、以下のフォルダのみを保持する必要があります。

.\EWARM/*.eww​
.\EWARM/*.ewd​
.\EWARM/*.ewp​
.\EWARM/*.icf​
.\EWARM/startup_*.s

(Keil IDEに関連する)MDK-ARMフォルダ内には、以下のフォルダのみを保持する必要があります。

.\MDK-ARM/startup_*.s​
.\MDK-ARM/*.sct​
.\MDK-ARM/*.uvoptx​
.\MDK-ARM/*.uvprojx

記述ファイルの作成

tgfx.exeツールにより、TBSの内部構成を記述する設定ファイル(.json)が生成されます。 この情報はTouchGFX Designerによって読み出され、TBSの選択時に右側の説明ペインに表示されます。

TouchGFX Environmentコンソールを開き、アプリケーションの親ディレクトリで以下のコマンドを実行します。

$ /c/TouchGFX/4.25.0/designer/tgfx.exe pack -d MyApplication

.tpaのためのファイルを準備

コマンドが実行されたディレクトリに、以下のファイルが作成されます。

生成されたファイルのリスト

TBSの記述

最終的な.tpaを作成する前に、MyApplication.jsonを編集して、TouchGFX DesignerでTBSがユーザにどのように表示されるかを設定します。 以下のセクションを更新する必要があります。

  • Author: Authorセクションのフィールドを使用して、作者名、連絡先の電子メール、URLを指定します。 一部のフィールドを削除するか、空のままにしておくことができます。
  • PathToDotTouchGFX: .touchgfxファイルのパスを指定します(通常はTouchGFXフォルダに配置されています)。
  • Data: Dataセクションのフィールドを使用して、TBSバージョン、画像、ボード名、タイプ(TBSの場合はTGAT)、ベンダ、説明、詳細情報へのリンクを指定します。

使用可能なタイプと、各タイプのTouchGFX Designerでの配置方法を以下に示します。

**TGAT**(TBSの場合)。 TBSはTouchGFX Designer内の「Create」に配置されます。

**TGUI**(GUIの場合)。 単純なGUIの場合は、カテゴリを**example**に設定することで「Examples」に配置されます。

**TGUI**(GUIの場合)。 複雑なGUIの場合は、カテゴリを**demo**に設定することで「Demos」に配置されます。

**TGAPP**(GUIと組み合わせたTBSの場合)。 「Demo」の下の「Board Specific Demo」に配置されます。

TBS用のjson記述ファイルの例を以下に示します。

MyApplication.json
   ...
"Author": [
{
"Name": "Chad Brody",
"Contact": "chad.brody@mycompany.com",
"URL": "http://mycompany.com/"
}
],
...
"PathToDotTouchGFX": "",
"EmbeddedOs": "FreeRTOS"
...
"Data": {
"Version": {
"Major": 1,
"Minor": 0,
"Build": 0
},
"Name": "MyApplication",
"HumanFriendlyName": "MyApplication",
"BoardName": "Custom STM32 Board",
"Type": "TGAT",
"Vendor": "MyCompany",
"Description": "This is a working project on which to base your UI on top of.",
"DocumentationLink": "",
"Category": "",
"Images": [
"http://mysite.com/MyCustomBoard-front.png"
],
"Tags": [],
"AvailableResolutions": [
{
"Height": 480,
"Width": 480
}
],
"TargetBpp": [
24
]
}
}
Note
TouchGFXフォルダがプロジェクト・ディレクトリのルートに配置されていない場合、PathToDotTouchGFXフィールドに.touchgfxファイルへのパスを指定する必要があります。 たとえば、.\MyTouchGFXFolder/TouchGFXに配置されている場合は、
"PathToDotTouchGFX": "MyTouchGFXFolder/TouchGFX"のように記述する必要があります。
Tip
TPAに画像を含めるには、オンライン保存されている画像へのリンクを指定する必要があります。

.tpaの生成

以下のコマンドを実行して、最終的な'.tpa'ファイルを作成し、TouchGFXボード設定を完了します。

$ /c/TouchGFX/4.25.0/designer/tgfx.exe pack -rc -d MyApplication

TouchGFXボード設定の作成

テストと検証

.tpaファイルがTouchGFX DesignerにTBSとして表示され、新しいアプリケーションの作成に使用されることを確認するには、以下の手順を実行します。

  1. 必要に応じて.tpaファイルの名前を変更できます。
  2. .tpaファイルを、C:\TouchGFX\4.25.0\app\packagesにコピーまたは移動します。 これにより、ユーザがTBS、GUI、BSDをローカル・フォルダからTouchGFX Designerにインポートできるようになります。
  3. TouchGFX Designerを開き、[By Partners]タブの下でTBSを選択します。

TBSに関する情報

最後の注意点

このセクションでは、TBSを配布するときの注意点について説明します。

一般的な注意点

一般的に、.tpaを配布する前には次のことを行う必要があります。

  1. すべてのIDEプロジェクトが期待どおりに動作することを確認する。
  2. TouchGFXプロジェクト・ファイル.touchgfxで定義したカスタム・コマンド(PostGenerateなど)が期待どおりに動作することを確認する。
  3. TBSがTouchGFX Designerによって読み取り可能で、新しいアプリケーションの作成に使用できることを確認する。
Tip
TouchGFXプロジェクトまたは.jsonファイルのコンテンツを変更した後は、アプリケーション・テンプレートを必ず再パックします。

.tpaの配布後は、.tpaファイルをC:\TouchGFX\4.25.0\app\packagesにコピーし、TouchGFX Designerを再起動するように、ユーザに指示する必要があります。

バージョン管理

通常、開発者は開発プロジェクト全体(Board bringup、TouchGFX AL、TouchGFX UI)を同じリポジトリ内に保持するので、配布可能な.tpaファイルは必要ありません。 ただし、チームのメンバーが新しいTouchGFXアプリケーションを開始できるようにするには、統一されたプラットフォーム・コードがテストや検証の際に役に立ちます。

.tpaファイルを配布したり、repogit submodulesなどのツールを使用してコードベースをモジュラー化したりする場合には、この記事の前で取り上げたように、TBSコンポーネントのバージョンを.jsonディスクリプタで指定されたバージョンに合わせる方が賢明です。 モジュラー型のアプローチを使用する場合、platformのコードは、配布可能な.tpaファイルを作成するために使用することもできますが、メインのプロジェクト構成内のモジュールとして使用することもできます。

  "Data": {
"Version": {
"Major": 3,
"Minor": 0,
"Build": 0
},
$ git tag
v1.1.0
v2.0.0
v2.1.0
v3.0.0