Part Number: AM6442
Other Parts Discussed in Thread: AM2434
Could you please confirm whether Arm exclusive accesses can be used reliably for cross-core shared-memory synchronization on AM6442?
Background:
- We are interested in shared-memory communication between Cortex-A53 and Cortex-R5F, and also some shared data visibility for Cortex-M4F.
- For the M4F side, we only need to share 32-bit data.
- For the A53 <-> R5F path, we would like to exchange 64-bit data if that is supported.
- If 64-bit data exchange is not supported or not guaranteed for A53 <-> R5F shared memory, we would also like to confirm whether 32-bit data exchange is supported and recommended instead.
For clarity, the type of Arm exclusives we have in mind is:
- Cortex-R5F: 64-bit exclusives such as LDREXD / STREXD (or 32-bit LDREX / STREX if only 32-bit is supported)
- Cortex-A53: 64-bit exclusives such as LDXR / STXR (or 32-bit word exclusives if only 32-bit is supported)
- We would like to understand this for both shared DDR and shared on-chip SRAM (called MSRAM in MCU+ SDK documentation).
- We reviewed the public MCU+ SDK / IPC / SPINLOCK documentation, but we could not find a clear AM6442-specific statement about global exclusive monitor support (or equivalent support) for A53/R5F shared-memory exclusive accesses on DDR or MSRAM.
- We understand that HW SPINLOCK is available on AM6442. However, in our application, the measured time around the lock/unlock path appears longer than expected, so we are checking whether Arm exclusive accesses can be used as an alternative.
Could you please confirm the following points?
1. Does AM6442 implement a global exclusive monitor, external global monitor, or any equivalent SoC-level mechanism for shared-memory exclusive accesses between A53 and R5F?
2. Are Arm exclusive accesses supported across A53 <-> R5F on shared DDR memory?
3. Are Arm exclusive accesses supported across A53 <-> R5F on shared MSRAM?
4. For the A53 <-> R5F path:
- is 64-bit shared data exchange supported using Arm exclusive accesses?
- if 64-bit is not supported or not guaranteed, is 32-bit shared data exchange supported and recommended?
5. For the M4F side:
- we only need 32-bit shared data visibility / exchange
- is 32-bit shared data exchange supported for M4F with shared DDR and/or MSRAM?
- if there are any restrictions for M4F compared to A53/R5F, please clarify
6. If supported, under what memory attributes are exclusive accesses expected to work correctly?
For example:
- Normal + Shareable + Non-cacheable
- Normal + Shareable + Cacheable
- any limitations related to Inner/Outer Shareable, MMU/MPU settings, cache enable state, write-back/write-through, etc.
- in particular, are exclusive accesses expected to work correctly on DDR and on MSRAM when the region is configured as Normal Shareable Non-cacheable?
7. If Arm exclusives are not guaranteed for A53 <-> R5F shared memory on AM6442, should the HW SPINLOCK module be considered the only TI-recommended hardware primitive for cross-core mutual exclusion?
8. If there is any relevant TRM section, application note, or previous E2E thread for this topic, could you please share it?
We would like to confirm this before finalizing the shared-memory synchronization design.
Thank you.
