Skip to main content
Explorer
July 16, 2025
Solved

The D2 domain ram can't be operated

  • July 16, 2025
  • 1 reply
  • 182 views

Hi,Master
MCU: stm32h743ii

Question:
The scatter file is as follows: The stack and some global variables are allocated in RW_D2SRAM. After the program starts and during the handling of scatter file loading in its __main, it is found that both the stack push operation and the initialization of global variables are ineffective. The memory corresponding to RW_D2SRAM remains 0 all the time and cannot be modified. What is the reason for this? Is it necessary to enable a certain clock switch?

LR_IROM1 0x08000000 0x00200000 { ; load region size_region
 ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
 *.o (RESET, +First)
 *(InRoot$$Sections)
 *(_drv_set_)
 .ANY (+RO)
 .ANY (+XO)
 }
 
 RW_ITCM 0x00000000 0x00010000 { ; RW data
 *.o(fast.lv)
 }
 
 RW_IRAM2 0x24000000 0x00080000 { ; RW data
 .ANY (+RW +ZI)
 }
 
 RW_DTCM 0x20000000 0x00020000 { ; RW data
 *(dtcm_data)
 }
 
 RW_D2SRAM 0x30000000 0x00048000 { ; RW data
 .ANY (+RW +ZI)
 }
 
 RW_D3SRAM 0x38000000 0x00010000 { ; RW data
 *(d3_data)
 }
}

 

    This topic has been closed for replies.
    Best answer by Lyu.1

    I've found the reason, it's that the clock isn't working

    1 reply

    Lyu.1AuthorAnswer
    Explorer
    July 17, 2025

    I've found the reason, it's that the clock isn't working