チームの皆さん、こんにちは。私はFreeRTOSを搭載したPN7462AUプラットフォームを使用しており、SDKのサンプルはheap_3.cを使用するように構成されています。メモリオーバーフローの問題に直面しており、ヒープ構成についてより深く理解したいと考えています。
heap_3は標準ライブラリのmalloc()/free()を使用するため、xPortGetFreeHeapSize()やヒープ統計などの関数は利用できません。ヒープの使用状況を可視化し、利用可能なヒープを増やすために、heap_3.c を無効にして heap_3.c から heap_4.c に切り替えてみました。そしてheap_4.cを有効にする。しかし、この変更を加えた後、アプリケーションが起動中にフリーズしてしまう。
私には以下の質問があります。
PN7462AUでheap_3からheap_4に切り替えるのは安全で推奨されることでしょうか?
heap_3に現在利用可能なメモリ量をどのように確認できますか?
heap_3 は xPortGetFreeHeapSize() をサポートしていないため、ヒープの使用状況を監視し、メモリ不足を検出するための推奨される方法は何ですか?
heap_3からheap_4に移行する際に、他にどのような構成変更が必要ですか(例:configTOTAL_HEAP_SIZE、リンカースクリプトの変更、メモリ領域など)?
PN7462AUとFreeRTOSに特化したガイダンスや事例があれば、ぜひ教えていただきたいです。
ありがとう