0
\$\begingroup\$

I am reading the STM32F429II data sheet and looking at page 84, which shows the memory mapping. The chip has 2MB of internal flash memory, but the data sheet is general for all STM32F427xx/STM32F429xx chips.

I can see that internal flash memory range is from 0x0800 0000 to 0x081FF FFFF, which gives a maximum of 0x1FF FFFF = 2MB.

It also says that the STM32F4 devices with 2MB of internal flash has its memory divided in two banks of 1 MB each. This means it is possible to execute code from one bank, while at the same time erase/read/write from the other without halting the code execution (if I have understood it correctly).

On the specific chip I mentioned, is it safe to assume that the start address of bank 2 (program executes by default on bank1 I assume) is 0x100 0000? Where can I find this information? I have not seen it in the data sheet or the reference manual.

\$\endgroup\$
2
\$\begingroup\$

For greater detail on anything STM32F4 related you should refer to the STM32F4 Reference Manaul - it tells you everything you could ever need to know about anything.

For instance, in section 3, it tells you:

enter image description here

So you can see than bank 1 is 0x08000000 to 0x080FFFFF and bank 2 is 0x08100000 to 0x081FFFFF.

\$\endgroup\$
  • \$\begingroup\$ I was not aware that this manual existed. It was exactly what I was looking for. Thank you! \$\endgroup\$ – iQt Nov 14 '14 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.