Mike - K8LH
Well-Known Member
Just got around to testing and debugging a 16F886/887 serial bootloader yesterday that I had written several months ago.
Like my other 16F' bootloaders it resides in the first 256 words of program memory space, uses a "trigger" pin to enter the bootloader during power up or reset, and uses Hyperterminal as the PC "front end".
Transfer standard hex files (which may include holes in program memory space) using the Hyperterminal <Transfer> menu and <Send Text File...> menu item.
I know many people don't like dedicating a pin for the boot loader "trigger" but up 'til now I've always been able to use an existing allocated pin. For example, on many of my projects I include a miniature piezo speaker which I use for switch press beep or other annunciator type functions. If I install a jumper and a pull-up on the speaker pin as shown in the drawing below, the boot loader can detect a high on this "trigger" pin when the jumper is removed or read a low on the pin when the jumper is installed. You can also use an existing switch on the project as the "trigger". Normally you don't press a switch while powering up or resetting a project so pressing the switch during power up or during reset makes a perfect boot loader "trigger".
Regards, Mike
Like my other 16F' bootloaders it resides in the first 256 words of program memory space, uses a "trigger" pin to enter the bootloader during power up or reset, and uses Hyperterminal as the PC "front end".
Transfer standard hex files (which may include holes in program memory space) using the Hyperterminal <Transfer> menu and <Send Text File...> menu item.
I know many people don't like dedicating a pin for the boot loader "trigger" but up 'til now I've always been able to use an existing allocated pin. For example, on many of my projects I include a miniature piezo speaker which I use for switch press beep or other annunciator type functions. If I install a jumper and a pull-up on the speaker pin as shown in the drawing below, the boot loader can detect a high on this "trigger" pin when the jumper is removed or read a low on the pin when the jumper is installed. You can also use an existing switch on the project as the "trigger". Normally you don't press a switch while powering up or resetting a project so pressing the switch during power up or during reset makes a perfect boot loader "trigger".
Regards, Mike
Attachments
Last edited: