cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to share UART interrupt in dual-core microcontrollers in both cores?

David Garcia
Associate II

Hi!

I'm trying to share one UART in both cores of the dual-core STM32H745. I'm using the HAL library.

I've achieved to transmit (in polling mode) from the two cores using a semaphore to manage access to the UART.

However, I can't receive using interrupt on both cores. I have manually activated the interrupt in HAL_UART_MspInit, but it still doesn't work. The CM7 core receives the data but the CM4 not.

I would like to receive data through the same UART in both cores. Is it possible to do what I am trying? Or I would have to pass the data myself from CM7 to CM4? Is it possible to do it on other peripherals like SPI?

Thanks for your help.

This discussion is locked. Please start a new topic to ask your question.
1 REPLY 1
Nikita91
Lead II

Traditionally, the architecture to use in these cases is to use a server:

The server manages the device and makes the data available to the various applications.

In your case, for example, the reception interrupt puts the data in a buffer and signals the applications that have registered (with a semaphore for each application, or a software interrupt for each core, ...)

So you have to design a mechanism to pass the data yourself to CM7 and CM4.