STR7 USB-MSD
Introduction
Hardware
Software
USB 2.0 Protocol Analyzer
Download
 

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.