You can do the register access
@lukaszadrapa described inside the solution.
Lets say you have your main inside the M0 core while M1 is still inactive.
Tell M1 where it`s own main function runs by calling:
voind main_on_core_0()
{
// some normal code here
MC_ME->PRTN0_CORE1_ADDR = (uint32)(&main_function_of_core_1);
}
Then tell Core 1 to start via the registers access:
MC_ME->PRTN0_CORE1_PCONF = MC_ME_PRTN0_CORE1_PCONF_CCE_MASK;
MC_ME->PRTN0_CORE1_PUPD = MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK;
MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY( 0x5AF0);
MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY(~0x5AF0);