Hello list, now I could reproduce the problem here with the original Olimex BLINK example. It will not work, the problem is the checksum.
The startup code looks like: _vectors: ldr PC, Reset_Addr ldr PC, Undef_Addr ldr PC, SWI_Addr ldr PC, PAbt_Addr ldr PC, DAbt_Addr nop /* Reserved Vector (holds Philips ISP checksum) */ In this case the bootloader will start, and not the application. Now I take a look in the openocd manual and found the following information: 13.2.2.1 lpc2000 options flash bank lpc2000 <base> <size> 0 0 <target> <variant> <clock> [calc checksum] ...and the optional keyword calc checksum, telling the driver to calculate a valid checksum for the exception vector table. If I use now the calc_checksum options in my cfg file: flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 calc_checksum I got the following output from OpenOCD: > flash write_image main.hex 0x0 Verification will fail since checksum in image(0xe1a00000) written to flash was different from calculated vector checksum(0xb9205f84). To remove this warning modify build tools on developer PC to inject correct LPC vector checksum. wrote 756 byte from file main.hex in 0.171875s (4.295455 kb/s) The new checksum was calculated, and the program is working. An other solution is, to change the startup code like: _vectors: ldr PC, Reset_Addr ldr PC, Undef_Addr ldr PC, SWI_Addr ldr PC, PAbt_Addr ldr PC, DAbt_Addr .word 0xb9205f84 In this case the correct checksum is set, and the program should work too. Attached is the main.hex file which should work with the lpc2148 without the calc_checksum key. LED1 and LED2 are flashing. Best regards, Michael
main.hex
Description: Binary data
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development