0
\$\begingroup\$

I am using NXP P89LPC954 microcontroller. I am having problem with In System programming(ISP). When i solder it on my board for the first time and try to burn hex file into it using phython chip prog, all the process i.e burning the hex file and verifying after burning, everything goes fine in the chip prog software. But the microcontroller does not behave as per the code.

When I burn the same hex file using "universal programmer"(De-soldered microcontroller inserted in the Device pins ) having parallel port, it works fine. Once the code is burnt using parallel port device, from next time onwards i'm able do the isp programming.

Actually i was told that we must dump any microcontroller for the first time using universal programmer only to make it compatible for isp. But what i feel is if that is the case then why not the manufacturer does that by default(As it is not user program dependent)

Is it required to program all microcontrollers for the first time using parallel port universal programmer only,to make it compatible for isp??

asked Oct 15, 2015 at 13:58
\$\endgroup\$
3
  • \$\begingroup\$ Wild guess: does your software per chance includes a bootloader which enables this ISP feature? \$\endgroup\$ Commented Oct 15, 2015 at 14:22
  • \$\begingroup\$ Where is your question, if I may ask? We cannot answer any questions about why a manufacturer made a decision or in/excluded something in their design. You probably should check at the manufacturer if you really want an answer. \$\endgroup\$ Commented Oct 15, 2015 at 14:23
  • \$\begingroup\$ Yes bootloader is given by manufacturer in the assembly format and i have included in my project also. \$\endgroup\$ Commented Oct 15, 2015 at 14:44

1 Answer 1

0
\$\begingroup\$

ISP typically requires a bootloader, so when you flash the bootloader (together with your software) the first time, you have to do it via the parrallel port. From this moment, you can also use ISP since the bootloader is there to handle the necessary communication.

As to why the manufacturer didn't flash the bootloader at the fab, there may be multiple reasons. Maybe there are several bootloaders out there, and there is no reasonable default. Maybe it's an intellectual property question - the price of the bootloader may be included in the software package price, not in the microcontroller price. Maybe you have to specify that you need the bootloader flashed when you buy the part.

answered Oct 15, 2015 at 15:00
\$\endgroup\$
2
  • \$\begingroup\$ What you said is absolutely right. But manufacturer has mentioned in the ISP document that the firmware for ISP is loaded into the microcontroller as factory default. But still i'm facing the issue. \$\endgroup\$ Commented Oct 15, 2015 at 17:06
  • \$\begingroup\$ Maybe a different bootloader is flashed at production time, or the same bootloader is configured differently, resulting in your programmer not being supported. \$\endgroup\$ Commented Oct 16, 2015 at 7:00

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.