Tutorial: How to Use the Diolan USB Bootloader
Pre-Requisites:
To successfully use and complete this tutorial, you will need to have the following:
- MPLAB IDE (I used v8.33 for this but I'm sure others will work)
- MPASM Compiler
- MCC 18 (I have the academic edition installed)
- Diolan USB PIC Bootloader (Version 0.2.2 for this tutorial)
- Patience
Introduction:
For this tutorial, I will assume that the readers all know what a bootloader is and why to use one. The bootloader provided by Diolan is a very good product. It allows you to update the firmware on a PIC Microchip via USB. Basically, this lets you provide firmware updates to your customers quickly and without much hassle. To prevent the competition from reading your code, the Diolan bootloader uses XTEA encryption (look it up). It allows you to send your users new firmware files that are encoded very thoroughly using a key (password) that you specify. Only you and the device know the password, and since the device is protected, nobody can read it!
Unfortunately, while Diolan did a pretty good job at writing the firmware, they have left many bugs and errors in the code, along with no support. There is a very brief explanation of how the program works, but it does not help most users, who end up constantly at forums looking endlessly for support.
This tutorial aims to show you how to fix these problems by yourself and get your software running without too many modifications to your original code. The problems I intend to help you with are:
- EEPROM Mark Bit not working properly
- User Application never running
- Makefile
- XTEA Encryption