USB Bootloader

Posted on Feb 6, 2014

The bootloader can be used for the all USB PIC devices (PIC18F4550, PIC18F4455, PIC18F2550, PIC18F2455, PIC18F4553, PIC18F4458, PIC18F2553, PIC18F2458). Since the bootloader is designed for the Microchip demo board, the configurationof the bootloader possibly will not fit for your project. E. g. you want to use another pin for bootloader mode entry or you do not want to spend 4 pins/LED`s

USB Bootloader
Click here to download the full size of the above Circuit.

for displaying the current status. Fortunately, the source code of the bootloader firmware is available. It is written in C language. It can be compiled with Microchip`s C18-Compiler, even with the free version of the compiler. In the directory USB Device - BootloadersVendor Class - MCHPUSB BootloaderBootloader - Firmware for PIC18F4550 Family Devices you find the project file MCHPUSB. mcp which has to be opened with MPLAB. In the project file the path settings point to the default C18 compiler directory c:mcc18. If you have installed the compiler in a different directroy, you have to modify the path settings in MPLAB. To do this, select "Project - Build options - Project" from the MPLAB menu after opening the project file MCHPUSB. mcp. In this dialog go into the "Directories" tab and change the modify the Now you can build the project via "Project - Build All". If you use the free version of the C18 compiler, the linker will fail since the generated code exceeds the boot block size. To fit the bootloader into the bootblock, we can stirp unnecessary functions from the source code, like code for showing the status of the bootloader via 4 different LEDs. Here the code parts which can be removed without loosing bootloader functionality:. /* P R I V A T E P R O T O T Y P E S */ -> remove prototype //void BlinkUSBStatus(void);. . . void BootService(void) { -> remove call to BlinkUSBStatus //BlinkUSBStatus(); if(usb_device_state...

Leave Comment

characters left:

Related Circuits

  • New Circuits



    Popular Circuits

    16 LED Chaser
    Audio-Frequency Meter Circuit
    10 Band Graphic Equalizer Circuit
    Arithmatic Logic Unit
    simple tiny door guard
    Single transistor audio mixer
    Touch Panel System Using Mc34940/mc33794 E-field Sensors
    Automatic sprinkler control circuit
    F733 integrated amplifiers common emitter - common base wideband amplifier circuit