We are currently developing on the ADSP-SC594 and would like some advice regarding inter-core memory access. My development environment is as follows:
Environment:
- Processor: ADSP-SC594
- Core0: ARM Cortex-A5
- Core1: SHARC
- Core2: SHARC
- IDE: CrossCore Embedded Studio 3.0.1.0
- OS: FreeRTOS Version V10.5.1 on Core0 (installed via add-in)
Objective:
We would like to share the L3 memory region between the cores (ARM Core0 / SHARC Core1 / SHARC Core2) and access it safely without interference or conflicts.
Questions:
-
What is the recommended method for accessing the L3 memory region safely between cores, and are there any important considerations or best practices?
-
On the SHARC cores (Core1 / Core2), there are functions such as
(load|store)_exclusive_(8|16|32|64).
Is it possible to use these functions to achieve safe inter-core memory access (e.g., for mutual exclusion)? -
If these functions are not suitable, are there alternative recommended methods for safe memory sharing between cores?
-
On the ARM core (Core0), is there an equivalent function or mechanism to the SHARC (load|store)_exclusive_(8|16|32|64) functions?
-
If there is no equivalent on the ARM core, what would be the recommended way to safely share memory between ARM and SHARC cores?
Any advice or guidance would be greatly appreciated.
Thank you very much for your support.
