cancel
Showing results for 
Search instead for 
Did you mean: 

How to store temporary more data?

manuel2399
Associate II
Posted on August 03, 2015 at 10:07

Hello,

I'm using the STM32F405 microcontroller.

For my application/calculation I need to store temporary a lot of data, which exceed my SRAM.

To expand it, without using an external SRAM, I had following ideas:

- Use the Backup-SRAM as common SRAM (only 4kB).

Question: Is there a write limitation e.g. 100.000 write cycles?

- Store some data in the flash memory.

Question: How can I configurate the linker to keep e.g. the last 100kByte free?

Do I just need to reduce the parameter “__Main_Stack_Size�?  from 1024 to 924

Thank you
1 REPLY 1
Posted on August 03, 2015 at 14:21

Ok, some how much exactly do you need? Can you break the processing into pieces that requires less memory at any instant?

Considered using the 64KB of CCM RAM at 0x10000000 ?

The BKPRAM are RAM cells in the backup power domain, they behave like RAM, not FLASH. So they is no erase/write cycle maximum. But the memory is small.

FLASH can be used but it is SLOW and have finite life (100K cycles). The latter blocks in the FLASH are 128KB in size, and you have to erase all of that to rewrite any particular byte/word within it, so you want to move across the memory in a linear fashion, or journal data.

The Stack is NOT in flash memory, it uses a portion of RAM, where the stack size/depth is dependent on the call tree depth of your code, and the use of local/auto variables.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..