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

    High Voltage Switching for Energy Recovery
    Wire loop theft alarm
    Pseudorandom-sequencer
    Motion Control Sensor Interface
    simple electronic delay detonator
    60 Watt Guitar Amplifier
    Power Supply For USB Devices
    Metal Detector MkII



    Top