このページでは

C

NXP のIMXRT1170-EVKBでFreeRTOS を使用する

対応バージョン

Qt Quick FreeRTOS 向け Ultralite は、 IMXRT1170-EVKB の公式サポート対象バージョンである v10.4.3 にて動作確認済みです。NXP FreeRTOS

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

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

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

プロジェクトで app_common を使用している場合は、FREERTOS_DIR というCMakeキャッシュエントリを設定して、Qt Quick Ultralite用のFreeRTOS ソースへのパスを指定してください。

注: MCUXpresso SDK 内のFreeRTOS ソースのディレクトリ名は変更される 可能性があります。rtos ディレクトリから正しいパスを確認してください。

このディレクトリには、少なくとも以下のものが含まれている必要があります:

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

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

注: カスタム版の FreeRTOSConfig.hを使用する場合 、またはconfigTOTAL_HEAP_SIZE のデフォルト値を変更する必要がある場合は、configTOTAL_HEAP_SIZE の値を低くしすぎないようにすることが重要です。 テキストキャッシュ、テクスチャキャッシュ、ストロークパス用の中間構造体、またはユーザーアプリケーションでの動的割り当てを考慮して、十分なヒープ領域を割り当てる必要があります。configTOTAL_HEAP_SIZE の値が低すぎると、ヒープオーバーフローや予期せぬアプリケーションのクラッシュにつながる可能性があります。

プロジェクトで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 を使用するプロジェクトの場合、フラッシュ手順は同じです。詳細なフラッシュ手順については、こちらのページを参照してください。

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。