01-30-2017 03:28 AM
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?
01-30-2017 03:34 AM
you can refer the bist design targeting zc706 given in this link.
the usb is used as a storage element in this design.
01-30-2017 03:44 AM
Thanks for immediate response. I checked the link you shared but it also contains an example which takes ZC702 board as USB storage. What I need is Board to act as host and some USB flash drive e.g. pendrive connected externally to USB port available on the board act as storage device. I want to save data stored on PS DDR to external USB flash drive.
01-31-2017 11:24 PM
Will you please check this link once.
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,
04-03-2018 07:11 PM - edited 04-03-2018 07:13 PM
I'm having this same problem. I want to connect a USB stick to the zynq ps so I'm trying to use the standalone bsp in Host mode and I'm having trouble understanding how to use the UsbPs API in HOST mode. I was being sent to the API documentation directly and as such did not see the page Monali has referenced stating that there is no support for Host mode in the Znyq standalone ps system. Could you confirm this is the case?
04-03-2018 09:14 PM
Yes, Xilinx has two sets of USB driver support. One is called Standalone OS (Bare-metal drivers) and Embedded Linux OS sets of drivers. So Standalone OS (Bare metal) drivers, we do have support for Mass storage (Peripheral mode) device drivers only. Rest of the USB mode i.e. HOST and OTG driver supports are available in only Embedded Linux drivers (http://www.wiki.xilinx.com/Linux+Drivers)
Writing customized Bare-metal drivers for HOST/OTG, is possible but it is very tricky and time consuming. But in Embedded Linux OS, there are xHSI and Design-ware driver layers which help HOST/OTG mode support very efficiently as there are other File System layers involved on top of it for HOST/OTG mode in Linux OS layers. If you want to write your own customized HOST drivers then all the h/w USB IF register information is available in TRM. But we prefer Embedded Linux OS, if user are going for HOST or OTG driver support.
09-20-2018 03:36 AM