My pic-kit is not working properly, i have decided to fuse tiny pic boot-loader into all my ic's.

There are 8 hex files(the so called boot-loader) as listed:

  • notinybid16f88.asm
  • tinybid16f.asm
  • tinybid16f88.asm
  • tinybid16f870.asm
  • tinybid16f873.asm
  • tinybid16f873a.asm
  • tinybid16f886.asm
  • tinybid16f887.asm
  • tinybid16f887_8MHz_int.asm
  • tinybid16f88
  • tinybid_16f876A_04MHz
  • tinybid_16f876A_20MHz
  • tinybid16f88_20MHz_115200
  • tinybid16f88_i8MHz_19200
  • tinybid16f886_int4MHz_19200
  • tinybid16f887
  • tinybid16f887_8MHz_int

The controller I prefer the most is 16f877a. Though the hex file for this device is not given directly, I came to know that I can load the hex of 16f876a which belongs to the same family.(i.e., 16f876a~16f877a)

I have a 11.059200Mhz Crystal Oscillator placed in the board.

There are 2 hex files available for 16f876a, one corresponding to 4Mhz and the other one is 20Mhz(last file of the 1st row and the first file of 2nd row, resp).

Since my crystal is none of those two, which file should I choose and why??

Thanks in advance!!

  • \$\begingroup\$ Vicky - Your question is somewhat unclear. I have tried to help out by converting the screenshot to more readable text (use the command-line 'dir' utility in the future, please!), but you still have a lot of extraneous information without critical context that would identify the bootloader contents and the settings that need to be changed for different PICs. \$\endgroup\$ – Kevin Vermeer May 12 '11 at 23:55
  • \$\begingroup\$ If Steve's answer solved your problem, you should mark it as the solution. If you found the answer independently, please feel free to post it and accept your own answer. If you still have not found the solution, please add any new information you've learned to the question to increase your chances of getting an answer. Thanks! \$\endgroup\$ – Kevin Vermeer May 12 '11 at 23:58

You need to use a hex file compiled for your specific pic. Also the part number must be the same. A pic16F877 is not the same as a pic16f877a. The pic oscillator frequency must be the same in the hex files as your hardware is. Either change your crystal to match the hex file, or modify the assembly program written for the boot loader hex file. There is documentation on Microchips web site regarding boot loaders.

A Google search turned up this PIC16 bootloader. Use the assembly program included for your pic16f877(a).The instructions within the assembly will guide you to change the oscillating frequency. Then simply build the new hex file with your new osc. freq..

  • \$\begingroup\$ I can vouch that loading a 16f877a into a 16f876a works. There is a difference in the 877 and the 877a, so that can cause issues(and I have seen it). I believe they only match up if your Ram and Rom use are low, but I have forgotten. \$\endgroup\$ – Kortuk Apr 28 '11 at 0:55
  • \$\begingroup\$ I stand with Kortuk. Hex of Devices of a family, with same flash memory size can be interchanged. \$\endgroup\$ – V V Rao Apr 28 '11 at 4:51
  • \$\begingroup\$ @Vicky Rao Yes, its true that many times within the same family they can be exchanged. However my point was whenever posible to use the code written for the device you are using. There are definite differences between part numbers. Unless you know what the differences are it could create problems \$\endgroup\$ – SteveR Apr 28 '11 at 10:52
  • \$\begingroup\$ I was not disagreeing, just telling you in this situation I think it will not be a source of error. \$\endgroup\$ – Kortuk May 5 '11 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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