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);