NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

DVEVM and DVSDK overview

From Texas Instruments Wiki
Jump to: navigation, search

The Davinci DVEVM and DVSDK S/W products

There is a mailing list for Davinci Linux discussions available from

An FAQ with some commonly asked questions are kept at DVEVM and DVSDK frequently asked questions.

Supported platforms

Currently the DVEVM (Digital Video Evaluation Module, available from Spectrum Digital or TI) and the DVSDK (Digital Video Software Development Kit) has been released for the DM6446, DM6437 and DM355.

The DM355 DVEVM contains board, DVSDK, 'demonstration version' of montavista pro v4.0' with beta 2.6.10 LSP and costs only $495.


Information about how the audio, speech and video clips that come with the DVEVM can be played back on a Windows host, and how you can create your own video clips is available from Encoding and decoding DVEVM clips.


Changing the memory map from the default on the DVEVM involves many considerations, and a topic discussing these is available from Changing the DVEVM memory map.

Information on how to develop for Linux on the ARM of DaVinci can be found from the Linux Toolchain topic.

Debugging of ARM side applications can be done either using GDB (Debugging remotely on DaVinci using gdb) or Green Hills Multi debugging environment (Debugging on DaVinci using GHS Multi).

To debug the Linux kernel itself, or any flat memory model OS on the ARM, use BDI2000/BDI3000 (Debugging on DaVinci using BDI2000), Lauterbach Trace32 (Debugging on DaVinci using Lauterbach), GHS Multi (Debugging on DaVinci using GHS Multi) or KGDB (Debugging on DaVinci using kgdb, but just for Linux).

The DSP can be debugged using CCS from TI (Debugging the DSP side of a CE application on DaVinci using CCS) or using GHS Multi (Debugging on DaVinci using GHS Multi).

The DVEVM demos and codec servers only cover some of the codecs available for the DM6446. The DVEVM demos enhanced topic discusses some enhancements to the DVEVM demos to support more features.

As of DVSDK 1.40 and later, the Davinci Multimedia Application Interface (DMAI) is used by the demos to access peripherals and codecs.

Usman Ali has made a networked version of the DM6446 encode and decode demos, and a topic discussing this is available from NetworkedEncodeDecode.


Linux can be used as OS on the ARM of DaVinci. See Linux articles in this wiki.

Codec Engine

Codec Engine is the software framework provided with all DVEVM/DVSDK development environments, from dual core (e.g. DM644x and OMAP3) to single core DSP (e.g. DM6437) and single core ARM (e.g. DM365). It provides a hardware independent, robust, open framework for integrating algorithms from various vendors, and software APIs for managing and running the algorithms.

Codec Engine is designed to easily run any XDAIS-compliant codec, with extra support for XDM-compliant codecs. All TI codecs are XDM-compliant, so refer to the Codec Engine and DVSDK documentation/examples on how to integrate them into your system.

For systems that run custom, non-TI, codecs, one possibility is of course to make the codec XDM-compliant. Please refer to XDAIS documentation and examples to learn about XDAIS and XDM (which is a superset of the XDAIS standard). After creating the codec library, the codec producer can then package it using the RTSC Codec And Server Package Wizards to make it ready for consumption by the Codec Engine. This article also gives some info on how to take a codec library, run it through compliance testing and the codec wizard, and then integrate the codec into a real system.

One common misconception is that Codec Engine only runs codecs. In fact, it can run any XDAIS-compliant algorithm. It is truly an 'algorithm engine'. To run a custom, non-codec algorithm you can often use XDM's IUNIVERSAL API. Alternatively, if you already have your own XDAIS-based algorithm interface, you can integrate it into the Codec Engine by writing an extension package. Refer to the 'scale' example described in the Codec Engine Algorithm Creator User's Guide in the Codec Engine's product documentation on how to do so. After defining the interface, Codec Engine can then be used to run an algorithm that implements the interface in the same way it runs XDM-compliant algorithms.

DaVinci trainings

See TIs training for TMS320 Processor page for DaVinci related Workshops, Online Trainings, Webcasts and Seminars.