|
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.
Introduction, Documentation,
What's New, Upgrade Info, Device Support, Compatibility
Information, Validation Info, Known Issues, Examples, Version Information, Technical Support
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:
Note:
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:
ID |
Headline |
SDOCM00118311 |
Add support for AM335x |
SDOCM00118312 |
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