よくある質問 - renesas/FreeRTOS-Kernel GitHub Wiki

Renesas/FreeRTOS-Kernel wiki

Now under construction.


FAQ

ヒープメモリ

ヒープメモリのサイズのデフォルト値

本製品のヒープサイズのデフォルトは4KBです。このサイズはタスク1つおよびセマフォ1つ程度に必要なサイズです。
そのため、ユーザがタスクなどのRTOSリソースを追加した場合、ヒープメモリが不足する可能性が高いです。
ヒープメモリのサイズを大きくする方法は、ヒープメモリのサイズを変更したいを参照してください。

ヒープメモリのサイズを変更したい

FreeRTOSConfig.hのconfigTOTAL_HEAP_SIZEまたはconfigTOTAL_HEAP_SIZE_N(Renesas独自の設定マクロ)の値を変更してください。
configTOTAL_HEAP_SIZEがヒープメモリの全体サイズ (Byte) を示します。
また、configTOTAL_HEAP_SIZE = configTOTAL_HEAP_SIZE_N * 1024 (Bytes)です。

SCを利用している場合はconfigTOTAL_HEAP_SIZE_NThe configTOTAL_HEAP_SIZE_N項目で設定できます。

ヒープメモリの最適なサイズ

ヒープメモリの最適なサイズはRTOSリソースの数や各リソースの使い方で変わるので、一概には言えません。ユーザ環境での評価を通じて最適なサイズを導出してください。
ヒープメモリを計測するために下記の方法があります。

  • e2 studioではプラグイン「RTOSリソース」を用いて簡易的にヒープメモリ(より正確にはタスクスタック)を計測できます。
    • 各タスクが使用しているタスクスタックについて、デバッグ時にプログラムを一時停止したタイミングにおける使用サイズを取得できます。
    • CS+では「RTOSリソース」を使用できません。
  • 本格的にヒープメモリを計測する場合は、Percepio社が提供するTracealyzer for FreeRTOSの使用を弊社は推奨しています。
    • この製品はヒープメモリを含む様々な情報を継続的に計測可能です。