Wellington Boot Loader

boot.jpg

Wellington boot loader is a boot loader that supports loading firmware on PIC18 micro-controllers either via UART or the CAN bus.

The loader application has been written for POSIX implementations only, and for CAN bus, only with Linux SocketCAN.

For the UART interface any of a number of serial interfaces may be used which includes bluetooth devices such as the HC-05.

Devices

At this time 192 devices are thought to be supported and here is a list of devices which have been tested during the production of this boot loader.

pic18f13k50
pic18f25k22
pic18f25k50
pic18f26j50
pic18f26k20
pic18f26k40
pic18f26k80
pic18f4520
pic18f4550
pic18f4620
pic18f4685

The pic18f26k80 and pic18f4685 support both serial and CAN Bus.

Licence

Wellington Boot Loader is licensed under the GPL version 3.

Credits and Thanks

Wellington Boot Loader is developed by Darron M Broad with contributions from Gerhard Bertelsmann.

I am grateful to Chiculita Claudiu for Tiny PIC Bootloader as Wellington Boot Loader uses a protocol derived from Tiny PIC bootloader.

Checkout

Wellington boot loader is obtained using mercurial.

hg clone http://hg.kewl.org/pub/wellington
cd wellington

Configure

Configuring Wellington is a simple case of copying a template file for the target device and editing it to suit the target application.

cd boot
cp template.asm myproject.asm
vi myproject.asm

Follow the guide given in the template to create the correct boot loader firmware for your target then build the boot loader. GPUtils must be installed to perform this operation.

make

Program

Now you must program the boot loader onto the target device. This will depend on the programming tool you have available and in this example we use Pickle Microchip PIC ICSP.

p16 lvp program myproject.hex

Once the boot loader hex file is on the target it may be reset whereupon it will listen for a connection from `easy-loader' already installed on the host platform.

Upload

In this final step you now take the application for your target device and upload it to the boot loader which will store it in flash memory.

This process is documented on the Easy-loader page.