Despite its name, this link describes your situation: https://community.st.com/s/article/FAQ-DMA-is-not-working-on-STM32H7-devices.
Find your linker script (file with .ld extension). If there's more than one or you're not sure, open Tool Settings and navigate to the "General" leaf of "C Linker". The path of the linker script there is relative your build directory.
Read https://sourceware.org/binutils/docs/ld/Scripts.html#Scripts to learn its syntax.
Blocks and sizes of memory vary. Read RM0433 to learn how memory's arranged for your part and populate your MEMORY regions accordingly. As example, these are the blocks from my STM32H7 project's linker script:
MEMORY
{
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
DTCMRAM (rw) : ORIGIN = 0x20000000, LENGTH = 128K
AXI_SRAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
SRAM1_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 128K
SRAM2_D2 (xrw) : ORIGIN = 0x30020000, LENGTH = 128K
SRAM3_D2 (xrw) : ORIGIN = 0x30040000, LENGTH = 32K
SRAM4_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
BACKUP_SRAM_D3 (rw) : ORIGIN = 0x38800000, LENGTH = 4K
<snip>
}
Probably you should move .data, .bss, heap (if you have any) and stack or initial stack (depending whether you're bare-metal or OS) to the region corresponding the one I've named AXI_SRAM_D1.
In that first link, there's discussion too about placing objects at specific memory locations. That's not pertinent yet. When you come to it though, read about the section attribute at https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#Common-Variable-Attributes.