2023-03-20 11:38 PM
Hiiii,
I'm trying to create multicore communication in Nucleo-H745zi. I want to call interrupt in the second core. I just want toggle LED in second core after interrupt came from first core. I checked the articles and other stuffs on internet but i can't able to understand how i actually write that code .
In NVIC2 there is an option CM7 send interrupt to CM4 i enabled it but i didn't understand how to execute it . If anyone know about it please help me with same.
2023-03-21 04:45 AM
Hello @pshin.2,
After defining an interrupt handler for the first core (CM7). This function will be called when the interrupt is triggered. HAL_NVIC_SetPriority() is meant to be configured in order to preempt CPU1 and CPU2
/* Enable and set EXTI lines 15 to 10 Interrupt to the lowest priority */
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 2, 0);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
/* Configure the second CPU (CM4) EXTI line for IT*/
HAL_EXTI_D2_EventInputConfig(EXTI_LINE13 , EXTI_MODE_IT, ENABLE);
Then, using HAL_EXTI_D2_EventInputConfig () function configures the EXTI input event EXTI_LINE13 for Domain D2 for the second core (CM4) to receive the interrupt event from the first core (CM7).
I suggest taking a look on how to swap bank. How to configure swap bank on STM32H7 P1. It would help to understand as well how does the two banks of the flash on STM32H745 work.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-03-22 10:19 PM
Hey i don't want to use any memory , I just want to send any type of interrupt from CM7 to CM4 without using any type of memory . I used CM7 send interrupt to CM4 this and add
/* Enable and set EXTI lines 15 to 10 Interrupt to the lowest priority */
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 2, 0);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
this in main.c of cm7 and add
/* Configure the second CPU (CM4) EXTI line for IT*/
HAL_EXTI_D2_EventInputConfig(EXTI_LINE13 , EXTI_MODE_IT, ENABLE);
this in main.c of cm4 i attached the code image with it please go through it .
I just dont able to undarstand how its actually works. please help with same.