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を作成するには次の手順を実行する必要があります。
- プロジェクトのクリーンアップ: 生成されたファイルを削除する
- 記述ファイルの作成:
tgfx.exeを呼び出して、zipファイルとjsonファイルを生成する - TBSの記述: jsonファイルを編集する
.tpaの作成:tgfx.exeを呼び出して、.tpaを完成させる- テストと検証: 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
コマンドが実行されたディレクトリに、以下のファイルが作成されます。
TBSの記述
最終的な.tpaを作成する前に、MyApplication.jsonを編集して、TouchGFX DesignerでTBSがユーザにどのように表示されるかを設定します。 以下のセクションを更新する必要があります。
- Author: Authorセクションのフィールドを使用して、作者名、連絡先の電子メール、URLを指定します。 一部のフィールドを削除するか、空のままにしておくことができます。
- PathToDotTouchGFX: .touchgfxファイルのパスを指定します(通常はTouchGFXフォルダに配置されています)。
- Data: Dataセクションのフィールドを使用して、TBSバージョン、画像、ボード名、タイプ(TBSの場合はTGAT)、ベンダ、説明、詳細情報へのリンクを指定します。
使用可能なタイプと、各タイプのTouchGFX Designerでの配置方法を以下に示します。
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
"PathToDotTouchGFX": "MyTouchGFXFolder/TouchGFX"のように記述する必要があります。
Tip
.tpaの生成
以下のコマンドを実行して、最終的な'.tpa'ファイルを作成し、TouchGFXボード設定を完了します。
$ /c/TouchGFX/4.25.0/designer/tgfx.exe pack -rc -d MyApplication
テストと検証
.tpaファイルがTouchGFX DesignerにTBSとして表示され、新しいアプリケーションの作成に使用されることを確認するには、以下の手順を実行します。
- 必要に応じて
.tpaファイルの名前を変更できます。 .tpaファイルを、C:\TouchGFX\4.25.0\app\packagesにコピーまたは移動します。 これにより、ユーザがTBS、GUI、BSDをローカル・フォルダからTouchGFX Designerにインポートできるようになります。- TouchGFX Designerを開き、[By Partners]タブの下でTBSを選択します。
最後の注意点
このセクションでは、TBSを配布するときの注意点について説明します。
一般的な注意点
一般的に、.tpaを配布する前には次のことを行う必要があります。
- すべてのIDEプロジェクトが期待どおりに動作することを確認する。
- TouchGFXプロジェクト・ファイル
.touchgfxで定義したカスタム・コマンド(PostGenerateなど)が期待どおりに動作することを確認する。 - TBSがTouchGFX Designerによって読み取り可能で、新しいアプリケーションの作成に使用できることを確認する。
Tip
.tpaの配布後は、.tpaファイルをC:\TouchGFX\4.25.0\app\packagesにコピーし、TouchGFX Designerを再起動するように、ユーザに指示する必要があります。
バージョン管理
通常、開発者は開発プロジェクト全体(Board bringup、TouchGFX AL、TouchGFX UI)を同じリポジトリ内に保持するので、配布可能な.tpaファイルは必要ありません。 ただし、チームのメンバーが新しいTouchGFXアプリケーションを開始できるようにするには、統一されたプラットフォーム・コードがテストや検証の際に役に立ちます。
.tpaファイルを配布したり、repo、git 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







