1a7f0689ab
Devcontainer now grants libusb access to the FT2232H so iceprog (bitstream) and pyftdi (FT2232H EEPROM) run inside the container: - devcontainer.json: --privileged + /dev/bus/usb bind mount - Dockerfile: sudo (NOPASSWD for vscode; USB nodes are root-owned), libusb-1.0-0, libftdi1-2, pyftdi Add the flash-re-bba-rb skill documenting the procedure (bitstream via best swept seed, optional EEPROM string, troubleshooting, guardrails) and flash_ftdi_eeprom.py (pyftdi, backup-first, dry-run default) + ftdi_eeprom.conf value spec. Bring-up on the repaired V1 unit: bitstream flash VERIFY OK (iceprog build/seed4/top.bin, capture 58.36 MHz). EEPROM product string CANNOT be programmed on V1 — U7 is a 93LC46B (128 B), too small for the FT2232H, which needs a 93LC56B (256 B); the 128 B chip mirrors and the config write fails verify. This overturns the old REVIEW note "93LC46B = correct for FT2232H" (that only checked ORG, not size). Board still works blank -> ROM defaults; iceprog + UART unaffected. Documented in REVIEW.md + TODO.md (swap U7->93LC56B for V2); flash_ftdi_eeprom.py detects the mirroring and refuses the write. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
542 B
Plaintext
34 lines
542 B
Plaintext
# Generated FPGA build artifacts (regenerate with: python -m exi_bba.synth)
|
|
build/
|
|
|
|
# Simulation waveforms (regenerate by running the testbenches)
|
|
*.vcd
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
.venv/
|
|
venv/
|
|
|
|
# KiCad
|
|
fp-info-cache
|
|
*.bak
|
|
~*.lck
|
|
*-backups/
|
|
_autosave-*
|
|
.history/
|
|
hardware/re-bba-rb/gerbers
|
|
hardware/sp1_insert/gerbers
|
|
*-bom.csv
|
|
*-cpl.csv
|
|
*.rpt
|
|
# FT2232H EEPROM backup written by flash_ftdi_eeprom.py at runtime
|
|
hardware/re-bba-rb/eeprom-backup.bin
|
|
hardware/re-bba-rb/re-bba-rb-eeprom.bin
|
|
|
|
# Editor / OS cruft
|
|
.DS_Store
|
|
*.swp
|
|
.history/
|