This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Data verification failed with TMS320F2808

Other Parts Discussed in Thread: TMS320F2808, CCSTUDIO, SPRC191

Hello,

i'm new in Texas instrument applications and i'n following the tutorial. I'm working with MS320C200DSC Experimenter Kit: docking station and plug-in controlCARD with TMS320F2808. I use USB2000 CONTROLLER Blackhawk and developing with CCStudio versione 3.3.82.13.

Everyting seems to work (properly selected from Setup CCStudio  and kit connected ), but when i have to load the targhet on cip te following message appears:

 "Data verification failed at address 0x3FFFC0.
please verify targhet memory and memory map".

my .cmd file is:

MEMORY
{
   PAGE 0 : PROG(R)     : origin = 0x3E8000, length = 0x10000
   PAGE 0 : BOOT(R)     : origin = 0x3FF000, length = 0xFC0  
   PAGE 0 : RESET(R)    : origin = 0x3FFFC0, length = 0x2
   PAGE 0 : VECTORS(R)  : origin = 0x3FFFC2, length = 0x3E

   PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400
   PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400
   PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000
   PAGE 1 : H0RAM(RW)   : origin = 0x3F8000, length = 0x2000
}
 
SECTIONS
{
   /* 22-bit program sections */
   .reset   : > RESET,   PAGE = 0
   .vectors : > VECTORS, PAGE = 0
   .pinit   : > PROG,    PAGE = 0
   .cinit   : > PROG,    PAGE = 0
   .text    : > PROG,    PAGE = 0

   /* 16-Bit data sections */
   .const   : > L0L1RAM, PAGE = 1
   .bss     : > L0L1RAM, PAGE = 1
   .stack   : > M1RAM, PAGE = 1
   .sysmem  : > M0RAM, PAGE = 1
   .cio     : > M0RAM, PAGE = 1

   /* 32-bit data sections */
   .ebss    : > H0RAM, PAGE = 1
   .econst  : > H0RAM, PAGE = 1
   .esysmem : > H0RAM, PAGE = 1
}

This file seems to me define correcty the memory map of TMS320F2808.

Any suggestion? Thank everyone.

  Massimiliano

 

  • Massimiliano,

    The address 0x3FFFC0 is in the boot ROM of the 280x devices and therefore cannot be loaded. You can add the section type type = DSECT so it won't be loaded/used.

    i.e.       .reset   : > RESET,   PAGE = 0, type = DSECT

    This is described in the assembler users guide (SPRU513)

    The same issue exists with your allocation for the VECTOR section.

    You might want to consider taking a look at the examples in the 280x header files.  These will be setup to run on the 280x device:

    http://focus.ti.com/docs/toolsw/folders/print/sprc191.html

    Cheers

    Lori

  • Tanks for suggestions,

    i changed the .cmd file following your suggestion, defining the RESET and VECTOR sections as DSECT (see below). The compiler and linker again signals 0 errors and 0 warnings, but the same error message is given at the location 0x 3E 8A13( Data verification failed at address 0x3F813 ); this location is in the middle of TMS320F2008 flash memory!  ( sector D )

    (Seems that my program il A13 location long)  

    -stack 400

    -heap 400

    MEMORY
    {
       PAGE 0 : PROG(R)     : origin = 0x3E8000, length = 0x10000
       PAGE 0 : BOOT(R)     : origin = 0x3FF000, length = 0xFC0  
       PAGE 0 : RESET(R)    : origin = 0x3FFFC0, length = 0x2
       PAGE 0 : VECTORS(R)  : origin = 0x3FFFC2, length = 0x3E 

       PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400
       PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400
       PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000
       PAGE 1 : H0RAM(RW)   : origin = 0x3F8000, length = 0x2000
    }
     
    SECTIONS
    {
       /* 22-bit program sections */
       .reset   : > RESET,   PAGE = 0 , type = DSECT
       .vectors : > VECTORS, PAGE = 0 , type = DSECT
       .pinit   : > PROG,    PAGE = 0
       .cinit   : > PROG,    PAGE = 0
       .text    : > PROG,    PAGE = 0

       /* 16-Bit data sections */
       .const   : > L0L1RAM, PAGE = 1
       .bss     : > L0L1RAM, PAGE = 1
       .stack   : > M1RAM, PAGE = 1
       .sysmem  : > M0RAM, PAGE = 1
       .cio     : > M0RAM, PAGE = 1

       /* 32-bit data sections */
       .ebss    : > H0RAM, PAGE = 1
       .econst  : > H0RAM, PAGE = 1
       .esysmem : > H0RAM, PAGE = 1
    }

    If i modify the .cmd indicating that the begining of my program map is in Flash-sector C (0x3EC000) as follow

    PAGE 0 : PROG(R)     : origin = 0x3EC000, length = 0x1000

    the same error is given at location 0x3F CA13, A13 location after the begining ; (The compiler and linker again signals 0 errors and 0 warnings)

    what kind of problem i colud have?

    Thank you

    Massimiliano

  • CCS 3.3 can not load the flash directly.  You need to use the flash programmer plugin.  There should be a little icon with a lighting bolt on it in CCS - that will open up the programmer.

    Lori

  • We have an app note available titled "Flash Programming Solutions for the TMS320F28xxx DSCs" that explains how to program and debug from the flash. This should help:

    http://focus.ti.com/general/docs/techdocsabstract.tsp?abstractName=spraal3

    Regards,

    Tim Love

     

  • ok a solved problem.

    thank you all very mutch.

    Massimiliano

  • Hi Massimiliano,

     

    I am a new F2812 user and met the same problem you encountered before.

     

    How did you solve the problem finally? Or any other user(s) can help me out?  Or where can I find more information to solve such kind of problem? many thanks in advance