This EDMA3 Low Level Driver Release is targeted to the users (device drivers and applications) for submitting and synchronizing with EDMA3 based DMA transfers. This release supports DA830,C6748,TCI6498,TI816X,C6472,TCI6486,TI814X,TI816X,TI811X,TCI6608,TCI6616,TCI6614,C6670,C6678,TCI6638K2K,TDA2xx,TDA3xx, DRA72x, AM335x, AM437x platforms, on SYS/BIOS 6 side & OMAPL138 on SYS/BIOS and ARM side. Porting instructions are also provided to use the package for different platforms and Operating Systems.
EDMA3 LLD is a single product package containing the following stand-alone software components:
EDMA3 Resource Manager can be used independently whereas the EDMA3 Driver requires the Resource Manager services internally.
EDMA3 LLD (both Resource Manager and the Driver) is a platform independent package. Hence it can be used across multiple platforms. Porting instructions are provided for both the components to do the same.
It is also an OS-agnostic package and thus can be used across multiple operating systems. OS-adaptation layer needs to be provided by the user (in case it is needed) for OS customization. Instructions to do the same are also provided along with the package.
The Low Level Driver has already been ported (SYS/BIOS Operating Systems) and tested on various platforms mentioned below. Sample initialization libraries, which configure the EDMA3 hardware and provide the necessary OS abstraction layer, are also a part of the package. These libraries are available both for the EDMA3 Resource Manager and EDMA3 Driver. These could be used for proper initialization of the software component(s) along with the OS adaptation layer for the same.
The Low Level Driver consists of the following packages:
If the memory map of the EDMA is different than the host processor programming it, EDMA3LLD being a low level driver the address translation is not done by this. It is expected that the application will provide the addresses, corresponding to EDMA memory map to configure in PARAM.
The EDMA resources like Channels, PaRAMs and TCCs which are shared by multiple cores (Ex: in TI814X and TI816X), The default configuration file allocates all the resources to every core since the resource split is application dependant. The applications using EDMA3LLD should appropriately allocate the resources in the config files and build EDMA3LLD libraries.
On windows 7 there is a permission issue while building the libs and examples.set the environment variable CYGWIN in the command window where you are building
examples: $set CYGWIN=nontsec
You might have to manually delete the generated files before building.
The following documentation is available:
The following significant changes have been made since 02.11.20:
This release 02.12.01 : EDMALLD is MISRA C compliant for TDA2x, TDA3x, DRA72X and TI814x platforms.
The following IRs are implemented:
Add support for AM335x
Add support for AM437x
The EDMA3 LLD packages are available in the "packages/" subdirectory of the product. If you have a previous release of the EDMA3 LLD product, you can install this release next to it, and modify your application and/or server builds to use this newer release.
This release supports and has been tested on the following devices:
o C67x SYS/BIOS
o C67x SYS/BIOS
o ARM 9 SYSBIOS
Compatibility keys are intentionally independent of Marketing product numbers and are intended to:
Compatibility keys are composed of 3 comma-delimited numbers - M, S, R - where:
This release was built and validated against using the following components:
This release was validated in the following configurations:
o C67x SYS/BIOS
The following are known issues with the current EDMA3 LLD release:
Pre-built instrumented EDMA3 libraries for DA830 will not be provided initially. XDC does not support the same and hence the limitation. See IR# SDOCM00036738 for more details.
Very few peripherals support EDMA3 FIFO mode. EMIF controller doesn't support the same. So EDMA3 CANNOT be used in FIFO mode for doing a memory-to-memory data transfers, EDMA3 being configured in the FIFO mode. Applications trying to use EDMA3 in FIFO mode should first check their respective peripheral-controller document for this mode support.
The PingPong example in the package fails for certain EDMA Instances for some DSP cores in Release mode only. It passes for Debug mode. See IR# SDOCM00064758 for more details.
EDMA3 LLD sample initialization libraries / OS abstraction layers (for different platforms) are located in:
EDMA3 LLD stand-alone applications (for different platforms) are located in:
This product's version follows a version format, M.mm.pp.bb, where M is a 2 digit major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.
To support multiple side-by-side installations of the product, the product version is encoded in the top level directory, ex. edma3_lld_02_12_01_XX.
Subsequent releases of patch upgrades will be identified by the patch number, ex. EDMA3 LLD 02.11.14 with directory edma3_lld_02_12_01_YY. Typically, these patches only include critical bug fixes.
For technical support, Please post at TI E2E forum http://e2e.ti.com/support/embedded/f/355.aspx
Last updated: August xx, 2015