Is it possible to get into ISP mode without switching the Vdd?

Started by antonbeerens, December 03, 2007, 03:14:52 AM

Previous topic - Next topic

antonbeerens

We made a development board where we use a LPC935, to program the processor on location we want to use ISP.

Now we have a problem to get the processor in ISP mode. We want to use the three pulses on the reset but do not want to switch the Vdd. We tried this on a demo board but could not get it working. The scope shows three pulses on the reset but the processor does not go to ISP mode. So is it possible to enter ISP without switching the Vdd?

We want to do this because the LPC will keep running when there is power on any of the IO pins and we do not want to use a driver for the IO.

Any suggestions?

Kind regards,
  Anton Beerens

Andy Ayre

You could enable the break detect feature and send a break condition to RxD, which will place the device into ISP mode.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

erikm

YES, have a look at NoTouch

it is here - search

Read the discussion of NoTouch at the P89C51Rx2 version, use the LPC version.

Erik
erik

antonbeerens

Thank you for your reactions!

Both solutions have a downside. When programming fails it could be that the no touch code is not complete or the uart is not setup properly. In that case there is no way to reconnect to the processor anymore.

I just had contact with NXP and they confirmed that the Vdd must  be switched to get it into ISP mode (to my opinion it should not be called ISP but also ICP). So we have to decide now if we are going to continue with this processor. If we do continue, ICP will probably be used to programm the processor.

Kind regards,
  Anton Beerens

Andy Ayre

ISP and ICP are two different things. ISP is a hardware/software protocol that requires three pulses on the reset line to use. It requires a bootloader in the device (which it comes with) and uses the UART.

ICP is a hardware based protocol that requires seven pulses on the reset line to use. It is more of a low-level protocol than ISP and you need a piece of hardware to generate the signals. For example the FDI USB-ICP interface.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

antonbeerens

No offense but to my opinion ISP and ICP (should?) mean something else.

ICP (In Circuit Programming): meaning you can program the processor without taking it off the board.
ISP (In System Programming): Meaning you can program the processor without taking it out of the system. And normally that automatically means that the processor does not require the Vdd to be switched on and off.

That NXP uses hardware and software for ISP ok but it could also be that you only need hardware. Like with the Silabs processors.

Again no offense but I like to discuss items like this. And my opnion is (not) always true :)


 

Andy Ayre

Well, the bottom line is that if you want to be able to be understood by other people using NXP devices, and you want to locate the right tools for programming NXP devices, you will need to use the NXP terminology.

Each silicon vendor uses different names for the concept of serial flash programming. I am simply giving you the NXP meanings as you are using NXP devices, not my personal opinion as that is irrelevant. Sorry.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

antonbeerens

I understand, now lets hope I can remember it :).

Thank you al for your support!

Je Gold

From within your code you can make a jump to to ISP boot loader. (Vdd is not powered off)

My very poor example code -  is available here http://www.flashmagictool.com/assets/resources/NoTouchLPC93x.zip

The Jump location address is different for different LPC900 micro's (usually based on the flash size).

Comment
To Jump to bootloader ISP mode -- 3 pulses on RESET  after POR are used.... this has the effect of setting the PC (program counter) to the Bootloader ISP address.


You can also write your own bootloader.

Joe

erikm

When programming fails it could be that the no touch code is not complete or the uart is not setup properly. In that case there is no way to reconnect to the processor anymore.

1) NoTouch was never intended for 'development' but for 'update by customer' Once your development is complete, the concerns you bring up should be irrelevant.
2) a 'factory freash' chip arrives in ISP mode, no pulses or other means is needed to program it
3) when using NoTouch for development, also include 'the backdoor'.  Of course this requires that the first upload (from 'factory fresh') is succesful. Quite a few use NoTouch/TheBackdoor for development.
4) I would have a few "easy cuts" on the PCB so, in case of several failures, an external jig could be made to switch Vdd and pulse reset.

Erik
erik