このページでは

C

STM32F769I-DISCOVERYでのFreeRTOS の使用方法

対応バージョン

Qt Quick FreeRTOS 向け Ultralite は、STM32F769I-DISCOVERY の公式サポートバージョンである v10.0.1 にて動作確認済みです。FreeRTOS

注: STM32F769I-DISCOVERY用の事前コンパイル済みプラットフォームライブラリを使用している場合 FreeRTOS のソースコードの一部はすでにそのライブラリに組み込まれています。FreeRTOS のバージョンを変更したい場合は、プラットフォームライブラリを再ビルドする必要があります。

サポートされているプラットフォームおよびFreeRTOS バージョンの一覧については、「サポートされているアーキテクチャ、プラットフォーム、およびFreeRTOS バージョン」を参照してください。

Qt Quick Ultralite 向けのFreeRTOS シンボルおよびライブラリの提供

プロジェクトで app_common を使用している場合は、FREERTOS_DIR というCMakeキャッシュエントリを設定して、Qt Quick Ultralite用のFreeRTOS ソースへのパスを指定してください。そのディレクトリには、少なくとも以下のものが含まれている必要があります:

  • include FreeRTOS ヘッダーファイルを含むディレクトリ
  • portable ディレクトリ
  • MemMang portable 配下のディレクトリ。このディレクトリには、 用のメモリマネージャの実装が含まれている必要があります。FreeRTOS
  • heap_4.c portable/MemMang 配下のファイル。これはメモリアロケータの実装であり、 Ultralite がデフォルトで使用するものです(Automotive デモでは を使用します)。 を提供できない場合や独自の実装を使用したい場合は、 ターゲットプロパティを設定することで、使用する実装を変更できます。Qt Quick heap_5.c heap_4.c QUL_FREERTOS_HEAP_POLICY ヒープポリシーの変更を参照してください。
  • 使用しているツールチェーンに応じて、以下のファイルが必要です:
    • Arm GCC ツールチェーンの場合:
      • port.c portable/GCC/ARM_CM7/r0p1 配下のファイル。
    • IAR ツールチェーンの場合:
      • port.c portable/IAR/ARM_CM7/r0p1 配下のファイル。
      • portasm.s portable/IAR/ARM_CM7/r0p1 にあるファイル。
  • event_groups.c
  • list.c
  • queue.c
  • tasks.c
  • timers.c

FreeRTOSConfig.h はプラットフォームライブラリによって提供されます。アプリケーションでは、プラットフォームライブラリのコンパイルに使用されたものと同じFreeRTOSConfig.h を使用する必要があります。独自のFreeRTOS 設定を使用するには、プラットフォームパッケージを再コンパイルする必要があります。

プロジェクトでapp_common を使用していない場合は、FREERTOS_DIR のCMakeキャッシュエントリを設定する必要はありません。ただし、Qt Quick Ultralite用に以下のヘッダーと関数を用意する必要があります(つまり、これらのヘッダーはプロジェクトに含まれている必要があります):

  • FreeRTOS.h
  • task.h
  • portable.h
  • memory.h
  • void xPortSysTickHandler(void)
  • void *pvPortMalloc(size_t xSize)
  • void vPortFree(void *pv)

app_commonを使用せずにプロジェクトを設定する方法については、「 app_common を使用しないアプリケーションのビルド」を参照してください。

FreeRTOS プロジェクトのフラッシュ

FreeRTOS を使用するプロジェクトの場合、フラッシュ手順は同じです。詳細については、「STボードのフラッシュ手順」を参照してください。

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