PK x(HU U $ AN00125_mass_storage_class/.xproject
2.0.2
PK x(Hl # AN00125_mass_storage_class/.project
AN00125_mass_storage_class
com.xmos.cdt.core.ModulePathBuilder
org.eclipse.cdt.managedbuilder.core.genmakebuilder
clean,full,incremental,
com.xmos.cdt.core.LegacyProjectCheckerBuilder
com.xmos.cdt.core.ProjectInfoSyncBuilder
org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
full,incremental,
org.eclipse.cdt.core.cnature
org.eclipse.cdt.managedbuilder.core.managedBuildNature
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
com.xmos.cdt.core.XdeProjectNature
PK x(H\@ # AN00125_mass_storage_class/Makefile# The TARGET variable determines what target system the application is
# compiled for. It either refers to an XN file in the source directories
# or a valid argument for the --target option when compiling.
# In this case, the target depends on the build configuration.
TARGET = SLICEKIT-U16
# The APP_NAME variable determines the name of the final .xe file. It should
# not include the .xe postfix. If left blank the name will default to
# the project name
APP_NAME = app_mass_storage_demo
# The flags passed to xcc when building the application
# You can also set the following to override flags for a particular language:
#
# XCC_XC_FLAGS, XCC_C_FLAGS, XCC_ASM_FLAGS, XCC_CPP_FLAGS
#
# If the variable XCC_MAP_FLAGS is set it overrides the flags passed to
# xcc for the final link (mapping) stage.
# These flags define two build configurations - one for U-series
XCC_FLAGS_U = -Wall -O3 -report -DXUD_SERIES_SUPPORT=XUD_U_SERIES -DUSE_XSCOPE=1 -fxscope -lflash
# The USED_MODULES variable lists other module used by the application.
USED_MODULES = lib_usb
#=============================================================================
# The following part of the Makefile includes the common build infrastructure
# for compiling XMOS applications. You should not need to edit below here.
XMOS_MAKE_PATH ?= ../..
include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.common
PK x(H; % AN00125_mass_storage_class/README.rstUSB Mass Storage Device Class
=============================
.. version:: 2.0.2
Summary
-------
This application note shows how to create a USB device compliant to the standard
USB mass storage device class on an XMOS multicore microcontroller.
The code associated with this application note provides an example of using the
XMOS Device Library and associated USB class descriptors to provide a framework for the
creation of a USB mass storage device.
The mass storage framework uses XMOS libraries to provide a bidirectional
mass storage device example over high speed USB.
Note: This application note provides a standard USB Mass Storage Device Class which
addresses Bulk-Only Transport (BOT) or Bulk/Bulk/Bulk (BBB) specification and as a
result does not require drivers to run on Windows, Linux or Mac.
The Peripheral Device Type (PDT) supported in this application note is SCSI (Small Computer
System Interface) Block Command (SBC) Direct-access device (e.g., UHD (Ultra High Definition)
Floppy disk). This example application uses the on-board serial flash M25P16 as its memory device.
Required tools and libraries
............................
* xTIMEcomposer Tools - Version 14.0.0
* XMOS USB Device Library - Version 3.1.0
Required hardware
.................
This application note is designed to run on an XMOS xCORE-USB series device.
The example code provided with the application has been implemented and tested
on the xCORE-USB sliceKIT 1V2 (XP-SKC-U16) core board using USB AB sliceCARD 1V2 (XA-SK-USB-AB)
but there is no dependency on this board and it can be modified to run on any development board
which uses an xCORE-USB series device.
Prerequisites
.............
- This document assumes familiarity with the XMOS xCORE architecture, the Universal Serial Bus 2.0 Specification (and related specifications), the XMOS tool chain and the xC language. Documentation related to these aspects which are not specific to this application note are linked to in the references appendix.
- For descriptions of XMOS related terms found in this document please see the XMOS Glossary [#]_.
- For the full API listing of the XMOS USB Device (XUD) Library please see thedocument XMOS USB Device (XUD) Library [#]_.
- For information on designing USB devices using the XUD library please see the XMOS USB Device Design Guide for reference [#]_.
.. [#] http://www.xmos.com/published/glossary
.. [#] http://www.xmos.com/published/xuddg
.. [#] http://www.xmos.com/published/xmos-usb-device-design-guide
PK x(HxcK* K* &