2020-04-20 01:51 PM
Hi!
It's a beginner question, but what is te purpose / use case the CCM RAM in STM32F4-series?
I asking this due to CCM RAM in this MCUs connected to D-bus only. For this reason, this implementation don't have code execution capability nor DMA.
I'm afraid that what I gain with fast data processing using CCMRAM, I will lose because moving the data using the CPU.
For example: How can I send DSP results from CCMRAM over TCP / IP efficiently using LWIP?
LWIP uses DMA to transfer packets to MAC as I know.
2020-04-20 02:09 PM
Stack space? It is not contended by other bus traffic, and really shouldn't be used for DMA as it has the potential to go out of scope over the duration of the transfer.
Perhaps coefficient tables used by math/dsp, so not the data you're acting on, but things tangential to it which you don't want in flash, and contaminating the ART Cache.
Temporal stuff like hash tables for compression.
2020-04-20 04:30 PM
The SRAM1/2 are not THAT slow in itself...
It makes sense to distribute load to different buses. While the write buffer on S port is busy writing result of calculation to the DMA-able memory, the processor may continue running with data from CCMRAM. Stack, heap, various global variables not interacting with DMAs, they all may and should reside in CCMRAM.
JW
2020-04-21 05:51 AM
Thanks for the quick reply and ideas! :)