Skip to main content
manuel2399
Associate
August 3, 2015
Question

How to store temporary more data?

  • August 3, 2015
  • 1 reply
  • 588 views
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
    This topic has been closed for replies.

    1 reply

    Tesla DeLorean
    Guru
    August 3, 2015
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..