このページでは

C

Infineon Traveo T2G のはじめに

このトピックでは、Qt Quick UltraliteがサポートするInfineon Traveo T2Gプラットフォームでの使用を開始するために必要なすべての情報を提供します。Qt for MCUs は、Infineon 認定のHMIツールです。

注: 開発環境を設定する前に、すべての前提条件がインストールされていることを確認してください

開発環境のセットアップ

Qt Creator IDEの設定

Qt Creator IDEを使用してMCU向けの開発を行うには、MCUプラグインが必要です。Qt for MCUs SDKをインストールすると、Qt Online Installer によってデフォルトで有効になります。

MCU上でアプリケーションをビルドして実行するには、キットを作成する必要があります:

  1. Edit > Preferences > SDKs > MCU 」を選択します。

    注: 「MCU」タブが表示されない場合は 、「Help > About Plugins 」を選択し、 Qt for MCUs プラグインを有効にし、Qt Creator を再起動して変更を反映させてください。

  2. まだ設定されていない場合は、Qt for MCUs のインストールディレクトリへのパスを指定してください。

    Qt Creator を使用して、インフィニオン社のターゲット向け SDK を作成する。

  3. [ Target supported by the Qt for MCUs SDKを選択します。例: Qt for MCUs 2.12.2 - TVIIC2D4M-BAREMETAL 32bpp
  4. Requirements 」セクションで、プラットフォーム固有の要件が満たされていることを確認してください。
  5. キットを自動的に作成するには、[Automatically create kits for all available targets on start ] を選択します。

    注: Create Kit 」および「Update Kit 」を使用して、キットを手動で作成・更新することも可能です

  6. キットを自動的に作成する場合は、「Apply 」を選択し、「Qt Creator 」を再起動してください。

CMake変数の設定

コマンドプロンプトから開発環境を設定することも可能です。Infineon ボード向けのアプリケーション開発において、Qt Quick UltraliteとCMakeを併用する方法の詳細については、Infineon Traveo T2Gボード用CMakeマニュアル』を参照してください。

Qt Quick Ultraliteの事前ビルド済みライブラリを使用したアプリケーションのビルド

Qt Creator IDE を使用したアプリケーションのビルド

  1. ビルドしたい例のCMakeプロジェクトファイルを開きます。
  2. Configure Project 」ウィンドウで:
    1. 先ほど作成したキットを選択します。例えば、 Qt for MCUs 2.12.2 - TVIIC2D4M-BAREMETAL 32bpp.
    2. Configure Project 」を選択します。

Qt Creator を使用して、インフィニオン製ターゲット向けの MCU プロジェクトを設定する。

プロジェクトの設定が完了したら、「Run 」を選択するか、キーボードのCtrl+rキーを押して、バイナリをビルドし、ターゲットに書き込みます。

注: Qt Creator を使用した書き込みは 、OpenOCD 互換のデバッグプローブでのみ動作します。例として、Infineon 、通常は基板上に搭載されている KitProg3、および MiniProg4 は OpenOCD 互換です。

コマンドプロンプトを使用したアプリケーションのビルド

コマンドプロンプトからアプリケーションをビルドおよびフラッシュすることも可能です。

サポートされているInfineon ボードおよびプラットフォーム(ターゲットOSを含む)は、以下の表に一覧表示されています。

ボードターゲットボード名
TRAVEO T2G CYT3DL (4M [216])tviic2d4m
TRAVEO T2G CYT3DL (4M LITE KIT)tviic2d4mlite
TRAVEO T2G CYT4DN (6M [327-BGA-REF、327-BGA-REV-B および 500-BGA])tviic2d6m
TRAVEO T2G CYT4DN (6M LITE KIT)tviic2d6mlite
TRAVEO T2G CYT4EN (6M DDR [500-BGA])tviic2d6mddr

注: tviic2d6m のリビジョンは QUL_TVIIC2D6M_BOARD_REVISION というCMakeのconfigureオプションを使用して選択できます。

プラットフォームターゲットプラットフォーム名
Bare Metalbaremetal

以下の例は、tviic2d4m-baremetaltviic2d4mlite-baremetal 、またはtviic2d6m-baremetal 向けにminimal のサンプルをビルドする方法を示しています。

QUL_ROOT また、以下のコマンドラインの例では、QUL_TOOLS が環境変数として設定されているかのように使用されています。例:

export QUL_ROOT=$HOME/Qt/QtMCUs/2.12.2
export QUL_TOOLS=$HOME/Qt/Tools/QtMCUs
set QUL_ROOT=C:\Qt\QtMCUs\2.12.2
set QUL_TOOLS=C:\Qt\Tools\QtMCUs
cd %QUL_ROOT%\examples\minimal
mkdir build
cd build
cmake .. -G "Ninja" -DQUL_PLATFORM=tviic2d4m-baremetal -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4"
cmake --build .
cd %QUL_ROOT%\examples\minimal
mkdir build
cd build
cmake .. -G "Ninja" -DQUL_PLATFORM=tviic2d4mlite-baremetal -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4"
cmake --build .
cd %QUL_ROOT%\examples\minimal
mkdir build
cd build
cmake .. -G "Ninja" -DQUL_PLATFORM=tviic2d6m-baremetal -DCMAKE_BUILD_TYPE=MinSizeRel -DQul_ROOT=%QUL_ROOT% -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\ghs-arm.cmake -DQUL_TARGET_TOOLCHAIN_DIR=C:\ghs\comp_201714 -DQUL_BOARD_SDK_DIR=C:\TVII-GraphicsDriver -DINFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4"
cmake --build .

minimal のサンプルアプリケーションのビルドに成功したら、次のいずれかのコマンドを使用してフラッシュを行います。

OpenOCD互換のプローブを使用する場合:

自動生成されたフラッシュターゲットを使用する場合:

cmake --build . --target flash_minimal

コマンドプロンプトからの書き込みに関する詳細については、「 Infineon ボードの書き込み手順」を参照してください。

注: アプリケーションを正常に起動させるには、 ターゲットシステム上に適切なブートローダーが常に存在している必要があります。詳細については、「ブートローダーの書き込み手順」の章を参照してください。

GDB を使用したデバッグ

デバッグには、GHSプローブ、J-Link Ultra+プローブ、およびMiniprog4の使用を推奨します。動作する可能性のあるその他のデバッガに関する詳細については、Infineon またはツールベンダーにお問い合わせください。

注: Green Hills コンパイラを使用する場合、GDBバックトレース不正確または不完全になる可能性があります。

要件

GDB によるデバッグには、GNU Arm GCC 12.3.rel1 ツールチェーンが必要です。これは、GNU Arm Embedded Toolchain Downloads からダウンロードできます。あるいは、Qt Online Installer を使用して GNU ARM GCC ツールチェーンをインストールすることもできます。

ModusToolbox を使用する場合は、ModusToolbox Setup ツールから ModusToolbox Tools Package とともにインストールされる GNU ARM GCC ツールチェーンを使用してください。インストール後、デフォルトでは Windows ではC:\ModusToolbox\tools_3.4\gcc 、Linux では/opt/Tools/ModusToolbox/tools_3.4/gcc に配置されます。

コンパイル

ビルドされた実行ファイルに必要な DWARF2 デバッグテーブルが確実に生成されるよう、設定時には必ず `-DCMAKE_BUILD_TYPE=Debug ` を使用してください。

GDBサーバーの起動

INFINEON_AUTO_FLASH_UTILITY_DIR 環境変数を設定します

お使いのマシンに合わせてパスを調整し、以下のようにINFINEON_AUTO_FLASH_UTILITY_DIR を設定してください:

set INFINEON_AUTO_FLASH_UTILITY_DIR="C:\Program Files (x86)\Infineon\Auto Flash Utility 1.4"

OpenOCD互換のプローブの使用:

OpenOCD互換のプローブを接続した状態で、次のコマンドを実行します:

%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_c2d_4m.cfg
%INFINEON_AUTO_FLASH_UTILITY_DIR%\bin\openocd -s %INFINEON_AUTO_FLASH_UTILITY_DIR%\scripts -f interface/kitprog3.cfg -c "transport select swd" -f target/traveo2_6m.cfg

J-Linkプローブをボード上のJ-Tagソケットに接続し、次のコマンドを実行してください:

デバッグに使用可能なコア

OpenOCDは現在MCUに接続されており、GDBからの接続を待機しています。ターミナルの出力を確認すると、接続可能なポートがいくつか表示されています。 1つ目はCM0+(Cortex-M0+)コアで、残りはCM7(Cortex-M7)コアです(TRAVEO T2G CYT3DLには1つ、TRAVEO T2G CYT4DNには2つあります)。 GDB を使用して GDB サーバーに接続する際は、デバッグしたいコアに対応するポートを選択してください。

Qt for MCUs デフォルトでは、ブートローダにはCM0+ が、アプリケーションには最初のCM7 コアが使用されます。

GDB による接続

これで、GDB サーバーに接続して、命令をステップ実行できるようになります。

ARMGCC_DIR 環境変数を設定します。

以下に示すようにARMGCC_DIR を設定します。パスは、お使いのマシンに合わせて適切な場所に調整してください:

set ARMGCC_DIR="C:\Qt\Tools\QtMCUs\arm_gcc_12_3_1\bin"

OpenOCD互換のプローブを使用する場合:

%ARMGCC_DIR%\arm-none-eabi-gdb.exe C:/path/to/binary/application.elf -ex "target remote localhost:3334"
(gdb) monitor reset
(gdb) continue

注: これらのボードはARMbig.LITTLE CPUアーキテクチャをベースとしているため 、再起動の際は必ずmonitor traveo2 reset_halt コマンドを使用してください。

%ARMGCC_DIR%\arm-none-eabi-gdb.exe C:/path/to/binary/application.elf -ex "target remote localhost:3334"
(gdb) monitor traveo2 reset_halt sysresetreq
(gdb) continue

ボード固有の情報

現在サポートされているInfineon ターゲットは以下の通りです。Qt Quick Ultraliteがサポートするすべてのターゲットの詳細については、「サポートされているターゲットボードおよび開発ホスト」を参照してください。

ハードウェアボードコンパイラオペレーティングシステム
TRAVEO T2GTRAVEO T2G CYT3DL (4M 216)、CYT3DL (4M LITE KIT)、CYT4DN (6M 327)、CYT4DN (6M LITE KIT)、および CYT4EN (6M DDR)IAR Functional Safety Build Tools for Arm V8.22.3 および Green Hills MULTI Compiler for Embedded ARM 2017.1.4Bare Metal
TRAVEO T2GTRAVEO T2G CYT4DN (6M LITE KIT)GNU Arm GCC 11.3.1Bare Metal

特定の Qt ライセンスの下で利用可能です。
詳細はこちら。