[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] Finally USB support on Spartan3E-500 REV D Starter Kit



Do I have to build a new filesystem. I think it is not nesessary. I need just a simple method to send and receive data to and from the flash memory. I mean if there is a way to avoid the mounting (just talking directly to the Flash memory) that will be fine.

--- On Wed, 7/30/08, John Williams <jwilliams@xxxxxxxxxxxxxx> wrote:
From: John Williams <jwilliams@xxxxxxxxxxxxxx>
Subject: Re: [microblaze-uclinux] Finally USB support on Spartan3E-500 REV D Starter Kit
To: microblaze-uclinux@xxxxxxxxxxxxxx
Date: Wednesday, July 30, 2008, 7:06 AM

Mostafa Ali wrote:
> Is there any simple way like the usb-serial driver?

usb-serial is for usb devices that implement a serial (tty-like) 
protocol.  They require a USB host controller - if you had one of these 
you'd just be able to plug a flash drive in directly and use it.

The problem with the Vinculum is that it implements a (simple) host 
controller and protocol stack *inside* the device.  It's designed to 
make life easy talking to USB flash drives if your system is some little 
8-bit microcontroller.

However with an embedded Linux host, vinculum will just get in the way.

Seriously, check out FUSE - maybe it's easy, I've never looked at the 
API.  Write a simple FUSE layer that converts between the FUSE API and 
the Vinculum's serial command protocol.

Otherwise use a real host controller, like the Cypress EZUSB parts that 
Xilinx puts on every ML40x/50x board, or the Phillips ISP family which 
has good Linux support.  Then you can plug anything into it, and it will 
just work.  Flash drive, webcam, audio device, whatever.

If you need a second opinion run it past comp.arch.embedded and X-post 
to comp.os.linux.embedded just for good measure.

Regards,

John



> 
> --- On *Mon, 7/28/08, John Williams /<jwilliams@xxxxxxxxxxxxxx>/*
wrote:
> 
>     From: John Williams <jwilliams@xxxxxxxxxxxxxx>
>     Subject: Re: [microblaze-uclinux] Finally USB support on
>     Spartan3E-500 REV D Starter Kit
>     To: microblaze-uclinux@xxxxxxxxxxxxxx
>     Date: Monday, July 28, 2008, 6:23 AM
> 
>     Hi Mostafa,
> 
>     Mostafa Ali wrote:
> 
>     > I used spartan3E-500 rev D starter kit. I wanted to have an USB 
>     > interface to USB storage devices and I succeeded in that thanks
to the 
>     > FTDI and FLE technologies.
>     > The Vinculum provides both VDRIVE 
>     > <http://www.vinculum.com/prd_vdrive1.html> which is a
module easily
>     adds 
>     > USB Flash drive interface to MCU/FPGA I/F via UART or SPI
interface and 
>     > VDIP <http://www.vinculum.com/prd_vdip1.html> which is DIP
format
>     VNC1L 
>     > <http://www.vinculum.com/prd_vnc1l.html> USB host
controller
>     development 
>     > module.
>     > For more details see http://www.vinculum.com/products.html
>     > To connect the module to my kit I used the "FLE Microblaze
>     UartLite" and 
>     > "FLE FT245BM Core"  found on
http://www.fl-eng.com/xipfree.html.
>     > I used the GPIO 6-pin Accessory headers to connect the VDrive1
module to 
>     > the kit then through the FLE-UART core to the OPB bus.
>     > The question now is: How will petalinux treat the case? Would it
see the 
>     > USB storage device directly and communicate/mount it as if it is
an 
>     > ordinary drive or it will still talk to it as a GPIO I don't
know!
>     Also 
>     > Do I have to write or develop a certain driver for such new 
>     > configuration or the petalinux "support USB" options in
the 
>     > configuration wizard is sufficient?
> 
>     Linux will see a new serial port (the uart), and that's about it.
> 
>      From the little reading I've done, Vinculum includes a host USB
stack 
>     that takes to flash drives, and exports a simple command interface
over 
>     serial that allows you access.
> 
>     Really this is intended for little microcontrollers running firmware, 
>     not Linux.
> 
>     If you want to be able to mount the flash driver from Linux,
you'll have 
>     a reasonable amount of work to do.  Best way might be to use fuse 
>     (userspace filesystem support) and write a userspace wrapper that 
>     converts between the FUSE kernel API and the VDRIVE serial protocol.
> 
>     It would probably work, but might get messy and performance is likely
to 
>     be pretty poor.
> 
>     Regards,
> 
>     John
> 
>     ___________________________
>     microblaze-uclinux mailing list
>     microblaze-uclinux@xxxxxxxxxxxxxx
>     Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
>     Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
> 
> 

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/