Boot Reset Fuse The Boot Reset Fuse (BOOTRST) can be programmed so that the Reset Vector points to the Boot Flash section start address after reset. Once the user code is loaded, a bootloader command (“start application”) can start ...

Offset Field 15 iProduct 16 iSerialNumber 17 bNumConfigurations 4.3.2 DFU Configuration Descriptor This descriptor is identical to the standard configuration descriptor described in the USB DFU specification version 1.0, with the exception that the bNumInterfaces field must contain the value ...

Device Status 4.5.1 Get Status The Host employs the DFU_GETSTATUS request to facilitate synchronization with the device. This status gives information on the execution of the previous request: in progress/OK/Fail/... bmRequestType 1010 0001b 0010 0001b The device responds to ...

Device State The state reported is the current state of the device up to transmission of the response. The val- ues specified in the bState field are identical to those reported in DFU_GETSTATUS. bmRequestType 1010 0001b 4.5.4 DFU_ABORT request ...

Figure 4-1. SETUP OUT OUT OUT OUT IN The Host sends a DFU_DNLOAD request with Zero Length Packet (ZLP) to indicate that it has completed transferring the firmware image file. This is the final payload packet of a download operation. ...

First Request from Host The Host sends a DFU Download request with a Display command in the data field. Command Identifier Id_display_data 4.7.2 Second Request from Host The Host sends a DFU Upload request. 4.7.3 Answers from the Device ...

Answers from the Device to a Blank Check Command The Host controller sends a GET_STATUS request to the device. Once internal blank check has been completed, the device sends its status. • If the device status is “OK”: the ...

Erasing the Flash The flow described below allows the user to erase the Flash memory. The Full Chip erase command erases the whole Flash. 4.9.1 Request from Host To start the erasing operation, the Host sends a DFU_DNLOAD request ...

Important note: The bootloader performs a watchdog reset to generate the “hardware reset” that allows to exe- cute the application section. After a watchdog reset occurs, the AVR watchdog is still running, thus the application should take care to disable ...

Accessing the Low level Flash Drivers The AT90USB USB bootloader is located in the boot section of the on-chip flash memory, mean- while the bootloader section is the unique memory location allowed to execute on-chip flash memory write operations ...

The API are located at absolute addresses in the USB bootloader firmware and accept specific registers values as parameters. These parameters are compatible with a C compiler calling con- vention and thus can be called directly with function pointer declared ...

Using the USB bootloader for In System Programming Flip software is the PC side application used to communicate with the USB bootloader (Flip is available for free on the Atmel website). For detailed instructions about using Flip and USB ...