LPC2148 Header Board no longer works

I don’t know what I did to it, but it does not work anymore. I can not flash it using JTAG at all. I may have bricked this header board.

Is there any way to recover it and make it usable again?

8-Dale

Use the serial programming interface with the LPC2000 Flash Utility (I think I’ve suggested this before somewhere).

brennen:
Use the serial programming interface with the LPC2000 Flash Utility (I think I’ve suggested this before somewhere).

I tried that with both of the onchip serial ports, and have not had any success. Do I just need RX and TX connected?

8-Dale

linuxguy:
I don’t know what I did to it, but it does not work anymore. I can not flash it using JTAG at all. I may have bricked this header board.

Is there any way to recover it and make it usable again?

8-Dale

If you have loaded code into FLASH that has disabled JTAG or ARM’s clock source, the simplest way to recover is to force your LPC part to start in ISP mode. In ISP mode, your code will not be able to run after reset and the JTAG will be active if you have not enabled CRP, so you can just erase the faulty code with JTAG. The user manual for your part will tell you what must be done to force ISP mode after reset.

–Dave

dshuman:
If you have loaded code into FLASH that has disabled JTAG or ARM’s clock source, the simplest way to recover is to force your LPC part to start in ISP mode.

I think the board is bricked and won't come back. I can't even get OpenOCD to run now. It can't seem find the board. :( I was hoping I could recover it, but it doesn't look like that is going to happen. :( I will just have to get a new board. but I will get the LPC2148 Proto Board or something else this time around.

8-Dale

Did you try to ground the pin P0.14 with a resistor ? this should prevent your code to be executed and the chip should stay “safe” into the ISP bootloader.

This should allow you to use the JTAG to reflash the board. I used this when my board stopped responding because a wrong clock setting.

This is described in the section 21.4 of the datasheet.

gdisirio:
Did you try to ground the pin P0.14 with a resistor ? this should prevent your code to be executed and the chip should stay “safe” into the ISP bootloader.

Yes, I did that.

8-Dale

Have you verified that your serial port to UART converter (i.e., MAX232) circuit is working properly? If it is, you should be able to ground P0.14 and connect up UART0’s RX and TX lines to your level shifter circuit. Then use the LPC2000 Flash Utility to try to communicate with the board. You also have to follow the LPC2000 Flash Utility’s directions when it tells you to reset your board. On occasion, this takes me a couple of tries to get it to work.

Unless you somehow managed to overwrite the on-chip bootloader with JTAG (I’m not sure if this is even possible), I can’t imagine that you would have bricked the chip just by programming it over JTAG. Stranger things have happened, though.

It is possible to damage the JTAG pins, I once replaced an LPC2106 on someone’s board when it happened. It’s advisable to connect the supply last, after the JTAG and any ports have been connected.

Leon

brennen:
Have you verified that your serial port to UART converter (i.e., MAX232) circuit is working properly?

My [[level shifter](http://www.sparkfun.com/commerce/product_info.php?products_id=449) works perfectly.

brennen:
If it is, you should be able to ground P0.14 and connect up UART0’s RX and TX lines to your level shifter circuit. Then use the LPC2000 Flash Utility to try to communicate with the board.

It does not work. The LPC2000 utility can't read the device ID or do anything else. I am using v2.2.3 of the LPC2000 utility.

brennen:
You also have to follow the LPC2000 Flash Utility’s directions when it tells you to reset your board. On occasion, this takes me a couple of tries to get it to work.

I've done all this several times, with no success.

brennen:
I can’t imagine that you would have bricked the chip just by programming it over JTAG. Stranger things have happened, though.

I can't imagine how I did it or even what I did to brick my header board. I have no clue what I did to it and that is a bit frustrating.

8-Dale](http://www.sparkfun.com/commerce/product_info.php?products_id=449)

leon_heller:
It is possible to damage the JTAG pins, I once replaced an LPC2106 on someone’s board when it happened. It’s advisable to connect the supply last, after the JTAG and any ports have been connected.

I don't see how I could have done that though. My header board has remained plugged into the [[JTAG programmer](http://www.sparkfun.com/commerce/product_info.php?products_id=8278).

8-Dale](JTAG USB OCD Tiny - Programmer/Debugger for ARM processors - PGM-08278 - SparkFun Electronics)

If you can’t load programs via RS-232 either, I’d replace the LPC2148.

Leon

leon_heller:
If you can’t load programs via RS-232 either, I’d replace the LPC2148.

I do not have the ability to do that. I will just get a new board.

8-Dale

Its probably the worst case, but can you confirm that your serial/paralel port is still working properly?

Utasmane:
Its probably the worst case, but can you confirm that your serial/paralel port is still working properly?

My PC serial port works fine. I don't know about the serial port on the LPC-2148 though, since I don't have any way to check it. I just know the LPC2000 Flash Utility v2.2.3 can't even read the device ID and won't let me select my chip type.

So, I have a cool keychain now, with the LPC-2148 Header Board. I have ordered a new LPC-2148 Prototype Board which I will have next week.

It still bugs me that I don’t know how I managed to brick the header board.

8-Dale

Here is an update: My Olimex LPC-2148 Header Board works just fine! It was never bricked or bad. I was able to program it using Crossworks for ARM and the CrossConnect Lite JTAG unit. :smiley:

8-Dale