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.

[2407A] Data Verification Failed error

Other Parts Discussed in Thread: TMS320LF2407A, CCSTUDIO

I am working with a TMS320LF2407A chip on the spectrum digital evaluation module. Our chip recently fried and we just got some more chips in.  I installed the chip and it was able to connect to CCS 3.1.19 just fine without any problems. The problem starts when I tried to load my program, it gave me the error Data Verification failed at address 0x2000. Please verify target memory and memory map.

So I tried another program that was from ti's website http://focus.ti.com/mcu/docs/litabsmultiplefilelist.tsp?sectionId=96&tabId=1502&literatureNumber=spra755a&docCategoryId=1&familyId=917

I also got the same error, but at 0x44 this time. Here is the command linker file:

MEMORY
{
  PAGE 0:    /* Program Memory */
    VECS:           org=00000h,   len=00040h   /* internal FLASH */
    FLASH:          org=00044h,   len=07FBCh   /* internal FLASH */
    EXTPROG:        org=08800h,   len=07800h   /* external SRAM  */

  PAGE 1:    /* Data Memory */
    B2:             org=00060h,   len=00020h   /* internal DARAM */
    B0:             org=00200h,   len=00100h   /* internal DARAM */
    B1:             org=00300h,   len=00100h   /* internal DARAM */
    SARAM:          org=00800h,   len=00800h   /* internal SARAM */
    EXTDATA:        org=08000h,   len=08000h   /* external SRAM  */
}

SECTIONS
{
/* Sections generated by the C-compiler */
        .text:  >   FLASH      PAGE 0   /* initialized */
       .cinit:  >   FLASH      PAGE 0   /* initialized */
       .const:  >   B1         PAGE 1   /* initialized */
      .switch:  >   FLASH      PAGE 0   /* initialized */
         .bss:  >   B1         PAGE 1   /* uninitialized */
       .stack:  >   SARAM      PAGE 1   /* uninitialized */
      .sysmem:  >   B1         PAGE 1   /* uninitialized */

/* Sections declared by the user */
      vectors:  >   VECS       PAGE 0   /* initialized */
}

I also wanted to say that I have little experience messing around with the memory, so I do not exactly know how to write to the memory directly without loading the program.

Any help is greatly appreciated.

Thanks

  • Hi Tommy,

    Which emulator are you using? This is related to emulator error at power-up condition, nothing is wrong with your chip AFAIK.

    You will get this error for different memories at different iterations of connection. It depends upon when emulator faces a discrepancy in hardware- software interface. Have you tried reducing the JTAG clock frequency?

    Regards,

    Sid

  • Thank you for your quick reply, I am using the Spectrum Digital XDS510PP Jtag emulator. The program that I used to interface with the emulator is called SDconfig. I have found the port  and the port mode, but under the speed option it has 0. Is there something different I should do to change the JTag clock frequency? Also, is there a place where I can find what frequencies would work to communicate with the development board? Lastly, I do not quite understand why the emulator would be making the error if it worked fine with the last chip.  Thanks again for your quick help.

    Tommy

  • Hi Tommy,

    Unfortunately, this option of variable JTAG frequencies were introduced from XDS510USB and newer emulator like XDS100v1 and XDS100v2. Such an option doesnt exist for XDS510PP. Have you tried running continuous scan option from SDconfig to check that your JTAG chain isnt faulty, by any chance?

    Regards,

    Sid

  • Sid,

    I cannot find the continuous scan option unfortunately. The only options I have are to verify connection, test connection, and reset. All which produce valid results.

  • Hi tommy,

    I didnt know that continuous scan option is not available in XDS510PP emulator. Its available in the newer versions.

    Is it that you cannot connect to the board at all or the error occurs randomly in between your debugging process? If its not connecting all, have you tried checking it with another board or another emulator, if possible?

    What results does dbgjtag option from command line interface show. This command points out some errors not shown by SDConfig too. you can find out more about it in CCS documentation.

    Regards,

    Sid

  • Sid,

    It connects to the development board just fine. The problem occurs when I try to load a program to the board, it will then give me the error stated in the first message. I think it sounds like the problem has something to do with the memory of the board, but I do not have enough experience.  I will take a look at the command line interface tomorrow to see if there are other debugging techniques that might find the issue at hand. Thank you for your help.

    Tommy

  • I cannot get the dbgjtag program to work with my emulator. I have entered the command 'dbgjtag -d xds510.dll -p 0x378 -rv' to do a verbose reset, just to try to start working with the program.  The output from the program went like this:

     

    C:\CCStudio_v3.1\cc\bin>dbgjtag -d xds510.dll -p 0x378 -rv

    -----[Select and reset the controller]---------------------

    This utility has selected an XDS510 class product.
    This utility will load the adapter 'xds510.dll'.
    This utility will operate on port address '0x0378'.

    An error occurred while soft opening the controller.

    -----[An error has occurred and this utility has aborted]--

    This error is generated by TI's USCIF driver.

    The value is `-118' (0xffffff8a).
    The title is: `SC_ERR_CTL_PORT'.

    The explanation is:
    An invalid controller port value has been used.
    Thus Unified-SCIF will not attempt to detect a controller
    The standard 560 ports are 0x0, 0x1, 0x2 and 0x3.
    The standard EVM ports are 0x0, 0x1, 0x2 and 0x3.
    The standard DSK ports are 0x378, 0x278 and 0x3BC.
    The standard 510 ports are 0x240, 0x280, 0x320 and 0x340.

    I have tried all of the aliases to get to the right port which from sdConfig is 0x378. If you could let me know what exactly I'm doing wrong that would be very helpful.

     

    On another note I was able to do a test loop diagnostics with the JTag through the SDConfig and never returned any errors even with a loop of 100. I am able to connect to my chip as well as read and write data to the program memory through CCS's command line interface.

    I really do not know why I am receiving the errors when I try to load a file. Another thing I have noticed is that each section that tries to use external SRAM gets an error. Any help would be much appreciated.

    Thanks,

    Tommy

  • Hi,

    From what you have mentioned here, 0x378 corresponds to DSK port while 510 corresponds to some other port numbers. The SDConfig shows DSK port number. Have you installed the correct emulator driver version from spectrum digital?

    It might be that you have installed drivers exclusive to DSK and not for XDS510, and dbgjtag is reporting closest match. Check out your emulator driver version and its supported DSPs before going further.

    Regards,

    Sid

  • Hi Sid,

    I just wanted to make sure this all seems relevant since before I switched the chips. I was able to communicate with the dsp and the board through the emulator. Everything was hooked up right then and I have not changed anything but the 2407a chip. Everything else was working before the chip fried. Does it make sense that the emulator could now be the problem?

     

  • Hi,

    If it was working before and you have replaced the chip, then have you checked the integrity of the board, especially the JTAG circuitry to check that all connections on PCB are still valid. Did your chip fry with the emulator connected? Then , there could have been repercussions to the emulator too.

    You can try running the emulator tests without connecting the emulator and check the emulator signals on the oscilloscope using appropriate GND reference. If all signals like TDI, TDO look good, then you can eliminate problem on the emulator side. Also check that emulator is not getting reset and that the emulator drivers havent got corrupted. You can try a fresh installation of emulator drivers too,

    Regards,

    Sid

  • Tommy,

    Based on what I have reviewed on your thread, I suspect this could be an emulator problem:

    I would suggest the following experiment to better understand the problem:

      - Use the same XDS510PP+ emulator and try different F2407A units and check whether you are seeing the same problem. I would also recommend to use the example provided in the TI webpage rather than your own example. If you have problems with multiple units then clearly you might have done something to damage the emulator. Now if the problem is device specific then it is possible you that the device would have been damaged.

     - Another thing that could possibly help is try re-installing the drivers for emulators and retry the above experiments.

    Regards,

    Manoj