I am using P89LPC954 micro-controller from NXP.

  1. In the user manual it was mentioned that microcontroller comes with inbuilt firmware from the factory which is required for entering into ISP mode.

  2. But when i tried to load hex file using chip prog programmer it's not able to load the file into microcontroller(in ISP mode).

  3. My friend suggested that these microcontrollers must be programmed for the first time using parallel programmer and then on wards we will be able to program using ISP mode(chip prog). It worked well.

  4. As manufacturer claims it has inbuilt firmware to use ISP directly why do i need to use the parallel programmer for the first time

Could someone find anything which i'm missing to get the MCU into ISP mode.

Note: HEX file programmed through parallel programmer contains both application code as well as firmware code included as a assembly file.

  • \$\begingroup\$ Perhaps the firmware it comes with is not the same as the firmware loaded with the HEX file. When the new firmware is loaded by the parallel programming then ISP programming is possible. \$\endgroup\$
    – vini_i
    Jul 16, 2016 at 16:22
  • \$\begingroup\$ are you in this mode? do you see the characters echo back? dont use a hex file initally just fake it by typing in characters yourself :100000 and so on. If after baud rate detection you dont immediately start seeing characters echo back you are not in that mode or that firmware has been replaced. \$\endgroup\$
    – old_timer
    Jul 16, 2016 at 21:41
  • \$\begingroup\$ the fact that the factory bootloader can be erased, I wouldnt rely on it and go with something that cannot be removed by the user. \$\endgroup\$
    – old_timer
    Jul 16, 2016 at 21:42

1 Answer 1


The datasheet of controller has information on how to enter the ISP mode. Point 17.9 on page 112 explain:

The boot loader can also be executed by forcing the device into ISP mode during a power-on sequence (see Figure 47). This is accomplished by powering up the device with the reset pin initially held low and holding the pin low for a fixed time after VDD rises to its normal operating value. This is followed by three, and only three, properly timed low-going pulses. Fewer or more than three pulses will result in the device not entering ISP mode. Timing specifications may be found in the data sheet for this device

Hope this helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.