2025-07-16 4:51 AM
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)
}
}