Author Topic: ISP without boards using reset-pusle method  (Read 4730 times)

Aravindh Krishnamoorthy

  • Guest
ISP without boards using reset-pusle method
« on: May 02, 2003, 01:57:30 am »
Dear Friend,

I am currently doing my project based on the LPC932, and cannot buy a Keil Board. I do not have any programmers (hardware) around, but will need to program my device. I read in the spec sheets of LPC932 that it has a Boot Loader that can automatically program the flash, w/o a external hardware, but w/ a software, using reset triggering. I would like to know if this principle can be used to program my device. I do not have any debugger/programmer board, so is it possible for me to build a ckt to do the same ?
I have very less time left, and have to yet debug all my software. Programming the device has become a problem. In case you can help me with a software and a small h/w design that I can build in some hours, I will be very thankful to you.
In case you know any site that allows free download of such software, please let me know. I cannot buy any hardware now.

Please help me out soon.

With Love,
Aravindh Krishnamoorthy

Andy Ayre

  • ESAcademy Staff
  • Sr. Member
  • *****
  • Posts: 2172
    • View Profile
    • Embedded Systems Academy, Inc.
    • Email
Re: ISP without boards using reset-pusle method
« Reply #1 on: May 02, 2003, 09:14:24 am »
Hi,

I think you must be referring to the "break detection" method of entering ISP mode. To implement this you only need to use a connector for the cable to the PC and an RS-232 transceiver between the connector and the device. The only connections needed are Rxd, Txd and Gnd, passing Rxd and Txd through the RS-232 transceiver.

You can generate a break condition in two ways:

 - use Flash Magic's Start BootROM feature will will transmit a break condition

 - add a switch that connects Rxd on the device to Gnd. Pressing and holding the switch momentarily will generate the break condition.

A break condition is simply a logic zero received for more than one character time.

You need to implement support for the break detect in your code! It must be enabled. You can do this by generating code using the UART module in Code Architect

  www.codearchitect.org

Note however, that if for some reason you incorrectly enable the UART or the break detection, or you disable the UART in your code, or the ISP download of the firmware fails at a critical point while programming the Boot Vector, then you will not be able to reprogram the device again.

Embedded Systems Academy, Inc.
support at esacademy dot com

Aravindh Krishnamoorthy

  • Guest
Re: ISP without boards using reset-pusle method
« Reply #2 on: May 06, 2003, 01:58:47 am »
Dear Andy,

   I am a first time programmer, using LPC932 for my Academic project. As you see, I do not have enough experience in hardware. I use a MAX233 Transreceiver, and nothing else. Two 390ohm resistors b/w transreceiver and IC, Vcc to IC and Gnd. I was told that the IC in the first powerup (or until programmed explicitely) enters the ISP. I used flashmagic, and have not been able to read security bits.
 
  It would be very helpful if you can give me the h/w details (without the Keil Board) for carrying out the same.

  Hope you will do the needful at the earliest.

Yours Sincerely,
Aravindh Krishnamoorthy

Andy Ayre

  • ESAcademy Staff
  • Sr. Member
  • *****
  • Posts: 2172
    • View Profile
    • Embedded Systems Academy, Inc.
    • Email
Re: ISP without boards using reset-pusle method
« Reply #3 on: May 06, 2003, 08:22:07 am »
Go to the Philips web site at www.philipsmcu.com and get application note AN461 - "In-circuit and In-application Programming of the 89C51Rx+/Rx2/66x microcontrollers". It contains a couple of schematic diagrams for the ISP circuitry.

A couple of notes:

  - They use a MAX232 rather than a MAX233, so you will have to make the appropriate changes

  - The LPC932 does not require a 12V programming voltage, but obviously must be connected to the power supply

Once you have verified your circuit is correct, the next step is to use an oscilloscope to look at the signals coming from the PC, after they have passed through the MAX233, what is coming out of the LPC932 and what is being returned to the PC on the RS-232 side.

Embedded Systems Academy, Inc.
support at esacademy dot com