FPGA konfiguracija, flash i boot putovi

ULX3S ima više načina programiranja. Važno je razlikovati ECP5 konfiguracijski SRAM, SPI flash i Hazard3 runtime memoriju.

Volatilna konfiguracija

US1 FT231X/JTAG put može učitati ECP5 konfiguracijski SRAM pomoću fujprog, openFPGALoader, OpenOCD/SVF ili Hazard3-Doom WebUSB flashera. Takvo učitavanje je volatilno i nestaje nakon prekida napajanja.

Trajni SPI flash

Ugrađeni SPI flash čuva FPGA slike koje se mogu učitati pri uključivanju. Potpuni Hazard3-Doom bitstream može u EBR-u sadržavati i preloaded rezidentni monitor; on se pojavi nakon FPGA konfiguracije neovisno o tome je li bitstream učitan privremeno ili iz flasha.

Različite uloge US1 i US2

US1 je glavni priključak za napajanje, FT231X i uobičajeni JTAG put. US2 je spojen na FPGA pinove i koristi se i za opcionalni DFU bootloader kada je on instaliran.

Uobičajeni Hazard3-Doom WebUSB flasher koristi US1. DFU bootloader je zaseban mehanizam i ne treba ga zamjenjivati samo radi nove Doom FPGA slike.

Vidi Rad DFU bootloadera i oporavak i Programiranje i trajno pokretanje.

DFU tok korisničke slike

Kada je podržani ULX3S DFU bootloader već prisutan, US2 može programirati normalnu korisničku sliku u SPI flash. Projektna dokumentacija bootloadera koristi DFU alternativu 0 za korisničku sliku, dok je zamjena bootloadera rezervirana za napredni oporavak ili razvoj bootloadera.

Točan postupak ulaska opisan je u Rad DFU bootloadera i oporavak, a uobičajene mogućnosti programiranja u Programiranje i trajno pokretanje.

Runtime učitavanje firmwarea

OpenOCD/GDB može učitati softver u već konfigurirani FPGA bez pisanja konfiguracijskog flasha. I ta promjena je volatilna.

FPGA SRAM load    -> volatilna hardverska konfiguracija
SPI flash write   -> trajna FPGA konfiguracija
OpenOCD ELF load  -> volatilno stanje softvera/monitora
micro-SD datoteke -> trajni izmjenjivi podaci