I have collect together some files here that I believe are not uninteresting for use with GCB. It's about a CDC bootloader for the PIC16F145x chips, whose USB functions can also be used for custom applications. The bootloader appears with a COM port in the Windows Device Manager. Since almost all programming languages can access COM ports, it's relatively easy to write PC applications that can communicate with the own program on the chip.
Here's the background to my project: About 12 years ago, Matt Sarnoff released a bootloader for the PIC16F1454/5/9 chips. Henrik Haftmann significantly improved this bootloader again in 2017. I discovered it a few years ago and only modified it slightly, mainly to make it easier to use. That's why I also wrote my own Windows application for downloading the file. The download process works similarly to the Teensy boards from PJRC (if anyone is familiar with them): When powering on or resetting, you have to hold down the PGM button. This starts the bootloader on the chip. My Windows application automatically finds the correct COM port and then displays the chip name. Now you just have to click the download button, and the download begins. The program will then start automatically.
The configuration words are programmed into the chip along with the bootloader firmware, but allow all GCB frequency settings. Changing the frequency from 48 MHz is only useful if the USB function is not used in the application. The bootloader is 512 program words in size and protected against overwriting.
Unfortunately, a fully automated download from the GCB development environment is not possible if the bootloader firmware is located on the chip being programmed. This is because the USB connection is not necessarily active during application execution, and therefore the chip cannot be reset.
The attached ZIP file contains the bootloader and its documentation, as well as examples of how to use the USB functions in GCB programs.
Hi,
I have collect together some files here that I believe are not uninteresting for use with GCB. It's about a CDC bootloader for the PIC16F145x chips, whose USB functions can also be used for custom applications. The bootloader appears with a COM port in the Windows Device Manager. Since almost all programming languages can access COM ports, it's relatively easy to write PC applications that can communicate with the own program on the chip.
Here's the background to my project: About 12 years ago, Matt Sarnoff released a bootloader for the PIC16F1454/5/9 chips. Henrik Haftmann significantly improved this bootloader again in 2017. I discovered it a few years ago and only modified it slightly, mainly to make it easier to use. That's why I also wrote my own Windows application for downloading the file. The download process works similarly to the Teensy boards from PJRC (if anyone is familiar with them): When powering on or resetting, you have to hold down the PGM button. This starts the bootloader on the chip. My Windows application automatically finds the correct COM port and then displays the chip name. Now you just have to click the download button, and the download begins. The program will then start automatically.
The configuration words are programmed into the chip along with the bootloader firmware, but allow all GCB frequency settings. Changing the frequency from 48 MHz is only useful if the USB function is not used in the application. The bootloader is 512 program words in size and protected against overwriting.
Unfortunately, a fully automated download from the GCB development environment is not possible if the bootloader firmware is located on the chip being programmed. This is because the USB connection is not necessarily active during application execution, and therefore the chip cannot be reset.
The attached ZIP file contains the bootloader and its documentation, as well as examples of how to use the USB functions in GCB programs.
Many thanks to the two developers for their crucial preliminary work:
Matt Sarnoff: https://github.com/74hc595/PIC16F1-USB-Bootloader
Henrik Haftmann: https://heha.fwh.is/ewa/PIC16F145x-Urlader/
Have fun with it
Ralf Pagel