doc/cable: move to yml
This commit is contained in:
parent
7384573992
commit
4482deec18
|
|
@ -43,4 +43,5 @@ build/
|
||||||
/doc/_build/
|
/doc/_build/
|
||||||
/doc/_theme/
|
/doc/_theme/
|
||||||
/doc/compatibility/boards.inc
|
/doc/compatibility/boards.inc
|
||||||
|
/doc/compatibility/cable.inc
|
||||||
/doc/compatibility/fpga.inc
|
/doc/compatibility/fpga.inc
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,199 @@
|
||||||
|
anlogicCable:
|
||||||
|
|
||||||
|
- Name: anlogic JTAG adapter
|
||||||
|
Description: JTAG adapter firmware for stm32
|
||||||
|
URL: https://github.com/AnlogicInfo/anlogic-usbjtag
|
||||||
|
|
||||||
|
|
||||||
|
arm-usb-ocd-h:
|
||||||
|
|
||||||
|
- Name: Olimex ARM-USB-OCD-H adapter
|
||||||
|
Description: High-speed 3-IN-1 fast USB ARM JTAG, USB-to-RS232 virtual port and power supply 5VDC device
|
||||||
|
URL: https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/
|
||||||
|
|
||||||
|
|
||||||
|
bus_blaster:
|
||||||
|
|
||||||
|
- Name: Dangerousprototypes Bus Blaster
|
||||||
|
Description: Jtag adapter based on ft2232
|
||||||
|
URL: http://dangerousprototypes.com/docs/Bus_Blaster
|
||||||
|
|
||||||
|
|
||||||
|
bus_blaster_b:
|
||||||
|
|
||||||
|
- Name: Dangerousprototypes Bus Blaster
|
||||||
|
Description: Jtag adapter based on ft2232 (interface B)
|
||||||
|
URL: http://dangerousprototypes.com/docs/Bus_Blaster
|
||||||
|
|
||||||
|
|
||||||
|
ch552_jtag:
|
||||||
|
- Name: ch552 JTAG adapter
|
||||||
|
Description: Tang Nano USB-JTAG interface. FT2232C clone firmware for CH552 microcontroler
|
||||||
|
URL: https://github.com/diodep/ch55x_jtag
|
||||||
|
|
||||||
|
|
||||||
|
cmsisdap:
|
||||||
|
|
||||||
|
- Name: ARM CMSIS DAP protocol interface
|
||||||
|
Description: ARM CMSIS DAP protocol interface (hid only)
|
||||||
|
URL: https://os.mbed.com/docs/mbed-os/v6.11/debug-test/daplink.html
|
||||||
|
|
||||||
|
|
||||||
|
gatemate_pgm:
|
||||||
|
|
||||||
|
- Name: gatemate pgm
|
||||||
|
Description: Cologne Chip GateMate FPGA Programmer. FT232H-based JTAG/SPI programmer cable
|
||||||
|
URL: https://colognechip.com/programmable-logic/gatemate/
|
||||||
|
|
||||||
|
|
||||||
|
gatemate_evb_jtag:
|
||||||
|
- Name: gatemate evb JTAG
|
||||||
|
Description: Cologne Chip GateMate JTAG programmer
|
||||||
|
URL: https://colognechip.com/programmable-logic/gatemate/
|
||||||
|
|
||||||
|
|
||||||
|
gatemate_evb_spi:
|
||||||
|
|
||||||
|
- Name: gatemate evb spi
|
||||||
|
Description: Cologne Chip GateMate SPI programmer
|
||||||
|
URL: https://colognechip.com/programmable-logic/gatemate/
|
||||||
|
|
||||||
|
|
||||||
|
dfu:
|
||||||
|
|
||||||
|
- Name: DFU interface
|
||||||
|
Description: DFU (Device Firmware Upgrade) USB device compatible with DFU protocol
|
||||||
|
URL: http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf
|
||||||
|
|
||||||
|
|
||||||
|
digilent:
|
||||||
|
|
||||||
|
- Name: digilent cable
|
||||||
|
Description: FT2232 JTAG / UART cable
|
||||||
|
|
||||||
|
|
||||||
|
diglent_b:
|
||||||
|
|
||||||
|
- Name: digilent cable
|
||||||
|
Description: digilent FT2232 JTAG / UART cable (interface B)
|
||||||
|
|
||||||
|
|
||||||
|
digilent_hs2:
|
||||||
|
|
||||||
|
- Name: digilent hs2 cable
|
||||||
|
Description: FT232H JTAG programmer cable from digilent
|
||||||
|
URL: https://store.digilentinc.com/jtag-hs2-programming-cable/
|
||||||
|
|
||||||
|
|
||||||
|
digilent_hs3:
|
||||||
|
- Name: digilent hs3
|
||||||
|
Description: JTAG programmer cable from digilent
|
||||||
|
URL: https://digilent.com/shop/jtag-hs3-programming-cable/
|
||||||
|
|
||||||
|
|
||||||
|
dirtyJtag:
|
||||||
|
- Name: dirty Jtag
|
||||||
|
Description: JTAG probe firmware for STM32F1
|
||||||
|
URL: https://github.com/jeanthom/DirtyJTAG
|
||||||
|
Note: Best to use release (1.4 or newer) or limit the --freq to 600000 with older releases.
|
||||||
|
New version `dirtyjtag2 <https://github.com/jeanthom/DirtyJTAG/tree/dirtyjtag2>`__ is also supported
|
||||||
|
|
||||||
|
|
||||||
|
efinix_spi_ft4232:
|
||||||
|
|
||||||
|
- Name: efinix SPI (ft4232)
|
||||||
|
Description: efinix SPI interface (FTDI4232 interface A)
|
||||||
|
|
||||||
|
|
||||||
|
efinix_jtag_ft4232:
|
||||||
|
|
||||||
|
- Name: efinix JTAG (ft4232)
|
||||||
|
Description: efinix JTAG interface (FTDI4232 interface B)
|
||||||
|
|
||||||
|
|
||||||
|
efinix_spi_ft2232:
|
||||||
|
|
||||||
|
- Name: efinix SPI (ft2232)
|
||||||
|
Description: efinix SPI interface (FTDI2232 interface A)
|
||||||
|
|
||||||
|
|
||||||
|
ft2232:
|
||||||
|
|
||||||
|
- Name: FT2232 C/D/H
|
||||||
|
Description: generic programmer cable based on Ftdi FT2232 (interface A)
|
||||||
|
|
||||||
|
- Name: Tang Nano (1k, 4k, 8k) USB-JTAG interface
|
||||||
|
Description: USB-JTAG/UART debugger based on BL702 microcontroler.
|
||||||
|
URL: https://github.com/sipeed/RV-Debugger-BL702
|
||||||
|
|
||||||
|
- Name: honeycomb USB-JTAG interface.
|
||||||
|
Description: FT2232C clone based on STM32F042 microcontroler
|
||||||
|
URL: https://github.com/Disasm/f042-ftdi
|
||||||
|
|
||||||
|
|
||||||
|
ft2232_b:
|
||||||
|
|
||||||
|
- Name: FT2232 C/D/H
|
||||||
|
Description: generic programmer cable based on Ftdi FT2232 (interface B)
|
||||||
|
|
||||||
|
|
||||||
|
ft231X:
|
||||||
|
|
||||||
|
- Name: FT231X
|
||||||
|
Description: generic USB<->UART converters in bitbang mode (with some limitations and workaround)
|
||||||
|
URL: https://www.ftdichip.com/old2020/Products/ICs/FT231X.html
|
||||||
|
|
||||||
|
|
||||||
|
ft232:
|
||||||
|
|
||||||
|
- Name: FT232H
|
||||||
|
Description: generic programmer cable based on Ftdi FT232Hx. One interface, MPSSE capable
|
||||||
|
URL: https://ftdichip.com/products/ft232hl/
|
||||||
|
|
||||||
|
|
||||||
|
ft232RL:
|
||||||
|
|
||||||
|
- Name: FT232RL
|
||||||
|
Description: generic USB<->UART converters in bitbang mode (with some limitations and workaround)
|
||||||
|
URL: https://ftdichip.com/products/ft232rl/
|
||||||
|
|
||||||
|
|
||||||
|
ft4232:
|
||||||
|
|
||||||
|
- Name: FT4232
|
||||||
|
Description: quad interface programmer cable. MPSSE capable.
|
||||||
|
URL: https://ftdichip.com/products/ft4232h-56q/
|
||||||
|
|
||||||
|
|
||||||
|
ecpix5-debug:
|
||||||
|
|
||||||
|
- Name: ecpix5-debug
|
||||||
|
Description: LambdaConcept ECPIX5 (45k/85k) UART/JTAG interface
|
||||||
|
URL: https://shop.lambdaconcept.com/home/46-ecpix-5.html
|
||||||
|
|
||||||
|
|
||||||
|
orbtrace:
|
||||||
|
|
||||||
|
- Name: orbtrace interface
|
||||||
|
Description: Open source FPGA-based debug and trace interface
|
||||||
|
URL: https://github.com/orbcode/orbtrace
|
||||||
|
|
||||||
|
|
||||||
|
tigard:
|
||||||
|
|
||||||
|
- Name: tigard
|
||||||
|
Description: SWD/JTAG/UART/SPI programmer based on Ftdi FT2232HQ
|
||||||
|
URL: https://www.crowdsupply.com/securinghw/tigard
|
||||||
|
|
||||||
|
|
||||||
|
usb-blaster:
|
||||||
|
|
||||||
|
- Name: intel USB Blaster I interface
|
||||||
|
Description: JTAG programmer cable from intel/altera (FT245 + EPM7064)
|
||||||
|
|
||||||
|
|
||||||
|
usb-blasterII:
|
||||||
|
|
||||||
|
- Name: intel USB Blaster II interface
|
||||||
|
Description: JTAG programmer cable from intel/altera (EZ-USB FX2 + EPM570)
|
||||||
|
URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_usb_blstr_ii_cable.pdf
|
||||||
|
|
@ -3,22 +3,4 @@
|
||||||
Cables
|
Cables
|
||||||
######
|
######
|
||||||
|
|
||||||
* anlogic JTAG adapter
|
.. include:: cable.inc
|
||||||
* `arm-usb-ocd-h <https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/>`__: jtag programmer cable from olimex
|
|
||||||
* `digilent_hs2 <https://store.digilentinc.com/jtag-hs2-programming-cable/>`__: jtag programmer cable from digilent
|
|
||||||
* `cmsisdap <https://os.mbed.com/docs/mbed-os/v6.11/debug-test/daplink.html>`__: ARM CMSIS DAP protocol interface (hid only)
|
|
||||||
* `Orbtrace <https://github.com/orbcode/orbtrace>`__: Open source FPGA-based debug and trace interface
|
|
||||||
* `DFU (Device Firmware Upgrade) <http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf>`__: USB device compatible with DFU protocol
|
|
||||||
* `DirtyJTAG <https://github.com/jeanthom/DirtyJTAG>`__: JTAG probe firmware for STM32F1
|
|
||||||
(Best to use release (1.4 or newer) or limit the --freq to 600000 with older releases.
|
|
||||||
New version `dirtyjtag2 <https://github.com/jeanthom/DirtyJTAG/tree/dirtyjtag2>`__ is also supported)
|
|
||||||
* Intel USB Blaster I & II : jtag programmer cable from intel/altera
|
|
||||||
* JTAG-HS3: jtag programmer cable from digilent
|
|
||||||
* FT2232: generic programmer cable based on Ftdi FT2232
|
|
||||||
* FT232RL and FT231X: generic USB<->UART converters in bitbang mode
|
|
||||||
* `Tang Nano USB-JTAG interface <https://github.com/diodep/ch55x_jtag>`__: FT2232C clone based on CH552 microcontroler
|
|
||||||
(with some limitations and workaround)
|
|
||||||
* `Tang Nano 4k USB-JTAG interface <https://github.com/sipeed/RV-Debugger-BL702>`__: USB-JTAG/UART debugger based on BL702 microcontroler.
|
|
||||||
* `Tigard <https://www.crowdsupply.com/securinghw/tigard>`__: SWD/JTAG/UART/SPI programmer based on Ftdi FT2232HQ
|
|
||||||
* `honeycomb USB-JTAG interface <https://github.com/Disasm/f042-ftdi>`__: FT2232C clone based on STM32F042 microcontroler
|
|
||||||
* `Cologne Chip GateMate FPGA Programmer <https://colognechip.com/programmable-logic/gatemate/>`__: FT232H-based JTAG/SPI programmer cable
|
|
||||||
|
|
|
||||||
10
doc/conf.py
10
doc/conf.py
|
|
@ -15,7 +15,9 @@ from data import (
|
||||||
ReadBoardDataFromYAML,
|
ReadBoardDataFromYAML,
|
||||||
BoardDataToTable,
|
BoardDataToTable,
|
||||||
ReadFPGADataFromYAML,
|
ReadFPGADataFromYAML,
|
||||||
FPGADataToTable
|
FPGADataToTable,
|
||||||
|
ReadCableDataFromYAML,
|
||||||
|
CableDataToTable
|
||||||
)
|
)
|
||||||
|
|
||||||
# -- General configuration ------------------------------------------------
|
# -- General configuration ------------------------------------------------
|
||||||
|
|
@ -34,7 +36,7 @@ source_suffix = {
|
||||||
|
|
||||||
master_doc = "index"
|
master_doc = "index"
|
||||||
project = u"openFPGALoader: universal utility for programming FPGA"
|
project = u"openFPGALoader: universal utility for programming FPGA"
|
||||||
copyright = u"2019-2021, Gwenhael Goavec-Merou and contributors"
|
copyright = u"2019-2022, Gwenhael Goavec-Merou and contributors"
|
||||||
author = u"Gwenhael Goavec-Merou and contributors"
|
author = u"Gwenhael Goavec-Merou and contributors"
|
||||||
|
|
||||||
version = "latest"
|
version = "latest"
|
||||||
|
|
@ -121,3 +123,7 @@ with (ROOT / "compatibility/boards.inc").open("w", encoding="utf-8") as wptr:
|
||||||
|
|
||||||
with (ROOT / "compatibility/fpga.inc").open("w", encoding="utf-8") as wptr:
|
with (ROOT / "compatibility/fpga.inc").open("w", encoding="utf-8") as wptr:
|
||||||
wptr.write(FPGADataToTable(ReadFPGADataFromYAML()))
|
wptr.write(FPGADataToTable(ReadFPGADataFromYAML()))
|
||||||
|
# -- Generate partial Cable compatibility page (`cable.inc`) with data from `cable.yml`
|
||||||
|
|
||||||
|
with (ROOT / "compatibility/cable.inc").open("w", encoding="utf-8") as wptr:
|
||||||
|
wptr.write(CableDataToTable(ReadCableDataFromYAML()))
|
||||||
|
|
|
||||||
35
doc/data.py
35
doc/data.py
|
|
@ -80,3 +80,38 @@ def FPGADataToTable(data, tablefmt: str = "rst"):
|
||||||
headers=["Vendor", "Description", "Model", "Memory", "Flash"],
|
headers=["Vendor", "Description", "Model", "Memory", "Flash"],
|
||||||
tablefmt=tablefmt
|
tablefmt=tablefmt
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Cable:
|
||||||
|
Name: str
|
||||||
|
Description: str
|
||||||
|
URL: str = None
|
||||||
|
Note: str = None
|
||||||
|
|
||||||
|
|
||||||
|
def ReadCableDataFromYAML():
|
||||||
|
with (ROOT / 'cable.yml').open('r', encoding='utf-8') as fptr:
|
||||||
|
data = yaml_load(fptr, yaml_loader)
|
||||||
|
for keyword, content in data.items():
|
||||||
|
data[keyword] = [Cable(**item) for item in content]
|
||||||
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
def CableDataToTable(data, tablefmt: str = "rst"):
|
||||||
|
def processURL(name, url):
|
||||||
|
if url is None:
|
||||||
|
return f"{name}"
|
||||||
|
else:
|
||||||
|
return f"`{name} <{url}>`__"
|
||||||
|
return tabulate(
|
||||||
|
[
|
||||||
|
[
|
||||||
|
f"{vendor}",
|
||||||
|
processURL(item.Name, item.URL),
|
||||||
|
item.Description
|
||||||
|
] for vendor, content in data.items() for item in content
|
||||||
|
],
|
||||||
|
headers=["keyword", "Name", "Description"],
|
||||||
|
tablefmt=tablefmt
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue