Addendum
Additional materials of interest to Stellaris users
USB Examples for EKx-LM3S3748 Evaluation Kit
USB Boot Loader Demos 1 and 2................................................................................... 3
USB Generic Bulk Device .............................................................................................. 4
USB HID Keyboard Device............................................................................................ 4
USB HID Mouse Device ................................................................................................ 5
USB MSC Device ........................................................................................................... 5
USB Serial Device .......................................................................................................... 5
USB HID Keyboard Host ............................................................................................... 5
USB HID Mouse Host .................................................................................................... 6
USB Mass Storage Class Host........................................................................................ 6
USB Boot Loader Demos 1 and 2
Demonstrate the use of the flash-based USB boot loader
At startup, the application displays a message then branches to the USB boot loader to
await the start of an update. The boot loader presents a Device Firmware Upgrade
interface to the host allowing new applications to be downloaded to flash via USB.
The usb_boot_demoX application can be used along with this application to easily
demonstrate that the boot loader is actually updating the on-chip flash.
The application dfuwrap, found in the boards directory, can be used to prepare binary
images for download to a particular position in device flash. This application adds a
Luminary-specific prefix and a DFU standard suffix to the binary. A sample Windows
command line application, dfuprog, is also provided which allows either binary images
or DFU-wrapped files to be downloaded to the board or uploaded from it.
The usb_boot_demo1 and usb_boot_demo2 applications are essentially identical to
boot_demo1 and boot_demo2 with the exception that they are linked to run at address
0x1800 rather than 0x0. This is due to the fact that the USB boot loader is not currently
included in the Stellaris ROM and therefore has to be stored in the bottom few KB of
flash with the main application stored above it.
USB Generic Bulk Device
Generic USB device offering simple bulk data transfer to and from the host
The device uses a vendor-specific class ID and supports a single bulk IN endpoint and a
single bulk OUT endpoint. Data received from the host is assumed to be ASCII text and
it is echoed back with the case of all alphabetic characters swapped.
A Windows INF file for the device is provided on the installation CD. This INF contains
information required to install the WinUSB subsystem on WindowsXP and Vista PCs.
WinUSB is a Windows subsystem allowing user mode applications to access the USB
device without the need for a vendor-specific kernel mode driver. A sample Windows
command-line application, usb_bulk_example, illustrating how to connect to and
communicate with the bulk device is also provided as part of the Windows examples
package on the installation CD or via download from
http://www.luminarymicro.com/products/software_updates.html. Project files are
included to allow the examples to be built using Microsoft VisualStudio 2005.
USB HID Keyboard Device
Turns the evaluation board into a USB keyboard supporting the Human Interface
Device class
The color STN display shows a virtual keyboard which can be navigated using the
direction control button on the board. Pressing down on the button presses the
highlighted key, sending its usage code and, if necessary, a shift modifier, to the USB
host. The board status LED is used to indicate the current Caps Lock state and is updated
in response to pressing the ``Caps'' key on the virtual keyboard or any other keyboard
attached to the same USB host system.
The device implemented by this application also supports USB remote wakeup allowing
it to request the host to reactivate a suspended bus. If the bus is suspended (as indicated
on the application display), pressing the Select key will request a remote wakeup
assuming the host has not specifically disabled such requests.
USB HID Mouse Device
Turns the evaluation board into a USB mouse supporting the Human Interface
Device class
Presses on the navigation control on the evaluation board are translated into mouse
movement and button press messages in HID reports sent to the USB host allowing the
evaluation board to control the mouse pointer on the host system.
USB MSC Device
Turns the evaluation board into a USB mass storage class device
The application will use the microSD card for the storage media for the mass storage
device. The screen will display the current action occurring on the device ranging from
disconnected, no media, reading, writing and idle.
USB Serial Device
Turns the evaluation kit into a virtual serial port when connected to the USB host
system
The application supports the USB Communication Device Class, Abstract Control
Model to redirect UART0 traffic to and from the USB host system. File
usb_dev_serial_win2k.inf may be used to install the example as a virtual COM port on a
Windows2000 system. For WindowsXP or Vista, usb_dev_serial.inf should be used.
USB HID Keyboard Host
Demonstrates how to support a USB keyboard attached to the evaluation kit board
The display will show if a keyboard is currently connected and the current state of the
Caps Lock key on the keyboard that is connected on the bottom status area of the screen.
Pressing any keys on the keyboard will cause them to be printed on the screen and to be
sent out the UART at 115200 baud with no parity, 8 bits and 1 stop bit. Any keyboard
that supports the USB HID bios protocol should work with this demo application.
USB HID Mouse Host
Demonstrates how to support a USB mouse attached to the evaluation kit board
The display will show if a mouse is currently connected and the current state of the
buttons on the on the bottom status area of the screen. The main drawing area will show
a mouse cursor that can be moved around in the main area of the screen. If the left mouse
button is held while moving the mouse, the cursor will draw on the screen. A side effect
of the application not being able to read the current state of the screen is that the cursor
will erase anything it moves over while the left mouse button is not pressed.
USB Mass Storage Class Host
Demonstrates how to connect a USB mass storage class device to the evaluation kit
When a device is detected, the application displays the contents of the file system and
allows browsing using the buttons.
">