Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet RL-CAN RL-USB RL-USB for USB Device Applications RL-USB Device Library RL-USB Device Features RL-USB Device Software Stack RL-USB Device Functions RL-USB Device Source Files RL-USB Device Configuration Audio Device (ADC) Options Communication Device (CDC) - ACM Options Human Interface Device (HID) Options Mass Storage Device (MSC) Options Create USB Device Applications Create ADC Applications Create CDC ACM Applications Create HID Applications Create MSC Applications Create Composite Applications Test USB Device Applications Compliance Tests Test HID Client Application RL-USB for USB Host Applications RL-USB Host Library RL-USB Host Features RL-USB Host Software Stack RL-USB Host Functions RL-USB Host Source Files RL-USB Host Configuration Host Controller Driver Selection Host Controller Driver Configuration Host Class Driver Selection Create USB Host Applications Create USB Host HID Applications HID_Kbd Example Create USB Host MSC Applications Create USB Host Class Driver RL-USB Host Constants and Structures Error constants Speed constants Transaction Packet Type constants Transaction Error Type constants USB Request Block structure (USBH_URB) Endpoint structure (USBH_EP) Driver Capabilites structure (USBH_HCI_CAP) Device Class Instance structure (USBH_DCI) Host Controller Instance structure (USBH_HCI) Host Controller Driver structure (USBH_HCD) USB Concepts USB Transfer Rates USB Network Basic Communication Model USB Protocol Control Transfer Interrupt Transfer Isochronous Transfer Bulk Transfer Descriptors Device Configuration Device Descriptor Configuration Descriptor Interface Descriptor Endpoint Descriptor Device Qualifier Descriptor Example Programs Library Reference Appendix

RL-USB Host Source Files

RL-USB Host Source Files for creating USB Host applications with the RL-USB Library can be found in the folders:

Folder Name Description
\ARM\RV31\INC Contains include and configuration files.
\ARM\RV31\LIB Contains the library files:
USB_ARM_L.LIB,
USB_CM1.LIB and
USB_CM3.LIB.
\ARM\RL\USB\INC Contains USB header files.
\ARM\RL\USB\Config Contains USB configuration template file.
\ARM\RL\USB\Drivers Contains USB Host Controller Driver modules.
\ARM\Boards\Vendor\Board\RL\USB\Host Contains example applications built with the RL-USB Library. Use the projects as templates to create new USB Host applications.

RL-USB Host files in \ARM\RV31\INC:

File Name File Type Layer Description
rl_usb.h Header All layers Contains prototypes of functions exported from the library or imported to the library. No code changes are required.
usb_lib.c Module All layers Packs configuration settings and provides them to the library. The file is included from the module file usb_config.c. No code changes are required.

RL-USB Host files in \ARM\RV31\LIB:

File Name File Type Layer Description
USB_ARM_L.lib Library All layers RL-USB library for ARM7 and ARM9 devices - Little Endian.
USB_CM1.lib Library All layers RL-USB library for Cortex-M1 devices - Little Endian.
USB_CM3.lib Library All layers RL-USB library for Cortex-M3 devices - Little Endian.

RL-USB Host files in \ARM\RL\USB\INC:

File Name File Type Layer Description
usb.h Header Core and Host Controller Driver Main RL-USB header file used to include other USB header files.
usb_adc.h Header Core and Class Driver Contains definitions and structures used by the audio device class such as endpoint, subclasses, audio data formats, audio processing unit, request codes, ...
usb_cdc.h Header Core and Class Driver Contains definitions and structures used by the communication device class such as endpoint, subclasses, sub-types, request codes, ...
usb_hid.h Header Core and Class Driver Contains definitions and structures used by the human interface device class such as subclasses, protocol codes, descriptor types, reports, ...
usb_msc.h Header Core and Class Driver Contains definitions and structures used by the mass storage device class such as subclasses, protocol codes, request codes, SCSI commands, ...
usb_def.h Header Core and Class Driver Contains definitions for device classes, descriptors, pipes.
usbh.h Header Core and Host Controller Driver Contains definitions for USB Host errors, packets, structures, drivers and functions.

RL-USB Host Application files in \ARM\Boards\Vendor\Board\RL\USB\Host:

File Name File Type Layer Description
usb_config.c Module All layers Configures the USB Host Controller and USB Host Classes at compile time. Template file can be found in folder \ARM\RL\USB\Config. Settings for the USB Host Controller Driver and USB Host Class Drivers are available. Modify this file to suit the application requirements.
usbh_ehci_device family.c, usbh_ohci_device family.c
or
usbh_device family.c
Module Host Controller Driver Provides the hardware specific driver functions. Standardized modules are available in the folder \ARM\RL\USB\Drivers. Adapt this file, if no module is provided for the used device.

Source files required to support MSC devices. Use these files in addition to the RL-USB Host source files outlined in the tables above:

File Type Layer Description
File_Config.c Module Application Provides configuration options for FlashFS. Options to define the USB drive letter and cache size are available. Modify the options to suit the application needs.
fs_usbh_msc.c Module Application Provides the USB Host functions to support MSC devices. Modify the code to suit the application needs.
FS_ARM_L.lib Library Application Flash File System library for ARM7 and ARM9 devices - Little Endian.
FS_ARM_B.lib Library Application Flash File System library for ARM7 and ARM9 devices - Big Endian.
FS_CM1.lib Library Application Flash File System library for Cortex-M1 devices - Little Endian.
FS_CM3.lib Library Application Flash File System library for Cortex-M3 devices - Little Endian.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.