Skip to main content
Explorer
January 18, 2024
Solved

Can the STM32H7x M4 core boot from SDRAM or not ?

  • January 18, 2024
  • 1 reply
  • 2077 views

According to the STM32H7's datasheet, the M4 core shouldn't be able to boot from an SDRAM memory address (because it's outside of the range 0x00000000 to 0x3FFF0000):

IbrahimAbdalkader_0-1705573213089.png

However, I found out that I can actually boot the M4 core from SDRAM, if I used the alias address at 0x70000000 (which is also outside of the range) instead of 0xC0000000. So I'm wondering if this is a documentation error, or an undocumented feature/bug that we shouldn't count on ?

 

Thanks!

    This topic has been closed for replies.
    Best answer by FBL

    Hello @Ibrahim Abdalkader 

    The answer is next sentence. The BOOT_ADD0 / BOOT_ADD1 / BCM4_ADD0 / BCM4_ADD1 option bytes can be modified after reset in order to boot from any other boot address after next reset.

    1 reply

    FBLAnswer
    Technical Moderator
    January 18, 2024

    Hello @Ibrahim Abdalkader 

    The answer is next sentence. The BOOT_ADD0 / BOOT_ADD1 / BCM4_ADD0 / BCM4_ADD1 option bytes can be modified after reset in order to boot from any other boot address after next reset.

    Explorer
    January 18, 2024

    Hi @FBL Thank you very much for clarifying that! But I still don't understand why it can't boot from 0xC0000000 ? I tried but I can only boot from 0x70000000 after reset.

    Technical Moderator
    January 18, 2024

    According to Table 6. Memory map and default device memory area attributes, you can remap to 0xD0000000 as it is considered for FMC SDRAM bank 2 in case of FMC remap. 0xC0000000 is linked to bank 1.