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 processors.wiki.ti.com. The site is now set to read only.
On DaVinci mailing list there was some discussion which development tools are required for DaVinci development.
Note: This are the opinions and experiences from developers working with DaVinci since some time. It depends on your specific requirement what really fits you best.
General DaVinci and OMAP3 tooling
Q: What development tools are really required to get started with a DSP-equipped DaVinci? Is the development kit enough? Or do I really need to buy the $6995 or $10995 digital video production bundles? If so, which one is required? Since there seems to be a lot of Linux involved, shouldn't a lot of this stuff be free?
A: This depends on the chip you select! It depends if you have an ARM core on the chip you use or not. On the DM6446 there's an ARM9 and a C6000+ DSP. I use the Linux for the ARM side and the $10995 bundle for the DSP side! I think the difference between the $6995 and $10995 bundle is that one comes with Code Composer Studio and a JTAG emulator. Code Composer Studio is the DSP equivalent of MS Visual Studio.
If you're going to have several developers using DVEVM you can save some by buying "bare" DVEVM directly from Spectrum Digital. It is just ~$1200 and comes with preloaded MVLinux on NAND, but no dev tools. These you get either from MVista for big bucks or from TI as part of the bundle.
In the end it boils down to what you want to do. TI have this 'usage model' - in their eyes you're one (or many) of the following:
- An algorithm developer
- An algorithm integrator (get lots of algos and package into one product, e.g. encode + decode)
- An application developer
The reason TI have split it up like this (and hence the split between the free/cheap Linux tools and the expensive DSP tools) is that there are a lot of existing codecs out there (e.g. a TI MPEG4 encode). If you are only writing the applications that use the codecs, and not the codecs themselves, their idea is that you don't need the expensive tools - you can do it in Linux.
In practice, how well this works will depend on the chip. If you have an ARM core on there, you'll definitely need the Linux side. If you don't, then you'll definitely need CodeComposer studio (CCS).
The DVEVM come with most of the tools you need to get started. If you have an ARM core and intend on using the Montavista Linux OS, then legally you have to purchase the $6995 bundle to get distribution rights (and support). And regarding CCS - if you're going to license standard codecs (xDAIS/xDM compliant) from TI or third parties you don't need it. You only need it if you plan running some proprietary algorithms on the DSP side. You can actually build your own ARM/DSP programs only with free evaluation tools on the DM6446: How to build an ARM/DSP Hello World program on the DaVinci EVM.
By the way... I don't think TI have got this totally right yet. There's a big gap between the Linux tools and the Windows tools. I've found that I've needed to use both, sometimes simultaneously. The Linux tools have a large software framework called "codec engine", that Code Composer knows nothing about! Hopefully in the future they'll get their Code Composer Studio to build all of the stuff that builds in Linux. At the moment it's like they have 2 separate teams that work on the Linux side and DSP side and nobody's got the two talking. My current solution uses the Windows (DOS command prompt) versions of the Linux build tools to build everything with the codec engine framework, and the Code Composer to load the resulting executable in for debugging. It's a bit nasty and for ages I thought there must be a better way, but I haven't found it yet.
Q: Could anyone offer a quick bill of materials outlining what they found to be the basic tools required to:
- get started exploring, and
- finish a production-quality product?
A: I would say for (1) you need the EVM - will give you a good intro. For (2) you'll more than likely require the $10995 jobby! If you can use third party codecs, you may need to pay for them instead of for writing and debugging your own.
Q: What about one of the DaVinci products that doesn't have a DSP, like a DM355?
A: You don't need DSP tools. You will be using the Codec Engine with a bunch of pre-written codecs that use TI-private interfaces to those video accelerators. Some of those codes have licencing fees.
Q: What about OMAP3 products?
A: If you're using a DSP-equipped OMAP3 you will probably want DSP tools. If not, you can save money and switch to a non-DSP version.
Q: Code Composer Studio v4 uses Eclipse. Eclipse runs on Linux. So Code Composer Studio v4 runs on Linux, right?
A: Not yet. The major issue is JTAG driver support.
Q: The TI linux tools will only install on the latest version of RedHat Enterprise (which is no longer free). Can I install it on other Linux systems? When I run /media/dvdram/install I got the error This is an unsupported host system.
A1: To get around this, we installed the tools on RedHat 9 (pretty old now), and then tarred up the directory and plonked it on Fedora Core 6.
A2: Try to edit file /etc/redhat-release (if it is not there on your system, create it) and include
Red Hat Enterprise Linux ES release 4 (Nahant)
in it. Then try installation again.
ARM Linux tooling
See Linux toolchain for DaVinci ARM Linux development.