Otklanjanje poteškoća
Windows fujprog prijavljuje Cannot find JTAG cable
Na Windowsu fujprog očekuje da ULX3S US1 FT231X sučelje koristi normalni
FTDI VCP/D2XX driver. Ako je to sučelje prebačeno na WinUSB za WebUSB flasher ili
na drugi libusb driver za JTAG, prije korištenja Windows fujprog alata vratite
FTDI driver u Device Manageru.
Najprije zatvorite OpenOCD, openFPGALoader i WebUSB sesije preglednika,
vratite FTDI driver, odspojite/ponovno spojite US1 i pokušajte ponovno.
Pogledajte FPGA WebUSB flasher za tablicu kompatibilnosti drivera i
postupak vraćanja.
WebUSB flasher prijavljuje USBDevice.open(): Access denied
Ako FPGA web flasher vidi ULX3S FTDI uređaj, ali Windows odbije
USBDevice.open(), problem nastaje prije početka JTAG-a. Izravni WebUSB
pristup zahtijeva da ULX3S FT231X sučelje koristi WinUSB driver umjesto
normalnog FTDI VCP/D2XX drivera.
Zatvorite
fujprog, OpenOCD,openFPGALoaderi druge programe koji možda koriste FT231X.Potvrdite da je odabrani uređaj ULX3S
US1FT231X.Vežite to sučelje na WinUSB, primjerice pomoću Zadiga.
Odspojite i ponovno spojite
US1.Ponovno učitajte web aplikaciju i povežite flasher.
Upozorenje
Zamjena FTDI drivera mijenja način na koji Windows izlaže to sučelje. Provjerite odabrani uređaj prije promjene drivera. Softver koji očekuje normalni FTDI VCP/D2XX driver neće koristiti to sučelje dok se FTDI driver ne vrati.
Primjer odabira WinUSB-a za ULX3S FT231X.
Pogledajte FPGA WebUSB flasher za potpuni tijek WebUSB programiranja i napomene o vraćanju drivera.
Zadig prijavljuje Driver Installation: FAILED (Could not allocate resource)
Ako Zadig ne uspije zamijeniti ULX3S FTDI upravljački program i prikaže poruku
poput Driver Installation: FAILED (Could not allocate resource), prije
uklanjanja upravljačkih programa ili promjene konfiguracije uređaja provjerite
je li ostao zaglavljen libwdi/Zadig pomoćni proces.
Zatvaranje Zadiga ne mora nužno ugasiti pomoćni proces. U jednom potvrđenom
slučaju zadig.exe više nije radio, ali je installer_x64.exe ostao
zaglavljen u pozadini i sprječavao sljedeću instalaciju upravljačkog programa.
U PowerShellu provjerite relevantne instalacijske/pomoćne procese:
Get-Process installer_x64*, wdi*, dpinst*, pnputil* -ErrorAction SilentlyContinue |
Select-Object Id, ProcessName, Path
Ako je prisutan zaostali installer_x64.exe, a instalacija upravljačkog
programa nije namjerno u tijeku, zaustavite ga:
Stop-Process -Name installer_x64 -Force
Zatim potvrdite da ga više nema:
Get-Process installer_x64* -ErrorAction SilentlyContinue
Ako je od napuštene instalacije/uklanjanja uređaja ostao aktivan i stari
pnputil.exe, zaustavite i njega prije ponovnog pokušaja.
Nakon uklanjanja zaostalog pomoćnog procesa:
Zatvorite Zadig.
Odspojite ULX3S USB vezu.
Pričekajte nekoliko sekundi i ponovno je spojite.
Pokrenite Zadig kao administrator.
Omogućite Options -> List All Devices.
Odaberite željeno ULX3S FTDI sučelje i provjerite USB ID
0403:6015.Ponovno pokušajte instalirati WinUSB/libusb upravljački program.
Nemojte kao prvi korak deinstalirati nepovezane FTDI uređaje. Zaostali
installer_x64.exe može izazvati ovu pogrešku čak i kada Zadig, OpenOCD,
fujprog i drugi vidljivi USB alati više ne rade.
WebUSB flasher prijavljuje neprepoznat JTAG ID
Nemojte programirati dok fizički ECP5 cilj nije identificiran. Zatvorite drugi
JTAG softver, odspojite/ponovno spojite US1, ponovno povežite preglednik i
ponovite probe. Ispravan ULX3S probe trebao bi identificirati podržani ECP5
poput LFE5U-12F ili LFE5U-85F i prikazati njegov 32-bitni IDCODE.
FT231X USB product string nije autoritativan za varijantu FPGA-a. Pri odluci odgovara li slika pločici koristite ECP5 JTAG ID koji prijavi Probe JTAG.
WebUSB flasher prijavljuje nepodudaranje cilja FPGA slike
To je sigurnosna provjera. ECP5 cilj ugrađen u odabranu .bit datoteku ne
odgovara fizičkom JTAG ID-u. Odaberite ili ponovno izgradite bitstream za
priključeni FPGA umjesto zaobilaženja provjere.
Web Serial izbornik kaže da nema kompatibilnih uređaja
Ako preglednik otvori Web Serial izbornik, ali prijavi No compatible devices
found iako Windows prikazuje COM port, prije promjene hardvera ili USB
serijskih drivera provjerite preglednik.
Ako Chrome prikazuje
Finish update,Relaunchili drugi indikator čekajućeg ažuriranja, dovršite ažuriranje i potpuno ponovno pokrenite Chrome. Tijekom Hazard3-Doom testiranja Chrome je i dalje enumerirao CH340 adapter kaoCOM7uchrome://device-log, dok je Web Serial izbornik ostao prazan. Nakon dovršetka ažuriranja i ponovnog pokretanja Chromea izbornik je ponovno radio.Ponovno pokušajte Connect. Hazard3-Doom web konzola namjerno traži browserov izbornik serijskih portova bez USB VID/PID filtra, pa je projektirana za rad sa svakim serijskim portom koji preglednik izloži.
Zatvorite PuTTY, upload skripte, IDE serijske monitore ili druge programe koji možda već koriste port.
Otvorite
chrome://device-log, omogućite kategorije Serial i USB te provjerite je li očekivani COM port uklonjen, ali nikad ponovno dodan. U jednoj provjerenoj debug sesiji Chrome je zabilježioSerial device removed: path=COM7i nije se oporavio nakon samog zaustavljanja OpenOCD-a, iako je PuTTY i dalje mogao otvoriti port. Fizičko odspajanje i ponovno spajanje vanjskog USB-UART adaptera prisililo je ponovnu enumeraciju u Windowsu/Chromeu i vratilo Web Serial izbornik.Ako je debug aktivnost prethodila kvaru, zatvorite PuTTY i druge vlasnike serijskog porta, zaustavite OpenOCD, zatim fizički odspojite/ponovno spojite vanjski USB-UART adapter. Samo zaustavljanje OpenOCD-a može osloboditi njegov FT231X/JTAG handle bez toga da Chrome ponovno otkrije neovisni COM port.
Nakon ponovnog spajanja,
chrome://device-logtrebao bi prikazati USB uređaj i novi događajSerial device addedza očekivani COM port. Koristite Connect u web UI-u kako biste pozvali browser izbornik.Nemojte koristiti
navigator.serial.getPorts()kao potpuni inventar Windows COM portova. Vraća samo portove koji su već autorizirani za trenutačni browser origin. Za dodjelu pristupa drugom portu koristite Connect.
Ako je Web Serial izbornik prazan dok Chrome prikazuje čekajuće ažuriranje, dovršite ažuriranje i ponovno pokrenite preglednik prije promjene serijskih drivera.
Web Serial izbornik se zatvori, ali se UART ipak ne poveže
Ako odaberete serijski uređaj i izbornik preglednika se zatvori, ali alat ostane nepovezan, najprije provjerite posjeduje li port već neka druga aplikacija.
Trenutačni alat koordinira kartice istog izvora pomoću Web Locka preglednika i
BroadcastChannel. Ako druga kopija iste stranice već posjeduje UART, druga
stranica prijavljuje UART already in use. Stranica s drugog izvora, PuTTY,
terminal IDE-a ili druga aplikacija ne mogu se identificirati po imenu, pa se
neuspjeli SerialPort.open() prijavljuje kao vjerojatan sukob vlasništva.
Uobičajeni oporavak:
Zatvorite ili odspojite drugu karticu alata ili serijsku aplikaciju.
Vratite se u odjeljak za H3IMG/IWAD ili Serial povezivanje.
Odaberite Retry UART ili Connect UART i ponovno odaberite port.
Imajte na umu da su http://127.0.0.1:8000 i javna stranica
https://ulx3s.github.io različiti izvori preglednika. Njihovi Web Lockovi se
ne koordiniraju, iako operacijski sustav i dalje sprječava da obje stranice
istodobno posjeduju isti serijski port.
Web Serial odabere Linux TTY, ali ga ne može otvoriti
Ako Chrome može vidjeti i odobriti port poput USB2.0-Serial (ttyUSB1), ali
SerialPort.open() ne uspije, odvojeno provjerite preglednikovo odobrenje i
Linux dozvole uređaja.
Provjerite čvor uređaja, grupe trenutačne prijavne sesije i trenutačnog vlasnika:
ls -l /dev/ttyUSB1
groups
fuser -v /dev/ttyUSB1
Uobičajen rezultat na Ubuntuu je:
crw-rw---- 1 root dialout ... /dev/ttyUSB1
Ako dialout posjeduje uređaj, ali ga nema u izlazu groups, dodajte
korisnika:
sudo usermod -aG dialout "$USER"
Promjena vrijedi za novu prijavnu sesiju. Izlaz groups u postojećoj
sesiji radne površine neće se promijeniti samo zato što je usermod uspio, a
već pokrenuti Chrome zadržava stare dodatne grupe.
Za privremenu dijagnostiku bez ponovnog pokretanja, odjave ili ponovnog spajanja USB-a dodijelite trenutačnom korisniku ACL na postojećem čvoru uređaja:
sudo setfacl -m u:"$USER":rw /dev/ttyUSB1
Zamijenite ttyUSB1 stvarnim portom. Ovaj ACL može nestati kada se uređaj
ponovno enumerira; članstvo u dialout ostaje uobičajeno trajno rješenje.
newgrp dialout može odmah stvoriti shell s novom grupom, ali ne mijenja već
pokrenutu radnu površinu ili Chrome proces.
Ako su dozvole ispravne, ali otvaranje i dalje ne uspijeva, naredbom fuser
provjerite koristi li drugi proces port. Ubuntuov ModemManager također može
ispitivati USB serijske adaptere. Za dijagnostiku ga privremeno zaustavite:
sudo systemctl stop ModemManager
Trajno onemogućite ModemManager samo na sustavu na kojem njegove modemske funkcije namjerno nisu potrebne.
UART izlaz je čitljiv, ali monitor ignorira naredbe
Čitljiv tekst pri pokretanju na 115200 8N1 potvrđuje FPGA TX put i baud
rate, ali ne potvrđuje suprotni UART smjer. Ako monitor ispiše čistu poruku
pri pokretanju i prompt >, ali h ili ? ne daje odgovor, najprije
provjerite put od TX izlaza adaptera do RX ulaza FPGA-a. Labava spojna žica može
uzrokovati upravo ovakav jednosmjerni simptom.
Projektom provjereno ULX3S ožičenje je:
adapter TX -> ULX3S J1 pin 8 / GP1 / Hazard3 RxD
adapter RX <- ULX3S J1 pin 6 / GP0 / Hazard3 TxD
adapter GND -> ULX3S GND
Pogledajte USB, JTAG, UART, GPIO i ESP32 sučelja za opis sučelja pločice.
Da biste razlikovali ponašanje preglednika od fizičkog UART-a, odspojite Web Serial kako bi oslobodio port, a zatim izravno testirajte na Linuxu:
stty -F /dev/ttyUSB1 \
115200 cs8 -cstopb -parenb \
-ixon -ixoff -crtscts raw -echo
# U jednom terminalu:
cat /dev/ttyUSB1
# U drugom terminalu pošaljite monitorovu jednobajtnu naredbu za pomoć:
printf 'h' > /dev/ttyUSB1
Ako je izlaz pri pokretanju čist, ali ova naredba i dalje ne daje odgovor, usredotočite se na TX žicu adaptera, sjedanje konektora, masu i FPGA RX pin umjesto mijenjanja OpenOCD-a ili baud ratea.
WebUSB ne može otvoriti ili preuzeti ULX3S
Na Linuxu Hazard3-Doom alat može otkriti ULX3S, ali ga ipak ne uspjeti otvoriti.
Dvije su uobičajene pogreške:
Access deniedPreglednik nema dopuštenje čitanja/pisanja za sirovi USB uređaj.
Unable to claim interfaceLinux upravljački program
ftdi_sioveć posjeduje FT231X USB sučelje.
Pogledajte FPGA WebUSB flasher za Linux udev postavke dopuštenja i
postupak privremenog oslobađanja ULX3S sučelja od ftdi_sio.
Ako koristite virtualni stroj, provjerite i da je ULX3S USB uređaj spojen na gostujući operacijski sustav, a ne na host.
Doom upload istječe
Izađite iz Dooma pomoću
Ctrl-Xkako bi rezidentni monitor slušao.Zatvorite PuTTY ili drugi program koji koristi UART port.
Potvrdite odabrani COM/TTY uređaj.
Potvrdite da monitor i uploader koriste isti memorijski profil.
Na zadanom kvalificiranom ULX4M-LD profilu Hazard3 sistemski takt je 40 MHz, a UART se i dalje očekuje na 115200 bauda. Ako programirana slika istječe na 115200, ali odgovara oko 92160 bauda, to je snažan dijagnostički znak da je UART djelitelj monitora izračunat uz pretpostavku takta od 50 MHz dok FPGA zapravo radi na 40 MHz (
115200 * 40 / 50 = 92160). Ponovno izgradite cijeli cilj s./scripts/build-ulx4m-ld-doom.sh, ponovno programirajte bitstream i testirajte na 115200; 92160 koristite samo kao dijagnostički baud.Neki WSL
/dev/ttyS*serijski mostovi odbijaju nestandardni dijagnostički baud 92160 uztermios.error: (5, 'Input/output error'). Ako je taj test potreban, pokrenite uploader s Windows Pythonom preko odgovarajućeg COM porta, primjerice iz WSL-a:cmd.exe /c "python.exe doom/upload-doom-image.py build/ulx4m-ld/doom-image/hazard3-doom.h3img --port COM8 --baud 92160"
Ako cilj dosegne
H3L READYpa prijaviH3L ERROR invalid header, UART handshake radi. Provjerite jesu li rezidentni monitor i.h3imgnastali iz međusobno kompatibilnog builda/profila prije promjene serijskih drivera ili ožičenja.
Nema micro-SD kartice, ali hladno pokretanje prijavljuje CMD0 pogrešku
To je očekivano. Rezidentni monitor pokušava put hladnog pokretanja s micro-SD kartice prije povratka na interaktivni prompt. Bez umetnute kartice izlaz može sadržavati:
ULX3S cold boot: trying micro-SD...
SD boot: initializing micro-SD...
SD: CMD0 failed r1=0x000000FF
SD boot: card initialization failed
Type h or ? for help.
>
Ako su SDRAM/video dijagnostike prošle i pojavi se prompt >, poruka o
nedostajućoj kartici nije kvar sustava.
SD kartica se montira, ali datoteke nisu pronađene
Koristite nazive u korijenu
DOOM.IMGiDOOM.WAD.Potvrdite FAT16/FAT32 formatiranje.
Koristite naredbu monitora
cza pregled FAT tipa, stanja mounta i pronađenih veličina datoteka.Nemojte se oslanjati na duge nazive datoteka; boot put projektiran je oko korijenskih 8.3 naziva.
SD postaje nepouzdan kada radi ESP32 firmware
Potvrdite da su ESP32 GPIO 14, 15, 2 i 13 u stanju visoke impedancije dok Hazard3 posjeduje SD sabirnicu. Zastavica vlasništva u firmwareu nije dovoljna ako su izlazni driveri ESP32 pinova i dalje omogućeni.
SAO scan pronalazi neke uređaje, ali ne i druge
Nije svaki SAO nužno I2C periferija. Neki uređaji mogu koristiti opcionalne
GPIO pinove ili neuobičajeno I2C ponašanje. Koristite sao info, sao
scan, sao probe i dokumentaciju uređaja prije zaključka da je bridge
neispravan.
i2c gui je prijavljen kao nepoznata naredba
Na pločici radi stariji rezidentni monitor. Izgradnja novog ELF-a ne zamjenjuje firmware koji se već izvršava u Hazard3. Ponovno izgradite i izričito učitajte monitor:
./scripts/build.sh
./scripts/load-firmware.sh ./build/hazard3-boot-monitor.elf
Nakon učitavanja pomoć monitora trebala bi navesti i sao gui i i2c gui.
I2C GUI scan pronalazi uređaj, ali je logički trag prazan
Starije revizije HDMI GUI-a brisale su logički trag na kraju S skeniranja.
Trenutačni kod zadržava probe trag za posljednju adresu koja je odgovorila ACK-om.
Ponovno izgradite/učitajte trenutačni monitor ako se heatmap ažurira, ali trag
skeniranja ostaje prazan. P na poznatoj adresi također je izravna provjera
renderera logičkog traga.
I2C GUI ostaje na HDMI-u nakon izlaska
To je očekivano s trenutačnim softverom. Izlazak vraća UART upravljanje monitorom i SAO brzinu sabirnice od 100 kHz, ali ne rekonstruira frame koji je bio vidljiv prije pokretanja GUI-a. Pokrenite Doom ili prikažite drugi video frame monitora kako biste zamijenili zadnju sliku analizatora.
shellcheck nije instaliran
ShellCheck je neobavezan razvojni alat za provjeru shell skripti u repozitoriju. Nije potreban za uobičajene Hazard3-Doom izgradnje. Na Ubuntu/WSL sustavima razvojni korisnici koji žele pokretati provjeru shell skripti mogu ga instalirati ovako:
sudo apt-get install shellcheck
Za širu provjeru hosta pokrenite ./scripts/requirements-check.sh.
RISC-V GCC lanac alata nije pronađen
Izgradnja uobičajeno koristi kompatibilni RISC-V bare-metal prevoditelj dostupan
u PATH. Alati riscv-none-elf-* izravno su podržani, dok
TOOLCHAIN_PREFIX može odabrati drugu instalaciju ili prefiks prevoditelja.
Povijesna lokacija /opt/riscv/bin/riscv32-unknown-elf-* ostaje podržana samo
kao kompatibilna rezervna mogućnost. Primjerice, xPack instalacija često koristi:
TOOLCHAIN_PREFIX=riscv-none-elf- ./scripts/build.sh
Pokrenite ./scripts/requirements-check.sh kako biste otkrili uobičajene
prefikse RISC-V lanca alata i provjerili prihvaća li prevoditelj Hazard3 ISA/ABI
opcije.
c++: fatal error: Killed signal terminated program cc1plus
To gotovo uvijek znači da je Ubuntu VM ostao bez dostupnog RAM-a pa je kernelov OOM killer prekinuo jedan od procesa C++ prevoditelja. To nije C++ pogreška prevođenja. Povećajte memoriju ili swap VM-a ili smanjite paralelizam izgradnje prije ponovnog pokušaja.
Workflow prijavljuje da je CMake prestar
Provjera zahtjeva računala tretira CMake kao neobavezan razvojni alat. Ako
određeni workflow zahtijeva noviju verziju, instalirajte ili nadogradite CMake na
verziju koju taj workflow traži, zatim provjerite s cmake --version.
Za instalaciju CMakea 3.25 ili novijeg pogledajte skriptu install-cmake.sh u
direktoriju scripts/.
ROR: Max frequency for clock '$glbnet$clk_sys': XX.YY MHz (FAIL at 50 MHz)
Ako je routana frekvencija ispod cilja pri korištenju zadanih seedova, najprije
potvrdite da Yosys i nextpnr odgovaraju verzijama zabilježenima uz mjerodavne
zadane postavke routinga u scripts/build-ecp5-bitstream-common.sh. Routing
seedovi ovise o verziji alata.
Zabilježite lokalne verzije ovako:
yosys --version
nextpnr-ecp5 --version
ecppack --version
Uploader firmwarea konzole ostaje na Loading...
Browser console uploader ne pokreće OpenOCD. Tri dijela surađuju:
browser stranica -> loopback web-server.py -> GDB -> OpenOCD :3333 -> Hazard3
Stranica može biti javni GitHub Pages Device Tool ili lokalna stranica koju
poslužuje web-server.py. GDB i OpenOCD uvijek ostaju lokalni.
Pokrenite OpenOCD u jednom terminalu:
./scripts/start-openocd.sh
Upotrebljiva sesija dosegne Examined RISC-V core i Listening on port
3333 for gdb connections. U drugom terminalu pokrenite:
python3 web/web-server.py
Helper pri pokretanju upozorava ako listener nije pronađen na
127.0.0.1:3333. To je samo upozorenje jer se OpenOCD može pokrenuti kasnije.
Nastavite s https://ulx3s.github.io/Hazard3-Doom/ ili otvorite
http://127.0.0.1:8000/. Nemojte koristiti file:// za potpuni Device
Tool. Panel odvojeno prikazuje Local loader i OpenOCD; refresh odmah
ponavlja provjeru.
Status zahtjev nosi promjenjivu challenge vrijednost kako cacheirani
Ready odgovor ne bi preživio zaustavljanje helpera. OpenOCD provjera je
pasivna: pregledava lokalne listenere umjesto otvaranja TCP veze na 3333.
Ako OpenOCD svakih nekoliko sekundi prikazuje prihvaćene ili odbijene GDB veze
dok se ELF ne učitava, vjerojatno još radi stari web-server.py s aktivnim
TCP probeom. Zaustavite ga i pokrenite trenutačni helper.
Tijekom stvarnog učitavanja jedna prihvaćena GDB veza koja se na kraju zatvori je očekivana.
Korisne provjere:
ss -ltnp | grep ':3333'
curl http://127.0.0.1:8000/api/console-firmware/status
Prije OpenOCD-a odspojite i browser FPGA WebUSB flasher s US1 jer oba
koriste isti FT231X JTAG. Vanjski J1 USB-UART neovisan je i može ostati spojen.
Ako H3IMG/H3W kasnije istekne čekajući READY, prvo provjerite radi li
rezidentni monitor na > promptu. Ako helper odgovara, ali OpenOCD nije
prisutan, Device Tool dodatno podsjeća da monitor možda još treba učitati.
Zatim možete nastaviti s:
https://ulx3s.github.io/Hazard3-Doom/
ili otvoriti lokalnu kopiju na http://127.0.0.1:8000/. Za cijeli alat nemojte
koristiti file:// URL.
Ispravna provjera zdravlja pasivna je i zato ne smije stalno stvarati OpenOCD poruke poput:
accepting 'gdb' connection on tcp/3333
attempted 'gdb' connection rejected
Korisne JTAG provjere:
Na ULX4M-LD s Tigardom držite Interface 0 na FTDI VCP driveru za UART, a Interface 1 na libusbK za JTAG. OpenOCD koristi
ftdi channel 1.Na ULX4M-LD ispravan LFE5UM-85F IDCODE je
0x01113043. Ako OpenOCD očita taj IDCODE, ali prijavidtmcontrol is 0, fizički JTAG put radi; provjerite je li korisnički bitstream izašao iz DFU-a i stvarno se izvršava prije promjene DTM RTL-a ili ožičenja.
OpenOCD prijavljuje USB timeout ili potpuno nulti JTAG scan u VM-u
USB passthrough virtualnog stroja ponekad može pri početku proizvesti poruku
poput LIBUSB_ERROR_TIMEOUT nakon koje slijedi JTAG scan chain interrogation
failed: all zeroes. Prije zaključka da sesija nije uspjela provjerite kasnije
OpenOCD stanje. Ako zatim prijavi:
Examined RISC-V core; found 1 harts
Listening on port 3333 for gdb connections
GDB može koristiti server. Za potvrdu jednom zaustavite i odmah ponovno pokrenite OpenOCD kako biste provjerili da je scan čist. Ako OpenOCD nikada ne pronađe ECP5 TAP ili Hazard3 jezgru, provjerite VMware USB vezu prema gostu, zatvorite preglednikov WebUSB FPGA flasher i provjerite koristi li netko drugi JTAG prije promjene taktova ili RTL-a.
OpenOCD ne vidi ispravan Hazard3 debug modul
Na Windows ULX3S-u koristite aktualni OpenOCD build s podrškom za
ft232ri vežite ugrađeni FT231X na WinUSB ili libusbK. Trenutačna postava projekta provjerena je s WinUSB-om; libusbK nije obvezan.Nemojte zamijeniti ULX3S
US1FT231X/JTAG driver sa zasebnim driverom vanjskog USB-UART COM porta koji koristi Web Serial.Smanjite JTAG takt.
Osigurajte da je spojen samo jedan GDB klijent.
Provjerite da je FPGA bitstream očekivani Hazard3 build.
Provjerite da ELF odgovara aktivnom hardveru/buildu monitora.
Razlikujte povezivost ECP5 TAP-a od povezivosti Hazard3 debug modula.
Ako isti FT231X treba i browser FPGA flasheru, preferirajte WinUSB kako bi i
OpenOCD/GDB i WebUSB radili bez nove zamjene drivera. Vratite FTDI VCP/D2XX
driver samo kada ga zahtijeva alat poput Windows fujprog.
ULX4M-LD prijavljuje TIMEOUT vanjske memorije
Početno čekanje trenutačnog monitora od 5 sekundi može isteći prije nego LiteDRAM
završi kalibraciju. Sama poruka TIMEOUT nije konačan dokaz kvara. Pokrenite
s i provjerite trenutačno stanje. Upotrebljivo DDR stanje uključuje:
external_memory_ready=YES
init_done=YES
init_error=NO
pll_locked=YES
user_clock_ready=YES
ready=YES
Ako su ta polja spremna, pokrenite q. Kvalificirani ULX4M-LD routing 40/60
MHz više je puta prošao cijeli SDRAM skup testova, kao i k, d i x.
Build se iznenada mijenja zbog submodula
Provjerite stanje superprojekta i submodula:
git status
git submodule status --recursive
git branch --show-current
git -C third_party/Hazard3 branch --show-current
git -C third_party/doomgeneric branch --show-current
Čist superprojekt ne znači da je submodul na grani ili commitu koji ste očekivali.