このページでは

C

NXP IMXRT1064-EVKでFreeRTOS

互換性のあるバージョン

Qt Quick Ultralite forFreeRTOSFreeRTOS v10.0.1でテストされています。これはNXP IMXRT1064-EVKの公式サポートバージョンです。

注: NXP IMXRT1064-EVK用のコンパイル済みプラットフォーム・ライブラリを使用している場合、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がデフォルトで使用するメモリアロケータ実装です。 を提供できない場合、または独自の実装を使用したい場合は、 target プロパティを設定して実装を変更してください。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 の下のファイル。
  • stream_buffer.c
  • 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 を使用するプロジェクトでも、点滅プロセスは同じです。詳細なフラッシュ手順については、このページを参照してください。

RLE の展開

パフォーマンス上の理由から、不透明度が適用された RLE 画像は、PXP を使って SDRAM のフレームバッファにブレンドする前に、限られたサイズの中間バッファに解凍されます。

platform_nxp.cppのqul_scratch_bufferのサイズを大きくすることである程度パフォーマンスを改善できますが、その代償としてRAMの使用量が増えます。


詳細はこちら。