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

Messages - Je Gold

This is probably not the forum for such a question as Flashmagic deals with ISP (in-system-programming)..Programming from the serial port etc.

Any way... when using IAP   - all events - such as interupts, watchdogs etc should be disbaled while IAP is active.

When the interupt occurs all crcitical registers are not saved on the stack  (unless you save them) etc...and so, a return from interupt has incorrect register values.

Also IAP may require critical timing of the flash programming parameters and your interupt routine has interupted this timing.

Highly recommend you dont interupt flash programming routines like IAP.

General / Re: Programming the 87LPC768
August 08, 2006, 05:47:03 AM
The P87LPC768 is an  EEPROM  (OTP) type as Andrew above has explained.

The programming algorithm and electrical method for programming OTPs (EPROM) style micros is not no generally released by Philips.

Hence you have use a profesional programmer or Universal Programmer.

One such programmer is available from

The recent flash based micro's from Philips  P89Cxxxx and P89LPCxxxx have released information from Philips on how to program them yourself.
(see this web site) and use the flashmagic software.

I think Philips are due for another application note to specifically cater for the P89Vxxx series.... Oh... they just release some.

The progression of Philips P89C51xxxx micro's used application note AN461 available here

Philips have some differences listed here

And migration notes from P89C to P89V here

I can give you "what I think" is the executive summary of the programming hardware differences... using AN461 (prehaps some has a more detail explanation).

- P89C51Rx2 (where x = A, B, C, D)  /PSEN is held low during RESET and release juist after RESET release... and the micro will go in to ISP programming mode

- P89V51Rx2 will alway go in to programme mode after RESET release for 400mS (dependant on XTAL used)... during this time if a 'U" character is received byte micro UART the micro will go in to programming mode....
(so care must be taken  not to "hang" the P89V via random UART messages after RESET).

There is a little more in the Web links I have provided.

LPC9xx/LPC9xxx / Re: FM and lpc935 3 pulses reset
July 11, 2006, 06:37:21 AM
It is a problem because it is not clear in the Philips doc's how NoTouch will benefit the designer....

Perhaps they don't see the NoTouch articles on Flashmagic  

But after they have tried to program a few chips, send questions to this forum...

The fist thing designers want to do is to "shoe horn" some code in to an LPC900 micro and make an LED blink....  without RTFM (Reading the flaming manual) or reading all the NoTouch and other programming doc's.

Some of the older  LPC900 FLashmagic articles relate to older silicon revision and this may also confuse 1st timers with the LPC900 programming.

Perhaps the same question on the same issue needs to be documented or address in otherways - that will limit the same questions about 1st time programming experinces with the LPC900.

This is why I recommend the MCB900 dev kit which works out of the box.

LPC9xx/LPC9xxx / Re: FM and lpc935 3 pulses reset
July 08, 2006, 07:59:52 AM
Hardware entry method as discussed in the Flashmagic manual.... shows that 3 pulses 50uS each are required on the /RST line just after Vdd power up.

I had some difficulty using a digital scope to monitor the 3 pulses and get them to trigger on the scope as there is an initially power up pulse which pre triggers the scope........  but I did manage to play around with the trigger settings to finally trigger and see the pulses as decribed in the LPC935 manual and FLashmagic.

And yes - I got ISP hardware entry going.

Becuase the pulses are so fast on the Vdd, /RST and other lines....  capacitance and inductance must be removed .... so they don't slow the edges of the pulses....

Vdd , RST and other signals must maintain their rise time requirements
(so I removed the filter caps - my previous thinking was sprinkle filter caps around on the Vdd lines for digital logic decoupling etc..... but this only applies when the micro is runing in an application).

It is my understanding that Flashmagic and Keil - worked together to build a circuit that can produce the 50uS pulses... using the TxD line and some logic.... the TxD then switches back to normal serial UART function.

ICP is similar in the fact that 7  pulses of 50uS are required to put the LPC900 parts in to ICP mode.

You problem is a common one in which flashmagic have provided the programming doc.

Page 5 of this document

The 920 and upwards can be programmed by ISP (In-System-Programming) via UART and serial port of PC... and Flashmagic s/w.

All new LPC900 parts 8pin ~ 44pin  can be programmed by ICP (but ICP bridge circuit is needed)

Page 5 shows the keil development board circuit (

If you want less problems then I would purchase a Keil the hardware and limited programming software is supplied....... and will allow you to "kick start"  your 1st design....  you can purchase from Keil or

From then..... if you build your own programmer .... and it doesn't work... you can always double check with the MCB900 board.

P89V51Rx2/P89LV51Rx2 / Re: P89V51RD2
May 24, 2006, 02:50:35 AM
Philips have major device comparison list here.

P89V51 Data sheet here

P89C51RD2HBx  data sheet here

This should give you a head start.


Another one....

1.d  ISP   UART Break Dectect

In your startup code like in the NoTouch example  you set a register bit.

Break detect is reported in the status register (SSTAT). A break is detected when
11 consecutive bits are sensed LOW. The break detect can be used to reset the device
and force the device into ISP mode.

So   4 Methods of getting in to ISP mode, 1 for ICP

Joe Gold.
Hi All,

This my understanding - apologies to all for any mis-interpretation.

There are 4 ways to program CODE  SPACE in the LATEST 20 pin or larger LPC900 parts  eg P89LPC920, 922, 931, 932A1, 935, 936, 938 etc

1. ISP    (In System Programming)  via UART of the micro

2. ICP   (In Chip Programming) via a Synchronous CLK, Data lines

3. Parallel Programmer

4.  IAP  (In Applications Programming)  - Your program executes and makes calls to the erase, and programming function calls available from IAP bootcode.

1. ISP

This requires the UART of the micro and a stable Osc source.  If you programmed an external Osc source... and don't have it connected, the next time you program it....  well the UART won't clock and ISP wont work... so remember your Osc source to make it work... the next time.

1.a A Fresh Untouched chip
A "fresh" untouched chip will jump in to ISP programming mode on powerup up  1st time
LPC9xx/LPC9xxx / LPC900 NoTouch ISP
March 18, 2006, 07:47:11 AM
Hi All,

In reference to NoTouch programming method... which seems to be 20 pin'ers and above.

Where is the ISP call address  0xff00 documented and the registers that must be set up before hand?

I couldn't see it in any Philips doc's on the web.

Is 0xff00 ISP call address defined for all LPC900's that can do ISP?
(I think some are different).

Is there any Philips doc on this info?... since NoTouch is a good feature?

I suspect  LPC900 variants may have different ISP call address and setup registers....  any pointers would help.

Thanks in advance

LPC2xxx / Re: USB Bootloader for LPC2148
February 18, 2006, 01:59:09 AM
Hi ,

The LPC2148 and other LPC2000 32bit flash ARM7TDMI-S micros come with a default UART serail boot loader (not USB).

So either Philips would have to pre-load a USB boot loader - for default production  OR a bootloader would have to be written and downloaded serially or via JTAG to each LPC2148 purchased.

Some LPC2000 designs have already written a Bootloader that can load / run your code from a flash mem card (interesting).

There is a good forum on the Philips LPC2000 series (including the LPC2148)

The Flashmagic programming interface is getting quite mature and supported by Philips..... Perhaps a version of Flashmagic can support the LPC2000 series with a little prompting from Philips in the future ;-).

LPC9xx/LPC9xxx / LPC900 ISP and ICP features
February 03, 2006, 10:32:09 PM
Hi All,

Does ICP have supperior features?

Obviously if you use ISP you need a stable clock source. If you program the flash for external xtals or external clock source.... and you forget  or don't have an external source then you can not program the LPC900.
(becuase you need the baud rate gen for the UART... which is dependant on the osc source)

Where as the ICP is self clocking (mode 0 of the UART)

If you have LPC900 flash programmed for a external xtals or external source....  but have not external xtal or source....  Can you still program the LPC900 with ICP?

Does ICP switch back to internal RC OSC?

I would be intertested to hear your thoughts

Thanks in advance

Joe G
LPC9xx/LPC9xxx / Re: ICP H/W and ICP Bridge Code
December 24, 2005, 05:23:18 AM
Hi All,

I found the updated ICP program on  the Yahoo LPC900 User Group along with some notes from the author...

LPC9xx/LPC9xxx / Re: ICP H/W and ICP Bridge Code
December 20, 2005, 08:14:48 AM
Thanks Andy,

I have been all over the Philips site for ver1.6 and any other related doc's.

The last I found was AN10258_2.pdf.

I'll keep chasing them.
LPC9xx/LPC9xxx / ICP H/W and ICP Bridge Code
December 20, 2005, 04:46:10 AM
Hi All,

From the wonderful flashmagic site  I have learnt there is version 1.6 of the ICP bridge code.

Was the bridge code written by Philips or Flashmagic as it only seems to exsist on your web site?

In the latest Philips App's note AN10258 on the ICP subject uses a NPN transistor to switch vdd. Personally  - I would use a volt reg with an on/off control.

Is there any  recent documentation on the updated 1.6 and improved ICP Bridge code?