Skip to main content

Python library and host tools for Apollo FPGA debug controllers.

Project description

Apollo FPGA Programmer / Debugger

Apollo is the on-board debugger and programmer on Cynthion. It is used to load gateware over USB onto Cynthion's FPGA. Alternatively it may be used as an on-board or external debugger for certain other FPGA platforms.

Apollo consists of two main parts: firmware for the on-board debug microcontroller and Python-based software for the host computer.

Installing Host Software

If you have a Cynthion, Apollo host software is installed automatically as a dependency when you install Cynthion software.

To explicitly install the apollo-fpga Python module and the apollo command-line tool or to upgrade them to the latest version run:

pip install --upgrade apollo-fpga

Building and Installing Firmware

To upgrade Apollo firmware on a Cynthion it is typically not necessary to compile the firmware yourself. Instead follow Upgrading Cynthion Device Firmware.

To compile and install onto Cynthion run:

$ cd apollo/firmware
$ make APOLLO_BOARD=cynthion get-deps dfu

This will download dependencies, compile the firmware, and install it onto Cynthion with pyfwup and Saturn-V.

Alternatively you can use variables to specify a different board or a fixed hardware revision:

$ cd apollo/firmware
$ make APOLLO_BOARD=cynthion BOARD_REVISION_MAJOR=1 BOARD_REVISION_MINOR=4 get-deps dfu

A specified revision will override automatic hardware revision detection which is supported on Cynthion r0.6 and above. You must specify the revision to compile firmware for a Cynthion older than r0.6.

Once installation is complete, LED A should activate, indicating that Apollo is running.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apollo_fpga-1.1.1.tar.gz (53.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apollo_fpga-1.1.1-py3-none-any.whl (58.3 kB view details)

Uploaded Python 3

File details

Details for the file apollo_fpga-1.1.1.tar.gz.

File metadata

  • Download URL: apollo_fpga-1.1.1.tar.gz
  • Upload date:
  • Size: 53.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.20

File hashes

Hashes for apollo_fpga-1.1.1.tar.gz
Algorithm Hash digest
SHA256 4822d50c17751a21f0147bceeb650973224735058b8b7661e49a064fc4646edf
MD5 c22376dda3c1d461c3b95b63325eac68
BLAKE2b-256 1046a453246e1b66609bea15a182c137789ff36bbe2bdc84fc7f8eff26dc4e48

See more details on using hashes here.

File details

Details for the file apollo_fpga-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: apollo_fpga-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 58.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.20

File hashes

Hashes for apollo_fpga-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4552b7f87543f19c5f401be6b8e043b62bbc4bd212d558dbd846ba26a6f20beb
MD5 6cbc08460ac87f18ce12cb9ea51aaf74
BLAKE2b-256 d800c0f2321c84a54622218e8abf47711fdb0cffd20fe5b61229b79977a9d285

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page