Introduction
The original STR7 USB MassStorageDevice (MSD) example could be found in the past at the
STMicroelectronics page. The example here, I have
ported to the GCC compiler.
Hardware
The STR7 USB-MSD should work on boards which are equipped with a STR710 or STR711 CPU.
I have used a HITEX STR7 evaluation board with an additional memory extension.
|
|
HITEX STR7 |
str7mem |
The memory extension board is equipped with 1MB SRAM and with a MMC/SD card holder. The MMC/SD
card is not supported by this project.
Note: The HITEX STR7 has a separate 48 MHz USB clock!
Software
As mentioned before, the software is ported from the original STMicroelectronics example.
Therefore, firstly I will show you the STMicroelectronics disclaimer:
*********************************************************************************************************************
THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING
INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH SOFTWARE
AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION
WITH THEIR PRODUCTS.
*********************************************************************************************************************
The "SimpleBuffer" was used for this example. Compared against the original I
have changed the following files:
- 71x_conf.h, added an inline define for the GCC
- hw_config.h, change the start address of the memory to 0x62080000
- hw_config.c, set the memory size to 0x00080000, 512KBytes only
You must change the define in hw_config.h and hw_config.c if you have other hardware.
More documents and files for the STR7 family can be found here.
USB 2.0 Protocol Analyzer
If you are working on a new playground like USB, it is very helpful to have a protocol
analyzer to better understand what is going on the USB wire.
You can use a software-only analyzer which resides on the PC and displays the USB traffic
which is sent from and to the PC.
Or you can use a hardware/software analyzer. The hardware part captures the USB traffic
and sends the information to the PC. Here, the USB data can now be analyzed by a special
software.
The USB Explorer 200 is one of the hardware/software analyzers, more information can be
found at the Ellisys
home page.
The Ellisys software "Visual USB" is available at the Ellisys page, too. The
software comes with some example capture files which you can analyze without the need of
the hardware. Take a look at the Feature Tour
where you can find more information.
More information about the development tools for USB can be found at
USB Central. The USB Explorer
was very helpful for me to understand the details of USB.
A captured session could look like:
(Click inside the picture to expand)
The str7_1.ufo (112 KB) can be downloaded
here. But you need the "Visual
USB" from Ellisys to decode it. Go to this side, and search for "Software and related driver".
Many thanks to Laurent from Ellisys for the support to my USB adventure.
Download
str7mem schematic (361 KB)
Take care, this is a huge file. Owners of Eagle do not need this file.
Eagle 4.0 schematic and board file for str7mem (64 KB)
str7usbmsd for GCC (148 KB)
str7usbmsd for CrossWorks for ARM (142 KB)
Rowley Associates has extended the licensing scheme
to inlcude hobbyists and students with a new Personal License.
|