From Texas Instruments Wiki
What is C6EZAccel?
| C6EZAccel is a free, software development tool from Texas Instruments that allows ARM SoC users access canned DSP software on heterogeneous ARM+DSP devices. The C6EZAccel tool is available for download from the TI website. This page serves as a launch pad to the C6Accel online documentation. Please see the subsequent links for more information on using C6EZAccel.
It is intended to ease development of DSP code on two-core heterogeneous SoC processors from Texas Instruments, specifically targeting ARM+DSP devices. This project is used in systems running ARM Linux and containing a C6000 DSP core (see the list of supported devices).
What Does C6EZAccel Consist Of?
C6EZAccel consists of a DSP algorithm that follows TI's specified algorithm interface called XDAIS. TI also provides a framework called Codec Engine that allows efficient execution of algorithms written using the XDAIS interface. All the codecs that TI provides follow the XDAIS algorithm interface. TI provides these codecs as part of the SW offering for the SoC and recommends the usage of Codec Engine. C6EZAccel also consists of an ARM side library build on top of Codec Engine which provides APIs that allow ARM side application code to invoke execution of XDAIS algorithms on the DSP. This library abstracts the cache management, address translation, parameter passing and error handling from the ARM application
How Does C6EZAccel work?
The ARM application code (or the middleware it uses) calls C6EZAccel using wrapper library APIs and/or codec engine compliant iUniversal APIs which are similar to the VISA APIs used to invoke Audio/Video/Speech codecs. These APIs then pass through the codec engine interface and invoke the C6EZAccel algorithm on the DSP which identifies the function call and executes the appropriate functionality on the DSP using the parameters passed from the application.
Figure: SoC View with C6EZAccel
- Easy-to-use application interface: Easy application interface with simple callable ARM APIs to DSP functionalities
- Extensible and configurable: New algorithms can be added to C6EZAccel by users, using C6EZAccel algorithm as a template.
- Chaining APIs into a tasklist: Capabilty to chain function calls using single API call to the Codec Engine
- Asynchronous and synchronous calling modes: Asynchronous calling mode enables parallel processing on DSP and ARM.
- Complaint with Multimedia framework: C6EZAccel provides optimized canned DSP software in a Codec Engine compliant format.
Why should I use C6EZAccel?
If you are an ARM application developer on TI's SoCs, C6EZAccel is a software tool that enables acceleration by leveraging the DSP on the device. C6EZAccel facilitates acceleration of ARM application by providing it access to optimized, prodcution ready DSP software. Several application developers on TI SoC devices, use the DSP on the SoC for codec operation. For such users, C6EZaccel can enable additional functionalities on the DSP. The codec operation doesn't always consume all the MHz of the DSP. C6EZAccel provides generic signal processing and math functionalities that can be leveraged by the developer to enable best use of the DSP in the application. If you are an application developers on TI's SoCs and you are not making use of the DSP today, the C6EZAccel provides ready to use, optimized DSP kernels that can be invoked from your ARM application. By making use of the DSP to do what it is best at (signal processing and math operations) you can make most efficient use of your SoC resources.
Benefits of Using C6EZAccel
- Easy-to-use: Easy application interface with simple callable ARM APIs to DSP functionalities
- Reduces time to market:Ready to use DSP software reduces learning curve and decreases time to market for ARM applications.
- Portable: The APIs and algorithm are SoC target platform independent.
What Devices Does C6EZAccel Support?
The C6EZAccel project targets two-core heterogeneous SoC processors from Texas Instruments, specifically targeting ARM+DSP devices, which run Linux on the ARM, in particular:
|TI Device Number||ARM Core Type||DSP Core Type||C6EZAccel Version|
|OMAP-L137||ARM926EJ-S||TMS320C674x fixed- and floating-point DSP||v1.x or earlier|
|OMAP-L138||ARM926EJ-S||TMS320C674x fixed- and floating-point DSP||v1.x or earlier|
|OMAP3530/25||ARM Cortex-A8||TMS320C64x+ fixed-point DSP||v1.x or earlier|
|DM3730||ARM Cortex-A8||TMS320C64x+ fixed-point DSP||v1.x or earlier|
|DM6467||ARM926EJ-S||TMS320C64x+ fixed-point DSP||v1.x or earlier|
|DM8168/C6A816X||ARM Cortex-A8||TMS320C674x fixed- and floating-point DSP||v2.x or later|
|DM8148||ARM Cortex-A8||TMS320C674x fixed- and floating-point DSP||v2.x or later|
Note:: Target specific information can be found in the Release Notes.
- C6EZAccel 1.x package is part of the DVSDK 4.00 for OMAP3530/DM3730 and OMAPL138 platforms which can be downloaded here
- C6EZAccel 2.x package is part of the EZ SDK for DM8148/DM8168/C6A8168 which can be downloaded here
- Latest Source releases and other resources are available here.
How do I get Started with C6EZAccel?
Main article: Getting Started using C6EZAccel
This wiki provides information on the the following topics:
- Where To Get It ?
- Minimum system requirements
- How to Install C6EZAccel
- Building the C6EZAccel Package and running the test application
Where Do I find C6EZAccel Documentation ?
C6EZAccel ARM user Documentation
Main article: C6EZAccel ARM user Documentation
Reference guides for C6EZAccel APIs
- C6EZAccel Signal Processing API Reference guide
- C6EZAccel Image Processing API Reference guide
- C6EZAccel Math API Reference guide
C6EZAccel Advanced user guide Documentation
Main article: C6EZAccel Advanced Users Guide
C6EZAccel Example and Demos
- DVSDK 4.00 Out of Box Edge detection demo on DM3730
- DVSDK 4.00 DSP benchmark demo on OMAPL138
- C6EZAccel sobel demo using H.264 codecs
- Signal Analyzer Demo on C6A8168 as part of EZ SDK
[This demo source code can only be obtained along with EZSDK v5.02 or earlier]
C6EZAccel Download and Training
- C6EZAccel Product Folder and Download
- C6EZAccel overview Video
- C6EZAccel Video Training (Coming Soon!)
C6EZAccel Feedback and Support
General Usage Support
If you have issues with or questions about the C6EZAccel project, you can look for support from TI's E2E community forums. It is recommended that you place your question in the device-specific forum (see links below), tagged with 'C6Accel'. The tag is important as it lets the TI support team filter your questions to the right people. Without the tag, responses to your posts may be delayed.
Bug Reports and feature requests
If you believe you have found a bug or if you wish to see a new feature in the future release of the tool, you can report it to the developers list mentioned below and provide as much detail as you can on your requests. Before filing a bug report or a feature request, you may want to post on the TI E2E forums with a question about the issue. It is also recommended that you search or browse forum items to make sure you are not posting a duplicate request of an existing forum post.
Developer Mailing List
The c6accel developers mailing list exists for C6EZAccel users to report issues, submit feature requests and discuss ideas. Please feel free to write to us with any feedback you may have for us.
- iUniversal Codec Creation - from memcpy to Canny Edge Detector
- Example DSPLIB/DSPLink Application on OMAP-L1x
- C6000 DSP Ease-of-Use Tools Overview
Comments on C6EZAccel