EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

USB host for mass storage access

Started by Jookie June 2, 2008
 Hello,

as my subject says, I'm starting to develop USB host for mass storage
access. Here are few points which describe my situation:

- I'm a hobbyist, I can't afford to buy an expensive USB stack

- my platform is BlackFin BF531 @ 400 MHz

- I don't want to use any other type of mass storage as a replacement - I
got the SD and MMC cards running at 1.3 MB/s, now I need to add the USB
mass storage

- I need only sector access (read/write), no need for FAT support

- I don't want to use the Vinculum (VNC1L) because the sector access in
VNC1L is only for debuging purposes and gives me only 120 kB/s speed - I
think that I can achieve approx. 500 kB/s speed when the USB mass storage
would be done in the BF531 (with the USB full-speed device - 12 Mb/s)

- because of the results achieved with VNC1L I don't want to use any other
USB mass storage solution in one chip, so the chips like AT43USB380 don't
come in mind

Now... I'm considering the usage of Cypress SL811HS or the NXP ISP1160.
The qhole thing should work like this:

1. chip and USB initialization (the example code for both chips are
available - shouldn't be a problem)

2. device enumeration

3. getting configuraion of connected USB devices (end points description,
max packet sizes, etc.)

>>> N steps <<< - these are the things I don't know - the USB
specification doesn't clear a lot for me N+1. packing the SCSI/ATAPI commands into CBW and CSW structures and communication with the USB mass storage by sending USB packets with these structures - shouldn't be that hard (I've done SCSI-2 device emulation before) Could someone, please, explain to me a little those N steps I need to do? (names of the steps or some little info about them?). Or just point me to some "USB host communication for dummies" page? Best regards, Jookie
On Jun 2, 8:48 am, "Jookie" <j...@kie.sk> wrote:

> as my subject says, I'm starting to develop USB host for mass storage > access. Here are few points which describe my situation: > > - my platform is BlackFin BF531 @ 400 MHz
You might see what the story on the BF-52X/BF-54X devices is, as these are supposed to have USB on-the-go built in.
> - I'm a hobbyist, I can't afford to buy an expensive USB stack
You might check the support in blackfin uclinux for whatever USB device you go with.

The 2024 Embedded Online Conference