Content originally posted in LPCWare by TKoe on Thu Jan 24 07:15:25 MST 2013
Hello!
I have written my own bootloader for the LPC1788 which is able to overwrite the program flash. Normally the bootloader will just jump to the program's target address, unless the user program writes some EEPROM-Value and soft-resets with the watchdog to enter it programming mode. So:
I have one bootloader-project which is written to address 0x0 (in the MCU settings screen).
I also have one actual project which is written to address 0x6000 (same screen).
So far, this worked like a charm. Now I programmed a .bin file that was created by LPCXpresso (4.3) and I noticed that the user program doesn't work anymore. I am sure that this bootloader worked in another project just fine, so I am a bit confused about what changed.
Reprogramming with LPCXpresso's .axf file still yields a working user program, so does using the .hex file with Flash Magic. Just the .bin file with my bootloader fails. Then I tried to program the .bin file with LPCXpresso's programmer dialog, since I wanted to see if the user program would work (also the dialog seemed to support it). The user program doesn't work and I got some (sorry...) error message right after programming. After that, whenever trying to use LPCXpresso for programming it tells me that "the target is not debuggable" [1]. Flash Magic still works, but I don't want to use that.
What is going on here?!
[1]
<code>
LPCXpresso Debug Driver v4.0 (Sep 19 2012 09:03:19)
Found chip XML file in C:/Blah/Project_name/Debug/LPC1788.xml
02: Failed on connect: Ep(01). Target marked as not debuggable.
Emu(0): Connected. Was: None. DpID: EDB6. Info: HID32FS12
</code>