Verification will fail since checksum....

Hello,

Debugging works fine and is really fast with open ocd 0.2.0 but i got some warnings i do not know whats wrong.

The strangest one is: Verification will fail since checksum in image(0xe1a00000) written to flash was different from calculated vector checksum(0xa1b11eac).

What could be the reason for this warning?

thanks

mgiaco

  • Open On-Chip Debugger 0.2.0 (2009-07-17-18:08) Release

    $URL: http://svn.berlios.de/svnroot/repos/ope … /openocd.c $

    For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS

    30 kHz

    jtag_nsrst_delay: 200

    jtag_ntrst_delay: 200

    Info : device: 4

    Info : deviceID: 67358712

    Info : SerialNumber: 32OZPDQCA

    Info : Description: Amontec JTAGkey A

    Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)

    Info : JTAG Tap/device matched

    target state: halted

    target halted in ARM state due to breakpoint, current mode: Supervisor

    cpsr: 0x60000013 pc: 0x40000070

    30 kHz

    Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)

    Info : JTAG Tap/device matched

    Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.

    target state: halted

    target halted in Thumb state due to debug-request, current mode: Supervisor

    cpsr: 0xa00000f3 pc: 0x7fffd2c0

    requesting target halt and executing a soft reset

    target state: halted

    target halted in ARM state due to debug-request, current mode: Supervisor

    cpsr: 0xa00000d3 pc: 0x00000000

    1500 kHz

    Info : accepting ‘gdb’ connection from 0

    Warn : acknowledgment received, but no packet pending

    30 kHz

    Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)

    Info : JTAG Tap/device matched

    Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.

    target state: halted

    target halted in Thumb state due to debug-request, current mode: Supervisor

    cpsr: 0xa00000f3 pc: 0x7fffd2c0

    requesting target halt and executing a soft reset

    target state: halted

    target halted in ARM state due to debug-request, current mode: Supervisor

    cpsr: 0xa00000d3 pc: 0x00000000

    1500 kHz

    0xe01fc040: 00000001

    Warn : Verification will fail since checksum in image(0xe1a00000) written to flash was different from calculated vector checksum(0xa1b11eac).

    Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.

    Warn : memory read caused data abort (address: 0x742290e0, size: 0x4, count: 0x2)

    Warn : memory read caused data abort (address: 0xfbffedfe, size: 0x1, count: 0x2)

  • I do not know what i can do to fix this warning: Verification will fail since checksum in image(0xe1a00000) written to flash was different from calculated vector checksum(0xa1b11eac).

    Please can someone give me a hint.

    thanks

    Ignore that.

    The 6th interrupt vector for LPC2000 holds a checksum that validates user code. This checksum is injected by OpenOCD, not the compiler, so genrally the image you’d download from the core would be different than the one you had from the compiler.

    4/3!!

    Yes i know that, but this checksum must be a valid checksum or my programm doesn´t work. It´s weird because the prgram works fine.

    So i ignore that for now but why OpenOCD change this checksum?

    thx

    openocd performs a checksum and compare with checksum in your binary file. Since the compiler won’t generate these checksum for you, it is filled with zeroes.

    openocd will program this checksum into your flash. You can use flashmagic to verify those bytes.

    To eliminate the warning, you might want to fill the checksum in the startup file at the appropriate location

    Hi,

    I had the same problem with the checksum and solved it today

    by installing a newer toolchain.

    Before, my arm-elf-gcc and arm-elf-gdb (Linux version) were from 2006.Here the checksum was calculated wrongly and my application wouldn’t start.

    Now with the compiler and debugger from 2008, everything works fine.

    I also tried to write the checksum myself into startup.s, but it

    was overwritten. The value I inserted there never showed up in

    the warning message.

    Cheers, Khandro