Sorry, you need to enable JavaScript to visit this website.

USB storage using bare metal application On Zedboard

Unsolved
5 posts / 0 new
monali.sonawane's picture
monali.sonawane
Junior(0)
USB storage using bare metal application On Zedboard

Hello,
 
  It seems many people have tried to access USB storage device connected to Zynq PS externally, through bare metal application. But unfortunately I could not get any solution on it. We are trying the same again.
We could initialise USB storage device trough bare metal application, but unable to get its interrupt event so that we can start storage.
 
We are using Zedboard
Tool : SDK 2015.4
 
We cannot move to linux as we have other limitations. If anyone has gone beyond initialising USB trough bare metal, please provide some direction.
Or is it like it is very difficult to implement USB storage in bare metal?
 
 
Thank you
Monali

JFoster's picture
JFoster
Moderator(48)
Hi Monali,

Hi Monali,

Have you looked at the usb and usbps examples located in SDK located at 

C:\Xilinx\SDK\2016.4\data\embeddedsw\XilinxProcessorIPLib\drivers

to see if any of them cover what you are trying to do?

--Josh

monali.sonawane's picture
monali.sonawane
Junior(0)
Hello 

Hello 
Yes, we have checked the usbps examples. Most of them are configuring USB device as HID or as Slave device. we want to configure ZYNQ device as host and to store streaming data through VDMA S2MM channel  to PS DDR and from DDR to slave device ( USB mass storage device ).

monali.sonawane's picture
monali.sonawane
Junior(0)
Hello Josh,

Hello Josh,
Will you please check this link once. 
http://www.wiki.xilinx.com/Zynq+Standalone+USB+device+driver
It says HOST and OTG mode are not supported by standalone drivers. But it is stated as limitation to the driver. Does that mean it is not at all possible to implement OTG mode using standalone drivers.
Thanks and Regards,
Monali
 
 
 
 

zedhed's picture
zedhed
Moderator(22)
RE: USB storage using bare metal application On Zedboard

Hi Monali,

Use of the USB interface has been best supported under Linux. It should be possible to get it working under standalone, but I am guessing that you would spend a lot of development work to get it to the point where you can enumerate client devices and move data in the direction you want.

You are correct, HOST and OTG functionality are not supported by the standalone drivers since you need different USB stack functionality for those modes.

Have you looked into Micrium RTOS?

http://www.wiki.xilinx.com/uCOS

Micrium also has a USB host stack that works with the Xilinx EHCI controller.

https://www.micrium.com/rtos/usbhost/

Regards,

-Kevin