cancel
Showing results for 
Search instead for 
Did you mean: 

I am looking for an example for STM32H747 (dual CPU) MCU, best way to share data between processors.

Raghavendra Kandur
Associate II

1. Array of bytes? Read and write between CPUs.

2. Peripheral allocations to CPU1 or CPU2? Should allocation of peripherals handled by only one CPU? What will happen if both CPU's are asking for same peripheral. How to handle this scenario.

1 REPLY 1

Dual core work generally requires a solid understanding of single core and threaded programming. Have some concept about how you're going to partition your design across the cores.

Consider the Hardware Semaphore, several

STM32Cube_FW_H7_V1.7.0\Projects\STM32H747I-DISCO\Examples\HSEM\HSEM_ResourceSharing

The majority of the RAM spaces can be accessed from both cores, you should use fencing and caching commands to ensure the memory is coherent. Look at the memory mapping in the manuals, familiarize yourself with peripherals and resources time to specific cores.

You'd generally design your code better so only one needs to access/use a specific peripheral, if sharing you'd want an ownership mutex/semaphore to arbitrate/control access. Also have an awareness that two thing can happen at once, so if operations need to be sequenced, serialized or owned that you manage them.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..