このページでは

C

Infineon PSOC Edgeプラットフォームで始める

概要

このトピックでは、Qt Quick Ultralite がサポートするInfineon PSOC™ Edge プラットフォームを使い始めるために必要な情報を提供します。

Qt for MCUs デモをフラッシュするには、Infineon Online Software Delivery Toolを使用します。Infineon と Qt Group が開発したこれらのアプリケーションは、EVK の高性能グラフィックス機能を紹介するものです。

対応バージョン

Qt Quick UltraliteはModusToolbox Tools Package バージョン3.7.0でテストされています。

前提条件のインストール

開発環境をセットアップする前に、前提条件をインストールしてください。

Infineon PSOC Edge E84評価キット

  • Qt Quick ウルトラライト 2.12.1
  • Qt Quick UltraliteInfineon PSOC Edge E84 評価キット・プラットフォーム・パッケージ
  • Infineon PSOC Edge E84 評価キット
  • Infineon ModusToolboxソフトウェア
    • ModusToolboxツールパッケージ3.7.0
    • ModusToolbox 2025.8.0以降のEclipse IDE
    • ModusToolbox Edge プロテクト・セキュリティ・スイート 1.6.1
    • ModusToolboxプログラミングツール1.7.0
    • GNU Arm GCC 14.2.1またはLLVM Embedded Toolchain for Arm 19.1.5

注: Infineon PSOC Edge E84 評価キットで実行するには、Qt Quick Ultralite デモ・アプリケーションの一部 (swipe_game、サーモスタット、Watch デモなど) に 1Gbit 外部オクタル SPI フラッシュが必要です。1Gbit フラッシュを利用するには、Infineon のメモリ構成手順を参照してください。

ModusToolboxプロジェクトの準備

ModusToolboxプロジェクトでは、Qt Quick Ultraliteを実行するために追加の設定が必要です。空のPSOC Edge アプリケーションの上に、以下の設定が必要です。

注: このセクションでは、Eclipse IDE for ModusToolbox ソフトウェアの知識が必要です。ソフトウェアの使用方法については、Eclipse IDE for ModusToolboxユーザーガイドを参照してください。

ライブラリ

ModusToolboxLibrary Managerproj_cm55に以下のライブラリを追加します:

ライブラリ名バージョン
ディスプレイ-dsi-waveshare-4-3-LCD1.0.0
タッチ-ctp-ft54061.0.0
リターゲットイオ1.9.0
シリアルメモリ3.1.0

QSPIコンフィギュレーション

Qt Quick UltraliteでPSRAMを動作させるために、ModusToolboxQSPI Configurator に以下のQSPI設定を追加してください:

設定変数
QSPIインスタンス1
スレーブ・スロット2
メモリ部品番号S70KS1283
構成200MHz
データ選択オクタルSPI-Data[0:7]
メモリマップド有効
スロットとペアなし
開始アドレス0x64000000
サイズ0x1000000
終了アドレス0x64FFFFFF
書き込み有効有効
フラッシュコンフィグデータ無効
暗号化無効
XIPトランザクションのマージ16サイクル以内

デバイス構成

ModusToolboxで以下の設定を変更します。Device Configurator

グラフィックを有効にする

Peripherals -> System で、Graphics を有効にし、以下のパラメータ値を変更します:

パラメータ
メイン・クロックCLK_HF1 root_clk [SHARED] MIPI DPHY PLL クロック。
MIPI DPHY PLLクロックCLK_HF12 ルートクロック [USED]
GPUを有効にする有効
ディスプレイタイプMIPI DSIビデオモード
転送タイプビデオモードバースト
バースト幅832
高さ480
目標FPS60
ディスプレイインターフェースDPI-24bit
HSync幅10
最大出力210
HBP20
VSync幅5
VFP20
VBP20
ピクセルクロック(KHz)33768
DSIレーン数1
最大レーン数 Mbps850
レーンあたりの最大Mbps有効
レーンあたり必要Mbps850
LPでCMD転送を許可有効
VIDEOでのLP遷移許可有効
グラフィック/ビデオレイヤー有効有効
オーバーレイ0を有効にする無効
有効 オーバーレイ1無効
可視性有効
入力フォーマットRGB565
Xポジション0
Yポジション0
832
高さ480
Zオーダー0

I2Cクロック周波数とデータレートの変更

Peripherals -> Communication で、Serial Communication Block (SCB) 0 を有効にし、パラメータを以下のパラメータ値に変更する:

パラメータパラメータ
モードマスター
マニュアル・データ・レート・コントロール無効
データ・レート(kbps)100
TX FIFO使用有効
RX FIFO使用有効
ディープスリープモードからのウェイクアップを有効にする無効
クロック16ビット分周0クロック(CYBSP_I2C_CONTROLLER_CLK_DIV)[USED]
SCLP8[0] digital_inout (CYBSP_I2C_SCL) [USED] デジタル入力。
SDAP8[1] digital_inout (CYBSP_I2C_SDA) [USED] SDA
SCL 出力 (scl_trig)<未割り当て
RXトリガ出力<未割り当て
TXトリガ出力<未割り当て
実際のデータ・レート(kbps)97
tLow (ns)5120
tHigh (ns)5120
クロック周波数3.125 MHz
コンフィグをフラッシュに保存有効

Actual Data Rate セクションの値はクロック・コンフィグに依存するため、ここで変更することはできません。Clocks -> Dividers -> Peripheral -> Peri 0 -> Peri 0 Clock Group 1 -> 16 bit -> 16 bit Divider 016 bit Divider 0 clk (CYBSP_I2C_CONTROLLER_CLK_DIV) に以下のパラメータを設定することで、値を変更することができます:

パラメータ
ソース・クロックCLK_HF10 root_clk [SHARED] (シェアード)
分周器32
分周周波数3.125 MHz
スタート・オン・リセット有効
ペリフェラルシリアル通信ブロック(SCB) 0 clock_scb_en (CYBSP_I2C_CONTROLLER)

Qt Quick UltraliteのPSRAMメモリ領域をイネーブルにする。

Peripherals -> Communication -> Quad Serial memory Interface (QSPI) 1 -> QSPI 1 Core 0 が有効になっていることを確認する。Memory -> Memory Regions にアクセスし、Serial Memory Interface block 1, memory 2 (S70KS1283) を開いて、UNALLOCATED 領域の隣にあるPlus ボタンをクリックし、Add region を選択します。新しい領域に以下のプロパティを設定する:

プロパティ
リージョンIDm55_psram
ドメインM55(ドメイン2)
オフセット0x00000000
サイズ(バイト)0x01000000

OK をクリックしてリージョンを作成します。

Qt Quick UltraliteのPSRAMサポートを有効にするには、こちらの手順に従ってください。

プロジェクトの構成

プロジェクトがQt Quick Ultralite をサポートするためには、以下の変更が必要です:

  • proj_cm55 に存在する場合は、FreeRTOSConfig.h を削除してください。 エクスポートされたQt Quick Ultralite アプリケーションには、Qt Quick Ultralite 用に事前設定されたFreeRTOSConfig.h ファイルが付属しています。
  • 追加
    COMPONENTS+=GFXSS

    common.mkに追加してください。

アプリケーションのビルド

環境のセットアップ

アプリケーションをビルドする前に、以下の環境変数を設定してください:

export QUL_ROOT=$HOME/Qt/QtMCUs/2.12.1
set QUL_ROOT=C:\Qt\QtMCUs\2.12.1

Qt Quick Ultraliteアプリケーションのエクスポート

qmlprojectexporterを使ってアプリケーションコードをエクスポートしてください:

注: Qt Quick Ultralite アプリケーションを LLVM サポート付きでエクスポートするには、Qt Quick Ultralite ライブラリを LLVM ツールチェーンでビルドする必要があります。ビルド方法については PSOC Edge E84 の LLVM サポートを参照してください。

ARM GCC:

$QUL_ROOT/bin/qmlprojectexporter \
/path/to/your/project.qmlproject \
--boarddefaults=$QUL_ROOT/platform/boards/infineon/psoc-edge-e84-freertos/cmake/BoardDefaults_16bpp_default.qmlprojectconfig \
--toolchain GNU \
--platform psoc-edge-e84-freertos \
--extend-project /path/to/mtw/your_ModusToolbox_application_project/proj_cm55/Makefile \
--project-type ModusToolbox \
--generate-entrypoint \
--platform-metadata $QUL_ROOT/lib/QulPlatformTargets_psoc-edge-e84-freertos_16bpp_Linux_armgcc-export.json

LLVM:

$QUL_ROOT/bin/qmlprojectexporter \
/path/to/your/project.qmlproject \
--boarddefaults=$QUL_ROOT/platform/boards/infineon/psoc-edge-e84-freertos/cmake/BoardDefaults_16bpp_default.qmlprojectconfig \
--toolchain LLVM \
--platform psoc-edge-e84-freertos \
--extend-project /path/to/mtw/your_ModusToolbox_application_project/proj_cm55/Makefile \
--project-type ModusToolbox \
--generate-entrypoint \
--platform-metadata $QUL_ROOT/lib/QulPlatformTargets_psoc-edge-e84-freertos_16bpp_Linux_llvm-arm-export.json

ARM GCC:

%QUL_ROOT%\bin\qmlprojectexporter ^
C:\path\to\your\project.qmlproject ^
--boarddefaults=%QUL_ROOT%\platform\boards\infineon\psoc-edge-e84-freertos\cmake\BoardDefaults_16bpp_default.qmlprojectconfig ^
--toolchain GNU ^
--platform psoc-edge-e84-freertos ^
--extend-project C:\path\to\mtw\your_ModusToolbox_application_project\proj_cm55\Makefile ^
--project-type ModusToolbox ^
--generate-entrypoint ^
--platform-metadata %QUL_ROOT%\lib\QulPlatformTargets_psoc-edge-e84-freertos_16bpp_Windows_armgcc-export.json

LLVM:

%QUL_ROOT%\bin\qmlprojectexporter ^
C:\path\to\your\project.qmlproject ^
--boarddefaults=%QUL_ROOT%\platform\boards\infineon\psoc-edge-e84-freertos\cmake\BoardDefaults_16bpp_default.qmlprojectconfig ^
--toolchain LLVM ^
--platform psoc-edge-e84-freertos ^
--extend-project C:\path\to\mtw\your_ModusToolbox_application_project\proj_cm55\Makefile ^
--project-type ModusToolbox ^
--generate-entrypoint ^
--platform-metadata %QUL_ROOT%\lib\QulPlatformTargets_psoc-edge-e84-freertos_16bpp_Windows_llvm-arm-export.json

エクスポートが成功した場合、ModusToolboxプロジェクトには、proj_cm55 の下にQtMCUs ディレクトリが作成されているはずです。

proj_cm55/Makefile を編集し、## QUL BEGIN ## のコメントの直前にFREERTOS_DIR 変数を追加します:

FREERTOS_DIR=$(patsubst %/,%,$(CY_GETLIBS_SHARED_PATH))/$(CY_GETLIBS_SHARED_NAME)/freertos/release-v10.6.202/Source

注意: このエクスポートは、アプリケーション・プロジェクトごとに一度だけ必要です。ModusToolboxプロジェクトは自動的にQMLファイルの変更を検出し、C++コードを再生成します。

Qt Quick Ultraliteアプリケーションが異なるバリアント用のセレクタを使用する場合、qmlprojectexporter の引数--selector に追加します。例えば、Qt Quick Ultralite Thermostat Demoは以下のセレクタを使用します:

--selector normal,small

Infineon PSOC Edgeプラットフォームのデフォルト構成では、Release 構成でビルドされたQt Quick Ultraliteライブラリをエクスポートします。Qt Quick Ultraliteライブラリを別のビルド構成(Debug など)でビルドした場合は、qmlprojectexporter コマンドに--qul-build-type引数を追加してビルドタイプを上書きしてください:

--qul-build-type Debug

Qt Quick Ultraliteとともに出荷されたいくつかのサンプルは、アプリケーションコードにmain() 関数を持っていません。main() 関数を追加する場合を除き、これらの例をエクスポートする際には--generate-entrypoint引数を使用してください。Qt Quick Ultraliteを初期化するmain() 関数の書き方については、アプリケーションでQt Quick Ultraliteを実行するを参照してください。

qmlprojectexporter と QmlProject の詳細については、qmlprojectexporter ドキュメントと QmlProject マニュアルを参照してください。

ModusToolboxプロジェクトのビルドとフラッシュ

注: このセクションでは、Eclipse IDE for ModusToolboxソフトウェアの知識が必要です。ソフトウェアの使用方法については、Eclipse IDE for ModusToolboxユーザーガイドを参照してください。

以下の手順に従って、Eclipse IDE for ModusToolboxからアプリケーションをビルドし、フラッシュしてください:

  1. ModusToolboxプロジェクトを選択します。
  2. Quick Panel -> <ModusToolbox project name> からBuild Application をクリックしてプロジェクトをビルドします。
  3. Quick Panel -> Launches から<ModusToolbox project name> Program Application をクリックして、アプリケーションをボードにフラッシュします。

デバッグ

デバッグメッセージの読み込み

デフォルトでは、Qt Quick Ultraliteは、qul_printfQul::PlatformInterface::log 呼び出しからのすべての出力を仮想シリアルポートにリダイレクトし、USBを使用してホストマシン上でアクセスできます。プロジェクトの初期設定では、ボーレート115200 bpsで出力されます。

以下の変更を行って、UARTポートの速度を変更してください:

Peripheral -> Communication -> Serial Communication Block (SCB) 2 (CYBSP_DEBUG_UART) で以下の値を変更します:

パラメータデフォルト値
通信モード標準
ボーレート (bps)115200
オーバーサンプル10
ビット順序LSBファースト
データ幅8ビット
パリティなし
ストップビット1ビット

Actual Baud Rate が希望のボーレートと一致していることを確認する:

パラメータデフォルト値
実際のボーレート(bps)114942
ボーレートの精度0.224
クロック周波数1.149425 MHz

Clocks -> Dividers -> Peripheral -> Peri 0 -> Peri 0 Clock Group 1 -> 16 bit -> 16 bit Divider 1 (CYBSP_DEBUG_UART_CLK_DIV)を変更することで、実際のボーレートを変更することができます:

パラメータデフォルト値
ソース・クロックCLK_HF10 root_clk [SHARED] (共有)
分周器87
周波数1.149 MHz
スタート・オン・リセット有効
ペリフェラルシリアル通信ブロック(SCB) 2 clock_scb_end (CYBSP_DEBUG_UART) [使用済み]

デバッガの使用

注: このセクションでは、Eclipse IDE for ModusToolbox ソフトウェアの知識が必要です。ソフトウェアの使用方法についてはEclipse IDE for ModusToolbox User Guide を参照してください。

次のステップでは、Eclipse IDE for ModusToolboxでプロジェクトをデバッグする方法を説明します:

  1. ModusToolboxプロジェクトを選択します。
  2. Quick Panel -> Launches から<ModusToolbox project name> Debug MultiCore をクリックしてデバッガを起動します。

proj_cm55サブプロジェクトを選択し、Quick Panel -> Launches から<ModusToolbox project name> Debug をクリックすると、M55 プロジェクトだけにデバッグを限定することができます。

注: デフォルトのKitProg3デバッガを使用する場合、大規模なアプリケーションではAttach 。コンフィギュレーションはRun -> Debug Configurations.. から入手できます。

ボード固有の情報

現在サポートされているInfineon PSOC Edge ターゲットを以下に示します。Qt Quick Ultraliteでサポートされているすべてのターゲットの詳細については、サポートされているターゲットボードと開発ホストを参照してください。

階層 2: 検証済みターゲット

ハードウェアボードMCUコンパイラオペレーティング・システムホスト
Infineon PSOC Edge E84評価キットPS846GPS2DBZC4GNU Arm GCC 14.2.1、LLVM Embedded Toolchain for Arm 19.1.5FreeRTOSWindowsおよびLinuxホスト

リソースキャッシュポリシー

デフォルトでは、アプリケーションのリソース・データは起動時に SDRAM にコピーされます。これらのリソースをフラッシュに保持し、起動時に RAM にロードしないようにするには、qmlproject ファイルに以下の QmlProject オプションを追加します:

MCU.Config {
    resourceCachePolicy: "NoCaching"
}

また、以下のように個々のイメージに対してのみ有効にすることもできます:

ImageFiles {
    files: [
        "big/button.png"
    ]
    MCU.resourceCachePolicy: "NoCaching"
}


詳細はこちらをご覧ください。