The "USB Core" example project illustrates how to use the USB device framework provided by Atmel to create a simple USB application.
This package can be used with the following Atmel evaluation boards:
The software performs the USB enumeration phase by sending simple descriptors to the host computer. On Microsoft Windows, this is enough to have the operating system detect the device and try to install it, despite having no functionality at all.
To verify that the enumeration is done properly, the USB framework output debug traces through the DBGU. Here is the output produced by a normal execution of the application:
-- USB Device Enumeration Project 1.4 --
USB initialization
USBD_Init
Connecting device
Conn Conn Hlr Res
Hlr Res
Hlr EoBRes CfgEpt0
Hlr Susp
Hlr Res
Hlr EoBRes CfgEpt0
Hlr Ept0 Stp Std gDesc Dev Write0(18)
Hlr Ept0 Wr 18 EoT
Hlr Ept0 Rd Ack
Hlr EoBRes CfgEpt0
Hlr Ept0 Stp Std sAddr Write0(0)
Hlr Ept0 Wr 0 EoT SetAddr(1)
Hlr Ept0 Stp Std gDesc Dev Write0(18)
Hlr Ept0 Wr 18 EoT
Hlr Ept0 Rd Ack
Hlr Ept0 Stp Std gDesc Cfg Write0(9)
Hlr Ept0 Wr 9 EoT
Hlr Ept0 Rd Ack
Hlr Ept0 Stp Std gDesc Cfg Write0(20)
Hlr Ept0 Wr 20 EoT
Hlr Ept0 Rd Ack
Hlr Ept0 Stp Std gDesc Qua Stall0
Hlr Ept0 Sta
Hlr Susp
WARNING: on the SAM7X/XC evaluation kit, the project only works in internal flash.
-- USB Device Enumeration Project 1.4 --