Close

Choosing Libraries

A project log for FPGA Helper

A programming and communication interface for FPGAs

greggreg 01/29/2023 at 03:160 Comments

In the previous log I stated my current goal.  To summarize the requirements:

I've spent some time looking for JTAG libraries, and libxsvf looks like the best candidate by far.  

To keep this portable, I don't want to use vendor USB libraries.  There are two options for an open USB stack I am considering.  The first is Ha Thach's TinyUSB.  I am a big fan of this project.  Ha has done an incredible job creating a portable USB stack that supports an impressive list of MCUs.  I have used this before on a few projects including Adafruit's TinyUF2.  

The only other USB stack I can think of that might come close to supporting as many MCUs would be the one in the Zephyr project.  The Zephyr project is also quite impressive.  It is very professional and has great infrastructure tooling.  There is a little bit more of a learning curve to use Zephyr and it is probably overkill for this initial effort.

I think I will start with TinyUSB, but I might port it to Zephyr later on to make it easier to add features like ethernet and SD cards.  The number of open-source peripheral libraries in Zephyr are its biggest strength, and very likely why it is gaining so much momentum.

Discussions