Maybe check the AVR application notes here as well.http://www.atmel.com/products/microcontrollers/avr/megaAVR.aspx?tab=documents
AVR276: USB Software Library for megaAVR with USB Microcontrollers
(file size: 10255299, 27 pages, revision A, updated: 01/2007)
This application note describes the USB software library for megaAVR with USB and illustrates how to develop a USB device or reduced host applications using this library.
AVR277: On-The-Go (OTG) add-on to USB Software Library for megaAVR with USB
(file size: 197131, 15 pages, revision A, updated: 07/2007)
This application note describes the new features brought by the OTG working group and how they are integrated in the USB software library for megaAVR with USB, illustrating how to develop customizable USB OTG applications.
AVR280: USB Host CDC Demonstration on megaAVR with USB
(file size: 1684150, 14 pages, revision A, updated: 09/2007)
This application note describes how to start and implement a Host CDC application using the STK525 or USBKEY starter kit, and finally introduces a simple example of dual USB-UART bridge between two PCs.
AVR282: USB Firmware Upgrade for megaAVR with USB
(file size: 754660, 13 pages, revision A, updated: 01/2008)
This application note describes how to perform the firmware upgrade of the megaAVR with USB products using the on-chip bootloader and FLIP software.
AVR298: USB Audio Demonstration with ATmega32(16)U4
(file size: 209845, 8 pages, revision A, updated: 11/2008)
This application note describes a simple audio project. It allows to quickly test USB hardware using the ATMega32U4 without any driver installation.
Atmel AVR4023: FLIP USB DFU Protocol
(file size: 143KB, 15 pages, revision A, updated: 03/2012)
This application note describes the FLIP USB DFU Protocol. To perform firmware upgrade, Atmel has developed a Flexible in-system programmer (FLIP). This software allows performing In-System Programming from an USB host controller without removing the part from the system or without a preprogrammed application, and without any external programming interface.
The "Other Documents" section might have something useful as wellhttp://www.atmel.com/products/microcontrollers/avr/megaAVR.aspx?tab=documents
The Novice Guide to AVR Development
Construct an ATA Hard Drive Controller