Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - microappl

#1
ARM Cortex / LPC11A04 UART ISP [SOLVED]
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.

#2
Old Topics / 89C668H overprogram
March 14, 2004, 02:50:21 PM
I designed a product using 89C668H.
I find a programming yield problem using FM 1.84.
On about 20% of the 668's the chip will jump to a random location and crash while executing the main idle loop.
The failing chip(s) verifie(s) under FM.

If I overprogram the failing chip without erasing it two or three times, this seems to solve the problem.

This would seem to indicate that the 668 ISP programming code has a problem.