Free Linux tools streamline DSP coding on TI SoCs
Sep 28, 2010 — by Eric Brown — from the LinuxDevices Archive — 3 viewsTexas Instruments released two free Linux development tools to ease programming of the TMS320C6000 DSP (digital signal processor) included on some DaVinci and OMAP processors. The C6EZRun tool partitions code between the DSP and ARM cores, improving performance and streamlining ARM application ports, while C6EZAccel offers an ARM-side API library of over 130 optimized DSP kernels.
The C6EZRun and C6EZAccel tools let developers more easily leverage the venerable — yet continually expanding — TMS320C6000 family of floating- and fixed-point digital signal processors (DSPs), says Texas Instruments (TI). In this way, ARM developers with little knowledge of the gnarly world of DSP programming can add intensive real-time signal analysis and algorithm processing features to their applications, according to the company.
Touted applications include adding digital room correction capabilities to an audio system, or integrating people-counting capabilities to a video system. Also suggested is an application that would incorporate power measurement and analysis features in a power metering system.
The tools cover key members of TI's five-year-old DaVinci line of ARM/DSP combination system-on-chips (SoCs), as well as the more recent OMAP processors. Most of the OMAP processors combine ARM processors with a digital signal processor (DSP), and in some cases a 3D graphics acceleration chip.
The C6EZRun and C6EZAccel tools both support the ARM9-based OMAP-L137 and its newer, SATA-enabled OMAP-L138 sibling. They also support the ARM Cortex-A8-based, 720MHz OMAP3530 (the original BeagleBoard SoC), and the new, OMAP-like, ARM Cortex-A8-based 1GHz DaVinci DM3730, found on the BeagleBoard-xM (pictured).
In addition, the C6EZRun tool also supports the OMAP3525 (an OMAP3530 without the 3D graphics), while the C6EZAccel is the only one to offer support for the ARM9-based, 720p video-capable DaVinci DM6467.
In the future, the tools will support other floating- and fixed-point DSP + ARM devices, says the company.
Up to 10 times speed-up
The C6EZRun and C6EZAccel Linux development tools allow ARM developers to more easily program the DSP while also improving overall performance, says TI.
The C6EZRun tool is said to create ARM-side interfaces that abstract the DSP, and partitions code between the DSP and the ARM cores. This process offloads the ARM and allows the DSP to efficiently process signal-intensive algorithms, improving performance by as much as 10 times using certain algorithms, claims TI.
C6EZRun is said to offer an interface similar to GNU Compiler Collection (GCC), enabling easier porting of ARM apps to the DSP.
The C6EZAccel tool, meanwhile, provides an ARM-side API library of over 130 optimized DSP kernels, allowing ARM developers to add DSP functionality "and differentiate their product with TI-provided video, audio, and voice codecs," says TI. No DSP programming is required, nor is knowledge of DSP architecture, says the company.
The tools build upon TI's release DaVinci DSP APIs announced in August when the company formally unveiled the DM3730.
"Our regular DSP customers were fine with our earlier development support," TI DaVinci Marketing Manager Juan Gonzales explained to us at the time. "But our ARM-centric customers found the existing DSP tools challenging, so we added the new API support."
Availability
The Linux-based C6EZRun and C6EZAccel software tools are available for free download for the TI processors listed farther above. More information on C6EZRun may be found here, and more on C6EZAccel should be here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.