I sell on Tindie
Map
Grand Prize Winner
(Dec 2012)
Second Prize Winner
(July 2012)












FreeRTOS USB Host for Zynq 7000

Introduction

Zynq and Ultrascale MPSoCs from Xilinx are very rich and flexible in terms of peripherals, both SoCs are equipped with HS/FS USB host hardware blocks. While those are fully supported by the Petalinux, for reasons unknown there is still no software support for USB host functionality when it comes to baremetal or FreeRTOS. The standard board support packages from Xilinx support only device mode but no host.

At the same time, Petalinux simply can’t be the ultimate answer to any development challenge as there is still need for lightweight, compact applications capable of booting in just a matter of couple of seconds yet requiring USB host functionality. At the time of working on this example there was (and still is) literally no any existing solution in the world of this kind so there is hope that from now developers will have at least one option.

USB Host stack integration

To avoid development of a whole USB stack from scratch already existing one was chosen. It is called TinyUSB, it has small footprint and is fully written in C with cross platform idea in mind, it also has a non-restrictive MIT licence. As a downside, it doesn’t have support for Xilinx SoCs. To overcome this, we have designed ‘Zynq 7000 glue logic’ which resides between the hardware and the USB stack as it is shown on the picture below.

We are presenting a fully functional proof of concept application with integrated USB Host 2.0 stack featuring the TinyUSB third party library and HID driver for Zynq 7000 powered systems. Our project targets ARTY Z7 boards with Zynq7000 MPSoCs and Vivado 2017.3 development environment. However, this concept could be transferred to virtually any version of Vivado, besides, the approach will work equally well for Ultrascale family as well.

Zynq USB Host architecture

We are offering this solution for a flat price of 24.99 USD which can be paid by Paypal.

What do you get after payment?

  • Full source code of the working proof of concept USB Host example with a HID driver including integration layer with the TinyUSB third part library;
  • Set of TCL scripts for building PL and PS projects resulting in *.bin files with embedded first stage boot loader;
  • Documentation in pdf format;
  • Technical support over email/telegram channel;

NOTE: please allow some time for processing as we are working on logistic automation. In case of any concern please contact us.

Video tutorial

A walk-through of the project with fully integrated USB Host stack and HID keyboard example in the form of a video tutorial is provided below:

Any questions? Ask in our Telegram channel:

https://t.me/magictale_electronics