Site Index
   Support Home
   C6000 Home
   DaVinci EVM
   Ordering Info.

C6000 Site
Support Site
Main Site

EVMDM642 FAQ (600 MHz version) - 11/20/2003


Flash Programming

Board Support Library

Code Composer Versions

Important Notices

Video Examples

DSP/BIOS Applications


1.1 Flash Base Address Inconsistency in Technical Reference
On page 2-4, in Table 4 the Flash Base address is listed as 0x80000000, which is incorrect. The Flash Base address is 0x90000000 which corresponds to the start of the CE1 address space.

1.2 Restoring Orignal Flash Contents
The Flash on the DM642 EVM contains FPGA data and a small FPGA loader program that configures the FPGA with the FPGA data in Flash on power-up. Instructions to restore the Flash (or upgrade to a newer FPGA revision) can be found in ti\boards\evmdm642\docs\dm642evmbsl.hlp.

1.3 EMIF_DIR Equation in Technical Reference
The EMIF_DIR equation on page 2-6 of the DM642 EVM Technical Reference Manual is incorrect, it should read:

EMIF_DIR <= '1' when (CE1='0' and AOE='0') or
                     (CE2='0' and AOE='0') or
                     (CE3='0' and AOE='0')
                else '0';

Flash Programming

2.1 FlashBurn hangs when programming data above the first 512 Kb
There is a bug in flashburn\fbtc642\fburncmd.c of the 1.00 software release that can keep the Flash outside of page 0 (the first 512 Kb) from being programmed correctly. The code was writing to the correct location in Flash but always checking for status on page 0 so it would hang waiting for programming status to change.

You can download the fix here:

it contains a replacement for the flashburn\fbtc642 directory and a new fbtc642.out (the programming file that Flashburn uses) that replaces the original fbtc642.out in.


Board Support Library

3.1 Repeated calls to EVMDM642_APLL_rset() may fail
The APLL register write functionality was changed between the alpha (version 3) and the production (version 4) implementations of the FPGA. The transmit complete bit must have a 1 written to it to clear it in the production version but the BSL in version 1.00 of the DM642 EVM software contains code for the pre-production boards. The code in ti\boards\evmdm642\lib\evmdm642bsl\evmdm642_apll.c should read as follows:

    void EVMDM642_APLL_rset(Uint16 data)
        /* Force a clear of the transmit complete bit */
        EVMDM642_rset(EVMDM642_ISR, 0x20);

        /* Write data to the APLL */
        *((volatile Uint32 *)(EVMDM642_SYNC_BASE + 4)) = data;

        /* Wait for transmission to complete */
        while ((EVMDM642_rget(EVMDM642_ISR) & 0x20) == 0);

3.2 EVMDM642_AIC23_setFreq() may not set the correct codec frequency
The supported sample rate values in ti\boards\evmdm642\lib\evmdm642bsl\evmdm642_aic23_setfreq.c of the version 1.00 DM642 EVM software corresponds to the 12.288 MHz codec input clock used on the alpha boards instead of the 18.432 MHz used on the production version. The freqtable definition in EVMDM642_AIC23_setFreq() should look like this for an 18.432 MHz audio clock.

    /* Table of supported frequencies */
    static Uint16 freqtable[] = 
        EVMDM642_AIC23_FREQ_8KHZ,  0x07,  // 8000 Hz
        EVMDM642_AIC23_FREQ_16KHZ, 0x2d,  // 16000 Hz
        EVMDM642_AIC23_FREQ_24KHZ, 0x21,  // 24000 Hz
        EVMDM642_AIC23_FREQ_32KHZ, 0x0d,  // 32000 Hz
        EVMDM642_AIC23_FREQ_44KHZ, 0x11,  // 44100 Hz
        EVMDM642_AIC23_FREQ_48KHZ, 0x01,  // 48000 Hz
        EVMDM642_AIC23_FREQ_96KHZ, 0x0f,  // 96000 Hz
        0, 0                              // End of table

This bug does not affect any of the examples because it just happens that none of them actually call EVMDM642_AIC23_setFreq(). The DDK examples use AIC23 setup contained in the DDK drivers and not the BSL functions. The BSL examples in the examples\bsl directory set the sample rate along with the rest of the rest of the AIC23 registers all at once using the EVMDM642_AIC23_openCodec() call.

Code Composer Versions

4.1 Notes on usage with CCS 3.00
The original DM642 EVM CD-ROM was released to work with CCS 2.20.18 and the same content worked semlessly with CCS 2.21. You can continue to use the same content with CCS 3.0 as long as you make the following changes:

  1. If you are using a Spectrum Digital JTAG emulator, download and install CCS 3.0 specific drivers from You should uninstall your existing emulation drivers first (use the Add/Remove Programs option in your Windows Control Panel and look for Spectrum Digital CCS Debug Tools...).

  2. Replace your original GEL file in c:\ti\boards\evmdm642\gel with EVMDM642.gel version 2.02.

The emulation related changes between CCS 2.21 and CCS 3.00 mainly have to do with the what happens on initial connection to the target. In CCS 3.00 the Startup() function in the GEL file is called when CCS starts up but there is a separate function called OnTargetConnect() which is called when the target connection is actually established. Since the target is not actually connected during Startup() on CCS 3.00, the commands in the GEL file that reference the target (like EMIF setup) will fail. The new version of the GEL file breaks commands up beween Startup() and OnTargetConnect() properly. If you have your own custom GEL file from CCS 2.21 you can modify it to work with CCS 3.00 by moving all actions that require an actual target connection to OnTargetConnect().

Important Notices

5.1 Connecting your EVM


When working with the DM642 EVM, be aware that the video inputs, video outputs, JTAG emulator and EVM power supply all have different ground potential levels. You must follow these procedures to prevent damage to your board.

  1. Always attach your JTAG emulator first before any other cables (video inputs/outputs, power) are connected.
  2. When you connect your video input/output cables make sure the video input and video output sources (camera, DVD, etc.) are turned off. After the cables are connected, you should power all inputs and outputs before applying power to the EVM.
  3. Always connect your EVM power supply last after everything else has been connected and powered up.


  1. An XDS560 emulator cannot be manually turned off since it is inside your PC. When you connect the XDS560 to an EVM with nothing else plugged in the EVM's ground will be be brought to the level of your XDS560/PC.

Video Examples

6.1 How to switch the video input from Composite to S-Video?
When working with the video examples involving video input signals, the examples are by default set to use the Composite RCA input. Each example uses the DDK to communicate with the video decoders, and has a variable of type SAA7115_ConfParams for that purpose.

    SAA7115_ConfParams EVMDM642_vCapParamsSAA7115 = {

To reconfigure the example to run S-Video you have to change the analog input format ( aFmt ) in SAA7115_ConfParams from:
Recompile the code and run.

DSP/BIOS Applications

7. 1 Cannot bring up CCS after an application runs out of Flash
When an application that has RTDX enabled runs (whether it is actually used or not) it can prevent CCS from connecting for a debug session. During normal debug where you run the application from CCS you do not run into this because the emulation connection is established BEFORE the code starts running. However, if you load the code via Flash or PCI outside of a debug session you will have problems trying to start Code Composer even though the board and emulator work fine in other situations. You must disable RTDX using the steps below to avoid this issue.

Follow these steps to disable RTDX:

  1. Go to the project view pane and open your CDB file
  2. Right click on Input/Output -> HST-Host Channel Manager and select Properties. Select "None" for the Host Link Type.
  3. Right click on Input/Output -> RTDX- Real-Time Data Exchange Settings and select Properties. Un-check the Enable Real-Time Data Exchange (RTDX) checkbox.
  4. Right click on System -> Global Settings and select Properties. Un-check Enable Real Time Analysis and Enable All TRC Trace Event Classes.

With RTDX disabled, the program can run without blocking emulation connections.

©Copyright 2002-2013 Spectrum Digital, Inc. All Rights Reserved.