2.6. When selecting dual-core microcontrollers in the STM32H7 series

Only Boot0 is supported: both cores boot at once.

Import from and to dual-core STM32H7 is not supported.

For memory-to-memory DMA or BDMA or MDMA configuration, the initialization code is generated for both cores.

OpenAMP issue when compiling under EWARM and MDK-ARM when OpenAMP is activated under STM32CubeMX:

To avoid link errors in OpenAMP when compiling in EWARM IDE, add the following lines to the linker files ( .icf):

/* Create region for OPENAMP */
define symbol __OPENAMP_region_start__ = 0x38000400;
define symbol __OPENAMP_region_size__ = 0xFC00;
export symbol __OPENAMP_region_start__;
export symbol __OPENAMP_region_size__;

To avoid link errors in OpenAMP when compiling in MDK-ARM IDE, add the following lines to the linker files ( .sct):

; ***** Create region for OPENAMP *****
.resource_table +0 ALIGN 4 { ; resource table
*(.resource_table)
}
; Shared Memory area used by OpenAMP
__OpenAMP_SHMEM__ 0x38000400 EMPTY 0xFC00 {}

OpenAMP under STM32CubeIDE needs linker file update:

/* Specify the memory areas */
MEMORY
{
...
m_ipc_shm (RW) : ORIGIN = 0x38000400, LENGTH = 63K
}

/* Symbols needed for OpenAMP to enable rpmsg */
__OPENAMP_region_start__=ORIGIN(m_ipc_shm);
__OPENAMP_region_end__=ORIGIN(m_ipc_shm)+LENGTH(m_ipc_shm);