doc/cable: move to yml
This commit is contained in:
parent
7384573992
commit
4482deec18
|
|
@ -43,4 +43,5 @@ build/
|
|||
/doc/_build/
|
||||
/doc/_theme/
|
||||
/doc/compatibility/boards.inc
|
||||
/doc/compatibility/cable.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
|
||||
######
|
||||
|
||||
* anlogic JTAG adapter
|
||||
* `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
|
||||
.. include:: cable.inc
|
||||
|
|
|
|||
10
doc/conf.py
10
doc/conf.py
|
|
@ -15,7 +15,9 @@ from data import (
|
|||
ReadBoardDataFromYAML,
|
||||
BoardDataToTable,
|
||||
ReadFPGADataFromYAML,
|
||||
FPGADataToTable
|
||||
FPGADataToTable,
|
||||
ReadCableDataFromYAML,
|
||||
CableDataToTable
|
||||
)
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
|
@ -34,7 +36,7 @@ source_suffix = {
|
|||
|
||||
master_doc = "index"
|
||||
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"
|
||||
|
||||
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:
|
||||
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"],
|
||||
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