STM32F407VET6の場合、トータルでRAMは192kbなのですがこの内64kbがccmram(Core Coupled Memory RAM)で残りのsram128kbと分離していて、何もしない場合SRAMしか使いません。そこでccmram全部をheapに割り当て、他はSRAMを使うようにしてみました。とはいっても非常に簡単にできます。
まず、FreeRTOSConfig.hでconfigAPPLICATION_ALLOCATED_HEAP を 1 にします。
ccramがすべてheapに割り当てられているのでUSAGEが100%になっていますが、正常です。簡単ですが備忘録として挙げてみました。今回は以上です。それでは。
まず、FreeRTOSConfig.hでconfigAPPLICATION_ALLOCATED_HEAP を 1 にします。
FreeRTOSConfig.h #define configAPPLICATION_ALLOCATED_HEAP 1続いてmain.cで以下のようにします。
/* USER CODE BEGIN PV */ #ifdef configAPPLICATION_ALLOCATED_HEAP uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((section(".ccmram"))); #endif /* USER CODE END PV */基本的にはこれだけです。ビルド後、以下のようになっていればOKです。
ccramがすべてheapに割り当てられているのでUSAGEが100%になっていますが、正常です。簡単ですが備忘録として挙げてみました。今回は以上です。それでは。
コメント
コメントを投稿