SDAA545 October 2026 AM2752-Q1 , AM2754-Q1 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62D-Q1 , AM62L , AM62P , AM62P-Q1
Per the AUTOSAR BSW specification, "a CDD shall protect its critical resources by defining critical sections that are handled by the Schedule Manager (SchM) or OS mechanisms."
In conformance with this requirement, CDD DMA uses the Schedule Manager to protect critical resources accessed concurrently from task and ISR contexts; for example, the ring queue and dequeue operations within the UDMA driver, which are shared state that must remain consistent across preemptive execution contexts.
The module defines the exclusive area for this purpose, making sure that all access to these critical resources are guarded by AUTOSAR-compliant critical section entry and exit calls.
Internally, two SchM wrapper functions are defined in Cdd_Dma_Priv.c and registered as OSAL callbacks during initialization:
SchM_Enter_Cdd_Dma_DMA_EXCLUSIVE_AREA_0(); /* disable interrupts */
SchM_Exit_Cdd_Dma_DMA_EXCLUSIVE_AREA_0(); /* restore interrupts */
These callbacks are passed to the underlying UDMA driver at DMA initialization time, so all internal UDMA resource allocation and ring operations use AUTOSAR-compliant critical section protection.
Integrators must make sure that SchM_Cdd_Dma.h is generated by the AUTOSAR toolchain and that the exclusive area DMA_EXCLUSIVE_AREA_0 is defined in the OS configuration. For systems using an AUTOSAR OS, this exclusive area must be mapped to a SUSPEND_ALL_INTERRUPTS or interrupt-level-based implementation depending on the timing requirements of the application.