EmbeddedRelated.com
Forums

Production programming of LPC17xx

Started by Tim Mitchell September 29, 2011
Do people here have any experience of JTAG production programming (small batches of 100 or so) for LPC17xx parts?

The small assembly company who build up a lot of our designs for customers do not currently have a way of programming these devices (they mostly do AVR and PIC designs) and have asked us what they should buy.

As far as I can see the only sensibly priced solutions are an Olimex (or similar) JTAG adaptor with OpenOCD, or a Rowley CrossConnect with CrossLoad. The latter has some advantages as we're developing using Crossworks, and I know how good Rowley support is, but it is a lot more expensive and is command line software which we'd probably have to write a front end for. On the other hand it sounds like OpenOCD can be painful to install and get working.

Have I missed an obvious solution?

--
Tim Mitchell

An Engineer's Guide to the LPC2100 Series

> Have I missed an obvious solution?

serial programming, using the on-chip bootloader?

--

Wouter van Ooijen

-- -------
Van Ooijen Technische Informatica: www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: www.voti.nl/hvu

Hi Tim,

Use LPC17xx UART0 ISP and FlashMagic. NXP provides it to make mass programming easier.

Regards,
-daniel
________________________________
From: Tim Mitchell
To: l...
Sent: Thursday, September 29, 2011 7:16 PM
Subject: [lpc2000] Production programming of LPC17xx

Do people here have any experience of JTAG production programming (small batches of 100 or so) for LPC17xx parts?

The small assembly company who build up a lot of our designs for customers do not currently have a way of programming these devices (they mostly do AVR and PIC designs) and have asked us what they should buy.

As far as I can see the only sensibly priced solutions are an Olimex (or similar) JTAG adaptor with OpenOCD, or a Rowley CrossConnect with CrossLoad. The latter has some advantages as we're developing using Crossworks, and I know how good Rowley support is, but it is a lot more expensive and is command line software which we'd probably have to write a front end for. On the other hand it sounds like OpenOCD can be painful to install and get working.

Have I missed an obvious solution?

--
Tim Mitchell

----Original Message----
From: l...
[mailto:l...] On Behalf Of Wouter van
Ooijen Sent: 29 September 2011 12:19 To:
l... Subject: Re: [lpc2000] Production
programming of LPC17xx

> > Have I missed an obvious solution?
>
> serial programming, using the on-chip bootloader?

Unfortunately in all designs so far, uart0 is used for another peripheral or we have had to use the pins for IO

--
Tim Mitchell

Hi Tim,

What I've seen with other people production is they provides '0' ohm resistor between the UART0 and its external peripheral. Then using some fixture jig, they connect the UART with the programmer. As the last step, they will solder the '0' ohm resistor and send to QA for inspection.Some will also use additional connector, which is not installed / soldered, to the UART0 port (because it's cheaper than making the fixture jig).

The other way is using mass programmer, and program the MCU before soldering it. I think Elnec have the product (http://www.elnec.com/search/device-list/?prog=27&man=78). Or you can refer to NXP brochure for other mass programmers that support NXP MCUs (http://ics.nxp.com/literature/other/microcontrollers/pdf/arm.mcu.tools.pdf)

Hope that helps.

Regards,
-daniel
________________________________
From: Tim Mitchell
To: l...
Sent: Thursday, September 29, 2011 7:23 PM
Subject: RE: [lpc2000] Production programming of LPC17xx

----Original Message----
From: l...
[mailto:l...] On Behalf Of Wouter van
Ooijen Sent: 29 September 2011 12:19 To:
l... Subject: Re: [lpc2000] Production
programming of LPC17xx

> > Have I missed an obvious solution?
>
> serial programming, using the on-chip bootloader?

Unfortunately in all designs so far, uart0 is used for another peripheral or we have had to use the pins for IO

--
Tim Mitchell



Probably the cheapest way is to purchase an LPCXpresso board, eg the LPC1114
board and use the programmer on that.

It's often what I revert to using to clear a device that won't program with
any other debuggers.

The boards comes with the code red SW which provides everything that is
needed to program them.

Just cut the tracks on the board between the debugger chip and the LPC1114
and use a cable to connect it you your target.

Regards

Phil.

From: l... [mailto:l...] On Behalf Of
Tim Mitchell
Sent: 29 September 2011 12:16
To: l...
Subject: [lpc2000] Production programming of LPC17xx

Do people here have any experience of JTAG production programming (small
batches of 100 or so) for LPC17xx parts?

The small assembly company who build up a lot of our designs for customers
do not currently have a way of programming these devices (they mostly do AVR
and PIC designs) and have asked us what they should buy.

As far as I can see the only sensibly priced solutions are an Olimex (or
similar) JTAG adaptor with OpenOCD, or a Rowley CrossConnect with CrossLoad.
The latter has some advantages as we're developing using Crossworks, and I
know how good Rowley support is, but it is a lot more expensive and is
command line software which we'd probably have to write a front end for. On
the other hand it sounds like OpenOCD can be painful to install and get
working.

Have I missed an obvious solution?

--
Tim Mitchell



Hi Daniel
I see what you mean, shame I didn't ask this question before we designed the boards as it is now too late to change.

Before starting with the Arm chips we mainly used Atmel AVR, which are programmed through an in-circuit programming header and a range of fairly low-cost programmers are available. I guess I was thinking of the JTAG header the same way and assumed that JTAG programmers would be similarly available.
--
Tim Mitchell

Hi Tim:

For mass programming in Factory environments via JTAG, I would suggest the J-Flasher for ARM from Segger:

http://www.segger.com/cms/flasher-arm.html
Cost: EU$598

This is a stand-alone programmer that can be used to program via the JTAG connector. No need for a PC in the manufacturing line to program (once the code is uploaded to it)

If you have a PC in the production line, I would recommend using the J-Link/ J-Flash Bundle from Segger:

http://www.segger.com/cms/pricelist-j-link-related.html
Cost: EU$498

This uses a PC application to program the MCU flash using a J-Link.

Regards,

Alex

--- In l..., "Tim Mitchell" wrote:
>
> Hi Daniel
> I see what you mean, shame I didn't ask this question before we designed the boards as it is now too late to change.
>
> Before starting with the Arm chips we mainly used Atmel AVR, which are programmed through an in-circuit programming header and a range of fairly low-cost programmers are available. I guess I was thinking of the JTAG header the same way and assumed that JTAG programmers would be similarly available.
> --
> Tim Mitchell
>

Thanks Alexander, the Segger J-Flasher looks just the thing. I totally failed to find that with Google.
--
Tim Mitchell

Use Debian Linux. You could provide a live boot USB drive with everything
on it to program the units. Getting OpenOCD to work is as easy as typing
"apt-get install openocd" and preparing a small script file.

DaveS

On Thu, Sep 29, 2011 at 4:16 AM, Tim Mitchell wrote:

> **
> Do people here have any experience of JTAG production programming (small
> batches of 100 or so) for LPC17xx parts?
>
> The small assembly company who build up a lot of our designs for customers
> do not currently have a way of programming these devices (they mostly do AVR
> and PIC designs) and have asked us what they should buy.
>
> As far as I can see the only sensibly priced solutions are an Olimex (or
> similar) JTAG adaptor with OpenOCD, or a Rowley CrossConnect with CrossLoad.
> The latter has some advantages as we're developing using Crossworks, and I
> know how good Rowley support is, but it is a lot more expensive and is
> command line software which we'd probably have to write a front end for. On
> the other hand it sounds like OpenOCD can be painful to install and get
> working.
>
> Have I missed an obvious solution?
>
> --
> Tim Mitchell
>
>
>