circuitpython/ports/litex
Dan Halbert 84807cd6eb Change I2C terminology from "peripheral" to "target" 2022-08-09 13:13:19 -04:00
..
boards/fomu Board definition clean up 2022-03-21 17:58:43 -07:00
common-hal Conditionalize LTO 2022-05-27 12:59:54 -07:00
hw
supervisor litex: Enable -Werror=missing-prototypes 2021-11-12 19:13:51 -06:00
.gitignore
Makefile Conditionalize LTO 2022-05-27 12:59:54 -07:00
README.rst
background.c litex: Enable -Werror=missing-prototypes 2021-11-12 19:13:51 -06:00
background.h
crt0-vexriscv.S
fatfs_port.c
irq.h
mpconfigport.h
mpconfigport.mk Change I2C terminology from "peripheral" to "target" 2022-08-09 13:13:19 -04:00
mphalport.c Start of USB host API 2022-03-07 18:07:25 -08:00
mphalport.h
qstrdefsport.h

README.rst

LiteX (FPGA)
============

`LiteX <https://github.com/enjoy-digital/litex>`_ is a Python-based System on a Chip (SoC) designer
for open source supported Field Programmable Gate Array (FPGA) chips. This means that the CPU
core(s) and peripherals are not defined by the physical chip. Instead, they are loaded as separate
"gateware". Once this gateware is loaded, CircuitPython can be loaded on top of it to work as
expected.

Installation
-------------

You'll need ``dfu-util`` to install CircuitPython on the Fomu.

Make sure the foboot bootloader is updated. Instructions are here: https://github.com/im-tomu/fomu-workshop/blob/master/docs/bootloader.rst

Once you've updated the bootloader, you should know how to use ``dfu-util``. It's pretty easy!

To install CircuitPython do:

.. code-block:: shell

  dfu-util -D adafruit-circuitpython-fomu-en_US-<version>.dfu

It will install and then restart. CIRCUITPY should appear as it usually does and work the same.