よくある質問 - 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_N
をThe configTOTAL_HEAP_SIZE_N
項目で設定できます。
ヒープメモリの最適なサイズ
ヒープメモリの最適なサイズはRTOSリソースの数や各リソースの使い方で変わるので、一概には言えません。ユーザ環境での評価を通じて最適なサイズを導出してください。
ヒープメモリを計測するために下記の方法があります。
- e2 studioではプラグイン「RTOSリソース」を用いて簡易的にヒープメモリ(より正確にはタスクスタック)を計測できます。
- 各タスクが使用しているタスクスタックについて、デバッグ時にプログラムを一時停止したタイミングにおける使用サイズを取得できます。
- CS+では「RTOSリソース」を使用できません。
- 本格的にヒープメモリを計測する場合は、Percepio社が提供するTracealyzer for FreeRTOSの使用を弊社は推奨しています。
- この製品はヒープメモリを含む様々な情報を継続的に計測可能です。