This manual describes Bootloader for PIC18F4455 microcontroller, its compilation, usage and customization.
Bootloader is a resident program, that resides in the lower 2048 bytes of the PIC microcontroller flash memory. It can program the remaining memory without necessity to use any external hardware (like ICD2 programmer). Bootloader receives data from PC through USB bus and writes it into the PIC microcontroller memory.
Bootloaders utilizes the most common interfaced to communicate with PC. Some of them are RS-232 and USB. It is only possible to use the particular interface when both PC and microcontroller have it.
It contrast to most other bootloaders, PIC USB Bootloader doesn't require any HW changes in your device. It uses the standard USB interface of PIC18F4455 microcontroller.
Bootloader utilizes memory self-programming ability of PIC18F4455 microcontrollers. Once burned into the microcontroller flash memory, bootloader can repeatedly reprogram it without expensive chip writers or ICSP (In-Circuit Serial Programmer).
XTEA encryption algorithm protects user mode application from unauthorized copying. The encryption password together with the bootloader is burned into microcontroller flash memory during device production. To update the user mode application, you can send the encrypted file to customer. This application will only work fine on the devices containing the same bootloader with the same password. Any attempt to install this program into device with another password will result in complete inoperability. Bootloader itself and the password is protected by internal microcontroller configuration bits. Nobody can read it from the microcontroller.