Flash Magic Forum

In-System Programming Support => ARM Cortex => Topic started by: microappl on June 10, 2015, 10:06:51 AM

Title: LPC11A04 UART ISP [SOLVED]
Post by: microappl on June 10, 2015, 10:06:51 AM
I solved this. In the bootloader, the UART RXD pin is PIO0_12 and not PIO0_1. I found it in the user manual pin description for PIO0_12.

Anyone successfully program 11A04 via ISP ? We have about 10 PCB designs in the pipe using 11A04. First one does not program via ISP.
Prototype using 11A14 dvk works fine. The 11A04 is WLCSP 20 package so the PIO0_1 pin is also the RXD pin.
First I used FLASHMAGIC thru an FT232RL bridge and 'OR'ed the RXD and RTS pins together with a pullup of course. WHen this did not work I tried ISP mode manually with jumpers and a dumb terminal.
I downloaded a test pgm to toggle a pin via SWD and this works fine. If I GND PIO0_1 on reset the pin toggle code does not run as one would expect if the bootloader is running. At this point if I send '?' chars from the TTY, the 11A04 never responds. I tried many baud rates, etc. It looks like the default UART pins may not actually be the pins the bootloader is mapping as UART.
The spec says nothing about 11A04 remap of ISP pins other than PIO0_1 and RXD share the same pin. I would expect that GNDing PIO0_1 + reset  would enter bootloader and then PIO_1 would become RXD.
Any ideas here?
I can always use SWD download for all the boards in the pipe but since the default  SWD pins are also I2C pins and the design uses I2C,  it is possible to brick the 11A04 if something goes awry the first try. This is why UART ISP would be preferable here.

Title: Re: LPC11A04 UART ISP [SOLVED]
Post by: Andy Ayre on June 11, 2015, 02:53:09 PM
Thanks for updating your post to show the solution!

Andy