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.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

apollo_fpga-1.1.0-py3-none-any.whl (58.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for apollo_fpga-1.1.0.tar.gz
Algorithm Hash digest
SHA256 74b71c990ff666142a2f5ec9929021b6e3b98d9de852e21572e61d411d33c214
MD5 44df623a6938c8f8001a76fa3a8d38dc
BLAKE2b-256 c2595c7756d555a2bb01d40a79062f106766a7d60266acfa7864b6166fe39bf6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apollo_fpga-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4b05d976cbc92aaf64a90bd1a1b16dd9f0f03f7315ddec08875627887ef4841
MD5 22e3c26aad4bb1986cee317408dc481d
BLAKE2b-256 14b65cd5d01d8180e075a489a9c2a5f7290b52586e0e9a6c88314827d953643b

See more details on using hashes here.

Supported by

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