
AN758
6 Rev. 0.1
4. Firmware Example Overview
The firmware example included with this application note contains the driver, USB stack for the SiM3U1xx, and PC-
side application layer code.
4.1. File Organization
The files included in the USB CDC example are as follows:
generated—directory containing SiM3U1xx hardware initialization files
VirtualSerial—directory containing the virtual COM demo files
CDC_ACM.inf—USB CDC INF file
Descriptors.c—Virtual COM USB descriptors
LUFAConfig.h—Project configuration
VirtualSerial.c—primary application file
LUFA—SiM3L1xx USB stack firmware
Common—common header files
Drivers—USB driver files
Misc—miscellaneous files
USB—USB stack files
Class—USB class files
Device—USB device class files
AudioClassDevice.*—USB audio class implementation
CDCClassDevice.*—USB CDC class implementation
HIDClassDevice.*—USB HID class implementation
MassStorageClassDevice.*—USB mass storage class implementation
MIDIClassDevice.*—USB MIDI class implementation
RNDISClassDevice.*—USB RNDIS class implementation
Host—USB host class files, not implemented by the SiM3U1xx
Common—common driver files
Core—USB Chapter 9 handler files
SiM3U—SiM3U1xx USB hardware control firmware files
Device_SIM3U.*—USB device definitions
Endpoint_SIM3U.*—USB endpoint transition control
EndpointStream_SIM3U.*—USB endpoint stream transition control
USBController_SIM3U.*—USB controller definitions
USBInterrupt_SIM3U.*—USB interrupt handler
USB.h—USB header file
main.c
4.2. LUFA USB Stack
The USB CDC firmware example is based on the LUFA open-source project. LUFA is an open-source complete
USB stack released under the permissive MIT License. It includes support for many USB classes, both for USB
Hosts and USB Devices. For USB Devices, the LUFA stack includes support for Audio Class, CDC Class, HID
Class, Mass Storage Class, MIDI Class, and RNDIS Class.
More information about the LUFA project can be found on the official website: http://www.fourwalledcubicle.com/
LUFA.php.
Kommentare zu diesen Handbüchern