News & Analysis

How to write an algorithm for DSP video processing with TI's DM6446 EVM

Texas Instruments E2E Community

5/4/2009 2:53 PM EDT

Editor's Note: These design tips were selected and answered by Juan Gonzales from Texas Instruments' E2E (Engineer to Engineer) online community resource.

Question 1: For a TI DM6446 evaluation module (EVM), which system is better " Linux or Windows? Is Code Composer Studio (CCS) + Windows better? If using Linux, which development tools are best for developing the DSP side?

Answer: For developing DSP algorithm, CCS running under windows is your best choice. At the current time, CCS does not run under Linux. TI includes the tool chain (compiler, linker, DSP/BIOS, etc.) as part of digital video software development kit (DVSDK) installation rather than a full blown IDE such as CCS (which includes toolchain under Windows).

Question 2a: For the video processing algorithm, I want to write an algorithm to detect the edge of an object.

Answer: The scenario above is handled by the DVSDK software architecture so you have less software (hopefully just DSP algorithm) to write yourself.

Question 2b: Do I need to fetch video data from a block of DDR2 since this block is just written by VPFE (video processing front end) so that the data should be an array of one dimension?

Answer: This is taken care of by the V4L2 (VPFE) Linux video driver running on ARM.

Question 2c: Next, do I ask the DSP to deal with the array using the algorithm?

Answer: In this step, the DSP does not actually fetch the buffer. The ARM side application, which opened the V4L2 driver in the step above, passes the DSP the buffer pointer via codec engine API (codec engine is framework developed by TI). On a related note, please note that buffers shared between ARM and DSP reside in CMEM (contiguous memory manager developed by TI) Unlike the ARM, the DSP does not have a virtual memory manager, and thus assumes the memory buffer is contiguous (easier on the DSP video algorithm developer). Also note that only buffer pointers are passed back and forth between ARM and DSP since they both have access to CMEM space CMEM does reside in DDR2 space.

Question 2d: Should the processed array be sent back to the block of DDR2 because at this time this block will be sent to VPBE?

Answer: The DSP algorithm processes buffer. Please note that in order to fit into our codec engine framework, DSP algorithm must be eXpressDSP Digital Media (xDM) compliant. xDM is based on XDAIS, which requires DSP algorithms to ask for resources rather than take them directly. This enables DSP algorithms from different vendors to play nicely together.


print

email

rss

Bookmark and Share

Joinpost comment




Please sign in to post comment

Navigate to related information

Product Parts Search

Enter part number or keyword
PartsSearch

FeedbackForm