2020-11-26 11:20 AM
Hi,
I'm trying to create multicore communication. I want to call interrupt in the second core. Firstly I thought that I can somehow make hardware semaphore release interrupt in the second core. But then I found something better in the CubeIDE:It looks like there is some dedicated interrupt. After the code generating I got the interrupt handler. But my question is: How can I send this event from the second core to core where I have generate the interrupt handler? Is there some bit that has to be set? Unfortunately my solution does not work. There are my steps to get interrupt in CM7 called from CM4:
CM4 :
HAL_NVIC_SetPendingIRQ(CM7_SEV_IRQn);
CM7:
HAL_NVIC_SetPriority(CM4_SEV_IRQn, 0x0F, 0);
HAL_NVIC_EnableIRQ(CM4_SEV_IRQn);
void CM4_SEV_IRQHandler(void)
{
HAL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin);
HAL_NVIC_ClearPendingIRQ(CM4_SEV_IRQn);
}
Please correct me if I made some mistake. I can't find any practical example.
Regards,
2021-08-31 11:50 PM
Hi,
Have you solved the issue? I have a similar problem with my code. I saw from the forum that asm("sev"); is sending event signals to all other cores in the system. Maybe it can help you.
Best Regards.