==== Wellington Boot Loader ====
{{:projects:boot.jpg?200}}
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 [[interfaces:bt0417c|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. [[:tools:gputils|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
[[:projects:pickle|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 [[:projects:easyloader:|Easy-loader]] page.