USB bootloader for custom FPGA: get DFU with no hardware required!

preview_player
Показать описание
A bootloader that lets you update FPGA config using only a USB cable, through DFU, that can even be used from a browser: no programmers, no FTDI chips, nothing on the board but the FPGA and 3 pins to deal with USB.

At first, I thought I'd be using the TinyFPGA bootloader, and wired it accordingly. That didn't work out so easily, so instead here I describe and demonstrate the use of the Nitro (NO2) bootloader, which uses a similar arrangement to talk USB and provides for standard DFU updates of the firmware: both its own, and the FPGA's.

You can find my fork of the bootloader, with all the changes shown here, at

All the original Nitro FPGA stuff is at:

That cool DFU in the browser thing (works at least with chrome and brave) is at
Рекомендации по теме
Комментарии
Автор

Also got more info from Sylvain, the no2 bootloader creator:

"The ice40-stub stuff is the first birstream that loads and it handles :
* Checking button state to decide to go to bootloader or not
* Handling the bitstream selection (so you can actually select which image to boot manually if you clip the button 1/2/3 times instead of 4 times. Easier to see which one you will boot if you have a RGB led since it display which one on the led rather than being blind :D)
* Handling the flash lock

The ice40 stuff is the DFU bootloader proper stuff."
Awesome

PsychogenicTechnologies
Автор

This is one of those rare cases where I searched for some abstract thing I wanted to get done, find this, and not only it answers every single question I had about it, but also shows me there's an even easier way to get it done than I had originally thought about.

dkpriest
Автор

Phenomenal. Please keep up the great work. You have become my current favorite channel.

pirateradio
Автор

Good work. Thanks. Probably have to watch it several times to correlate processes and understand what's going on, though.

kentswan
Автор

I have an early Atmel carrier board and I somewhat find myself sent on memory lane ^~

-r-
Автор

Thanks for the video. I would love to see your pick and place machine in work for this PCB :)

Cerololo
Автор

Great Vid. Need some hardware to play with next. New toys! Can we (eventually) get hardware from you or PCBWay?

markpitts
Автор

I love FPGAs they are "magical" but I usually doesn't have anything that justifies using one.
Even at work where I have an nRF52 where the counters are a bit slow for the signal I need to measure the frequency of... An external "discrete" counter later and this is less of a problem.
Sure a small ICE series FPGA isn't that expensive and could also accelerate the graphics on the SPI LCD display (the nRF52832 maxes out at 8MHz but both the display and the flash can go faster)...
But it would also add another single source component (and some additional FPGA and MCU code)

TalpaDK