circuitpython/ports/litex
Scott Shawcroft 8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
..
boards/fomu fix fomu board.c 2023-10-13 19:55:43 -04:00
common-hal initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
hw run code formatting script 2021-03-15 19:27:36 +05:30
supervisor Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
Makefile Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
README.rst Update the supported ports 2020-03-31 18:27:55 -07:00
background.c Fix ticks 2023-04-07 09:49:51 -07:00
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
crt0-vexriscv.S fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
irq.h pre-commit fixes 2023-08-14 00:59:22 -04:00
mpconfigport.h MP_REGISTER_ROOT_POINTER for port-specific root pointers 2023-09-29 15:46:42 -04:00
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 Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
qstrdefsport.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00

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.