4.7. DMA

4.7.1. About This Document

Document Title

User Guide of MCAL DMA Driver

Release Version

MCAL_AM273_09.00.00

Document Version

Version 1.1

Company

Texas Instruments

Document Name

DMA User Guide

4.7.2. Document Revision History

Version

Date

Revision History

Status

Version 1.0

07 Feb 2023

Initial Version

Approved

Version 1.1

24 Jul 2023

Updated as per HTML format.

Approved

4.7.3. Table of contents

  1. Acronyms and Definitions

  2. Functional Overview

  3. Deviations to requirements(Requirement Traceability)

  4. Integration Details

  5. API Description

  6. Configuration Description

  7. Memory Mapping

  8. Memory footprint

  9. Performance

  10. Example Usage

  11. FAQ’s

  12. Test Report (Link to test report)

  13. References

  14. TI Disclaimer

4.7.4. Acronyms and Definitions

Acronyms and Definitions used are presented in below table.

Acronyms

Descriptions

BSW

Basic Software

DET

Default Error Tracer

DMA

Direct Memory Access

MCU

Micro Controller Unit

OS

Operating System

API

Application Programming Interface

HW

Hardware

SW

Software

ISR

Interrupt Service Routine

INT

Interrupt

4.7.5. Functional Overview

4.7.5.1. Brief Overview

This document describes the functionality, API and configuration of the CDD DMA module.

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile

Vendor ID

DMA_VENDOR_ID (44)

Module ID

DMA_MODULE_ID (123)

Supported Platform

AM273x

The DMA module initiates data transfer within peripheral, based on DMA channel configured.

4.7.5.1.1. DMA Driver

The DMA Driver initializes the EDMA module of the microcontroller and the primary purpose of the EDMA controller is to service data transfers programmed between two memory-mapped slave endpoints on the device.

The DMA driver works in interrupt mode only and serves the purpose to transfer the data from one memory to other memory through the external trigger to the EDMA module. The DMA module has 64 DMA channels, which serves the purpose of drives the EDMA modules and transfer the data.

Note

The DMA module is validated only for peripheral only.

This is not the official release for DMA module.

4.7.5.1.2. Initialization

Cdd_Dma_Init() has to be called to initialize the EDMA driver.

4.7.5.1.3. States

None

4.7.5.2. Features Supported and Not Supported

Will be added in next Release

4.7.5.3. Assumptions

None

4.7.5.4. Limitations

None

4.7.5.6. File Structure

Description of static files is provided below:

Static source and header files

Description

CDD_Dma.c

Contains the API’s of the DMA driver to be used by upper layers.

CDD_Dma.h

Contains the implementation of the API’s for DMA driver.

Cdd_Dma_cslr_tpcc.h

Cdd_Dma_cslr_tptc.h

Cdd_Dma_edma.h & Cdd_Dma_edma_lld.h

Contains device specific a function definition, data types and definitions.

Description of generated files is provided below:

Plugin Files

Descriptions

CDD_Dma_Cfg.h

Contains the Precompile switches.

CDD_Dma_Cfg.c

contains the configuration parameters.

4.7.6. Deviations to requirements(Requirement Traceability)

4.7.6.1. Module Requirements

Will be updated in future release

4.7.6.2. Deviation of requirements against AUTOSAR specification requirements

Will be updated in future release

4.7.7. Integration Details

4.7.7.1. Dependency on Other Software Modules

4.7.7.1.1. The DMA Driver dependent modules

None

4.7.7.1.2. Error Handling module

4.7.7.1.2.1. DET

DET errors are not reported

4.7.7.1.2.2. DEM

DEM errors are not reported

4.7.7.1.2.3. Callback Functions

None

4.7.7.1.2.4. Callback Notification

None

4.7.7.2. Hardware - Software - ISR API name mapping

None

4.7.7.3. Scheduling Strategy

4.7.7.3.1. SchM (Optional)

Beside the OS the BSW Scheduler provides functions that module DMA calls at begin and end of critical sections.

4.7.7.3.2. Critical Sections

There is only one kind of critical sections in this driver. Within these sections all read /modify / write accesses to internal DMA driver data structures must be protected. Therefore, switching to tasks that also access DMA has to be avoided and all DMA interrupts have to be suspended. This is handled internally by DMA Driver.

4.7.8. API Description

4.7.8.1. Description of the API’s(Can be referred to Api Guide spec)

Will be updated in future release

4.7.8.2. API’s with Service ID

Will be updated in future release

4.7.8.3. Description on Non Standard API’s

Will be updated in future release

4.7.9. Configuration Description

4.7.9.1. Configuration Variants

The DMA can be configured as Pre-Compile variant, using EB tresos tool.

Variants

Generated Files

Pre-Compile

Cdd_Dma_Cfg.c , Cdd_Dma_Cfg.h

4.7.9.2. Parameter Description

The below parameters are provided in DMA configuration required to driver DMA module:

  1. Parameter “CddDmaInterrupt” should be configured “TRUE”.

  2. The Trigger source should be configured for the DMA channels through container “CddDmaChannelTriggerConfiguration”.

  3. Each instance in the container represents the DMA channels and its respective trigger from external module to the container.

Parameter “CddDmaDmaChannelModule” represents the DMA channel of EDMA module i.e., from 0 to 63.

Parameter “CddDmaChannelTriggerSource” represents the DMA trigger source from external module (such as UART, SPI , Cross Bar etc)

4.7.9.3. Symbolic Names deviations

None.

4.7.9.4. Configuration rules and constraints to enable plausibility checks

None.

4.7.10. Memory Mapping

Memory Mapping Sections

DMA_CODE

DMA_CODE_ISR

DMA_PBCFG

CDD_DMA_START_SEC_VAR_INIT_UNSPECIFIED(.bss)

CDD_DMA_STOP_SEC_VAR_INIT_UNSPECIFIED

CDD_DMA_START_SEC_CONFIG_DATA (.const)

x

CDD_DMA_STOP_SEC_CONFIG_DATA

x

CDD_DMA_START_SEC_CODE(.text)

x

CDD_DMA_STOP_SEC_CODE

x

4.7.11. Memory footprint

Please refer Memory Footprint for more details.

4.7.12. Performance

Not Applicable

4.7.12.1. ISR latency / ISR processing time

Not Applicable

4.7.12.2. API level profiling

Not Applicable

4.7.13. Example Usage

Not Applicable

4.7.14. FAQ’s

None

4.7.16. References

Technical Reference Manual

4.7.17. TI Disclaimer

Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those pertaining to warranty, patent infringement, and limitation of liability.

TI warrants performance of its products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements.

Customers are responsible for their applications using TI components. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards.

TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, license, warranty or endorsement thereof.

Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations and notices. Representation or reproduction o f this information with alteration voids all warranties provided for an associated TI product or service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.

Resale of TI’s products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.

Also see: Standard Terms and Conditions of Sale for Semiconductor Products https://www.ti.com/sc/docs/stdterms.htm

Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265