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 at address 0xFFFF00 in CCS v 3.3

Hi 

I am trying to load my program into a custom board having C5510 DSP (using XDS 510USB emulator ). I am able to load other programs in the DSP and the pgm is running in Simulator.

On loading ,  I am getting the error


Data Verification failed at address 0xFFFF00. Please verify target memory and memory map.

My .cmd file is pasted below. Can you please tell me what the problem is????

Regards  -  Sunil


MEMORY

{
PAGE 0:

MMR : origin = 0000000h, length = 00000c0h
SPRAM : origin = 00000c0h, length = 0000040
DARAM0 : origin = 0000100h, length = 0003F00h
DARAM1 : origin = 0004000h, length = 0004000h
DARAM2 : origin = 0008000h, length = 0004000h
DARAM3 : origin = 000c000h, length = 0004000h

SARAM0 : origin = 0010000h, length = 0004000h
SARAM1 : origin = 0014000h, length = 0004000h
SARAM2 : origin = 0018000h, length = 0004000h
SARAM3 : origin = 001c000h, length = 0004000h
SARAM4 : origin = 0020000h, length = 0004000h
SARAM5 : origin = 0024000h, length = 0004000h
SARAM6 : origin = 0028000h, length = 0004000h
SARAM7 : origin = 002c000h, length = 0004000h
SARAM8 : origin = 0030000h, length = 0004000h
SARAM9 : origin = 0034000h, length = 0004000h
SARAM10 : origin = 0038000h, length = 0004000h
SARAM11 : origin = 003c000h, length = 0004000h
SARAM12 : origin = 0040000h, length = 0004000h
SARAM13 : origin = 0044000h, length = 0004000h
SARAM14 : origin = 0048000h, length = 0004000h
SARAM15 : origin = 004c000h, length = 0004000h

CE0 : origin = 0050000h, length = 03b0000h
CE1 : origin = 0400000h, length = 0400000h
CE2 : origin = 0800000h, length = 0400000h
CE3 : origin = 0c00000h, length = 03f8000h

PDROM : origin = 0ff8000h, length = 07f00h
VECS : origin = 0ffff00h, length = 00100h /* reset vector */
}


SECTIONS
{
vectors : {} > VECS PAGE 0 /* interrupt vector table */
.cinit : {} > SARAM0 PAGE 0
.text : {} > SARAM1 PAGE 0

.stack : {} > DARAM0 PAGE 0
.sysstack: {} > DARAM0 PAGE 0
.sysmem : {} > DARAM1 PAGE 0
.data : {} > DARAM1 PAGE 0
.bss : {} > DARAM1 PAGE 0
.const : {} > DARAM1 PAGE 0
.cio : {} > DARAM1 PAGE 0 /* added for debug */

files : {} > DARAM2 PAGE 0 /* User-defined sections */
statvar : {} > DARAM2 PAGE 0
statarry : {} > DARAM2 PAGE 0
tempvar : {} > DARAM2 PAGE 0
temparry : {} > DARAM2 PAGE 0


.fftcode : {} > SARAM2 PAGE 0 /* FFT-specific sections */
.test : {} > DARAM2 PAGE 0
.twiddle : {} > SARAM3 PAGE 0, align(1024)
.input : {} > DARAM3 PAGE 0, align(1024) /* this is due to long-word data memory access */
fft_out : {} > DARAM3 PAGE 0, align(1024)

}
  • Sunil,

    If you know you have an external memory device at this address, then check the status of the MPNMC bit in your device. Section 3.1 of the VC5510 datasheet says this device comes out of reset in MC mode, which places the ROM Bootloader code at address 0xFFFF00 (and therefore the .vectors section cannot be written). Setting this bit to MP mode will only work if you know you have an external memory device on the board. 

    The section vectors is required to set the interrupt vectors in your system. You can debug your code using CCS and do not necessarily need to set the interrupt vector table at this time. However, if you have other interrupt vectors and your board does not have an external memory device at the address above, you will need to relocate the interrupt vector table. Section 3.5 of the VC5510 datasheet has references on how to do it.

    Additional details about the boot process can be found in the bootloader documentation.

    Hope this helps,

    Rafael