Preduvjeti
Okruženje računala domaćina
Skripte za build i razvoj projekta zahtijevaju Linux/Bash okruženje. Na
izvornom Linuxu koristite uobičajeni Bash. Na Windowsu koristite WSL s
Ubuntuom: WSL je obavezan za build iz izvornog koda i za shell skripte
repozitorija. Nemojte pokretati build skripte iz PowerShella ili cmd.exe.
Izvorni Windows i dalje je prikladan kada dokumentacija izričito traži Device
Tool u pregledniku, upravljanje USB upravljačkim programima, UART prijenos preko
COM porta ili priloženi Windows .exe. Ako blok nije izričito označen kao
PowerShell ili cmd.exe, pokrenite ga iz WSL/Basha.
Provjera preduvjeta računala
Nakon kloniranja repozitorija pokrenite nedestruktivnu provjeru računala prije prvog builda:
./scripts/requirements-check.sh
Provjera ne instalira pakete i ne mijenja konfiguraciju. Nedostajući obavezni alati daju neuspješan izlazni status, dok se opcionalni alati za razvoj, simulaciju, otklanjanje pogrešaka i dokumentaciju prijavljuju zasebno. Provjera također potvrđuje da pronađeni RISC-V prevoditelj prihvaća Hazard3 RV32 ISA/ABI opcije.
Potrebni alati
Potrebno je instalirati barem:
Git s podrškom za rekurzivne podmodule.
Python 3.
pyserialza prijenose putem UART-a.RISC-V GCC/GDB alatni lanac za bare-metal sustave dostupan u
PATH.Yosys, nextpnr-ecp5, Project Trellis/ecppack i uobičajene ULX3S FPGA alate za izradu bitstreama.
OpenOCD kada se koristi JTAG otklanjanje pogrešaka.
shellcheckza provjeru shell skripti (opcionalno, ali preporučeno).
FPGA alatni lanac
Preporučeni FPGA alatni lanac je unaprijed izgrađeni OSS CAD Suite. Sadrži Yosys, nextpnr,
Project Trellis/ecppack i povezane alate za Linux, macOS i Windows. Na
Ubuntu/WSL-u full-install.sh automatski instalira i aktivira OSS CAD Suite
verziju koju projekt očekuje. Umjesto toga možete sami instalirati izdanje OSS
CAD Suitea i aktivirati njegovo okruženje kako bi alati bili dostupni u
PATH.
Za napredni razvoj ili rad na reproducibilnosti instalacijske skripte također nude opcije izgradnje iz izvornog koda koje odabrane FPGA alate grade iz određenih revizija (commitova) u izvornim GitHub repozitorijima. Izgradnja FPGA alata iz izvornog koda nije potrebna za uobičajeni postupak instalacije.
Na Windowsu OSS CAD Suite preporučuje WSL s Linux-x64 paketom za najbolje iskustvo, što odgovara Bash/WSL okruženju koje koristi Hazard3-Doom.
RISC-V GCC alatni lanac
Build koristi kompatibilan RISC-V GCC alatni lanac za bare-metal sustave koji
se nalazi u PATH. riscv-none-elf-* izravno je podržan, a prepoznaju se i
xPack RISC-V GCC instalacije. Na Ubuntu/WSL-u, macOS-u ili drugoj Linux
distribuciji upotrijebite prikladan paket RISC-V GCC alata za bare-metal sustave
ili instalirajte xPack, zatim osigurajte da je prevoditelj dostupan u PATH.
Nazivi paketa razlikuju se među distribucijama.
Koristite TOOLCHAIN_PREFIX kada trebate odabrati određenu instalaciju. Na
primjer:
TOOLCHAIN_PREFIX=riscv-none-elf- ./scripts/build.sh
Povijesni prefiks /opt/riscv/bin/riscv32-unknown-elf- i dalje je podržan
radi kompatibilnosti, ali instalacija u /opt nije obavezna.
Python ovisnost za alat za prijenos
python3 -m pip install pyserial
Pristup serijskom portu na Linuxu
Na izvornom Linuxu, uključujući Ubuntu VM, USB-UART adapteri obično se pojavljuju
kao /dev/ttyUSB0, /dev/ttyUSB1 i tako dalje. Čvor uređaja normalno je u
vlasništvu root:dialout s načinom 0660. Prije korištenja Web Serial-a ili
Python uploadera provjerite aktivni uređaj i grupe trenutačne prijavne sesije:
ls -l /dev/ttyUSB*
groups
Ako UART uređaj pripada grupi dialout, a vaš korisnik ne, dodajte korisnika
u grupu:
sudo usermod -aG dialout "$USER"
Nova dodatna grupa primjenjuje se na novu prijavnu sesiju. Odjavite se s
Ubuntu radne površine i ponovno prijavite prije pokretanja preglednika. Naredba
groups u već otvorenom terminalu neposredno nakon usermod i dalje će
prikazati stare grupe sesije.
Za privremeni test bez ponovnog pokretanja, odjave ili ponovnog spajanja USB-a, dodijelite trenutačnom korisniku pristup postojećem čvoru uređaja ACL-om:
sudo setfacl -m u:"$USER":rw /dev/ttyUSB1
Zamijenite ttyUSB1 stvarnim uređajem. setfacl dolazi iz Ubuntu paketa
acl. Ovaj ACL je dijagnostičko stanje vezano uz taj čvor uređaja i može
nestati pri ponovnoj USB enumeraciji; članstvo u dialout normalna je trajna
postavka.
Pogledajte Otklanjanje poteškoća za vlasništvo porta, ModemManager, Web Serial i dijagnostiku jednosmjernog UART-a.
IWAD
Repozitorij ne distribuira komercijalni Doom IWAD. Zakonski pribavljenu datoteku DOOM.WAD držite izvan Gita ili u zanemarenom direktoriju wads/.
Upozorenje
Nemojte spremati u repozitorij niti redistribuirati komercijalni Doom IWAD kao dio repozitorija projekta ili izgradnje dokumentacije.