LUFA Library - HID Class Bootloader
|
The following list indicates what microcontrollers are compatible with this demo.
The following table gives a rundown of the USB utilization of this demo.
USB Mode: | Device |
USB Class: | Human Interface Device Class (HID) |
USB Subclass: | N/A |
Relevant Standards: | USBIF HID Class Standard Teensy Programming Protocol Specification |
Supported USB Speeds: | Low Speed Mode Full Speed Mode |
This bootloader enumerates to the host as a HID Class device, allowing for device FLASH programming through the supplied command line software, which is a modified version of Paul's TeensyHID Command Line loader code from PJRC (used with permission). This bootloader is deliberatley non-compatible with the properietary PJRC HalfKay bootloader GUI; only the command line interface software accompanying this bootloader will work with it.
Out of the box this bootloader builds for the AT90USB1287 with an 8KB bootloader section size, and will fit into 2KB of bootloader space for the Series 2 USB AVRs (ATMEGAxxU2, AT90USBxx2) or 4KB of bootloader space for all other models. If you wish to alter this size and/or change the AVR model, you will need to edit the MCU, FLASH_SIZE_KB and BOOT_SECTION_SIZE_KB values in the accompanying makefile.
This bootloader uses the HID class driver inbuilt into all modern operating systems, thus no additional drivers need to be supplied for correct operation.
Due to licensing issues, the supplied bootloader is compatible with the HalfKay bootloader protocol designed by PJRC, but is non-compatible with the cross-platform loader GUI. A modified version of the open source cross-platform TeensyLoader application is supplied, which can be compiled under most operating systems. The command-line loader application should remain compatible with genuine Teensy boards in addition to boards using this custom bootloader.
Once compiled, programs can be loaded into the AVR's FLASH memory through the following example command:
The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
None |