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.

CC430F6137: Data verification of custom bsl image failed

Part Number: CC430F6137
Other Parts Discussed in Thread: MSP430F5438A

Hello everyone,

I'm currently with the CC430F6137 micro and I am in the proces of adapting a custom bsl solution for it. Im following the SLAA450D application note.

However, I seem to be unable to flash a compiled version from CCS v6 due to the following error:

MSP430: File Loader: Verification failed: Values at address 0x0000000000001010 do not match Please verify target memory and memory map.
MSP430: GEL: File: boot.out: a data verification error occurred, file load failed.

Since I work with CCS v6 I had to modify some files from the reference source to accomodate for my compiler version. 

Changes to the command file provided by CCS are made based on device specific datasheet and on the linker file found in \CC430F614x_USCI_UART folder of the MSP430BSL source.

MEMORY
{

... standard allocations ommitted...


ZAREA : origin = 0x1000, length = 0x0010
BSL430_VERSION_VENDOR : origin = 0x1010, length = 0x0001
BSL430_VERSION_CI : origin = 0x1011, length = 0x0001
BSL430_VERSION_API : origin = 0x1012, length = 0x0001
BSL430_VERSION_PI : origin = 0x1013, length = 0x0001
ZAREA_CODE : origin = 0x1014, length = 0x07DC
BSLSIG : origin = 0x17F0, length = 0x000C
JTAGLOCK_KEY : origin = 0x17FC, length = 0x0004

}

SECTIONS
{

... standard allocations ommitted

.ZAREA : {} > ZAREA
.BSL430_VERSION_VENDOR : {} > BSL430_VERSION_VENDOR
.BSL430_VERSION_CI : {} > BSL430_VERSION_CI
.BSL430_VERSION_API : {} > BSL430_VERSION_API
.BSL430_VERSION_PI : {} > BSL430_VERSION_PI
.ZAREA_CODE : {} > ZAREA_CODE
.BSLSIG : {} > BSLSIG
.JTAGLOCK_KEY : {} > JTAGLOCK_KEY

}

I hope anyone could provide some more insight on this.

Kind regards

  • Hello Jens,

    The MSP430 programmer does not properly read single-byte sections of memory (limited to a word), I suggest you group all BSL430_VERSION locations into a single definition 4 bytes in length. A CCS Custom_BSL solution for the MSP430F5438A is provided on the Custom_MSP430_BSL TI Wiki page and could be used as a reference: processors.wiki.ti.com/.../File:CUSTOM_BSL_APP.zip

    Regards,
    Ryan
  • Hello Ryan,

    Thanks for your reply, I will read through the resources you have provided. I followed your suggestion but unfortunatily the problem still exists.

    I modified the linker file memory and section to a single space of 4 bytes. I also modified the source files accordingly, to a single declaration of an array of 4 bytes and adding the DATA_SECTION and RETAIN pragma statements. However, only if leave out the RETAIN statement I can succesfuly upload the bsl source.
    I verified the memory in the debug view and they weren't modified to the values I initialised the array with. As is probably what the RETAIN pragma is needed for.

    Could I somehow made a wrong setting in the project properties that prevents the data verification to succeed?
  • You should not need a RETAIN pragma, just a DATA_SECTION like shown in the CUSTOM_BSL example I provided. Make sure that BSL430_Version is actually used inside of the code (transmitted by UART) or else the optimizer will most likely remove it.

    Regards,
    Ryan
  • Ok, following the example provided solved the verification error this time.

    Apparently I had a different folder of the custom bsl loaded in code composer. That one has version 8 of the command interpreter in which they demonstrated usage of the RETAIN pragma.

    Thanks for your responses

**Attention** This is a public forum