Go to file
Sean Cross 2437e8b5c1 sw: Makefile: support litex build environment
Allow this software package to be built from within the Litex build system.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-06 09:34:26 +08:00
hw foboot-bitstream: add hacker revision 2019-04-05 18:58:19 +08:00
sw sw: Makefile: support litex build environment 2019-04-06 09:34:26 +08:00
.gitignore gitmodules: add hw deps 2019-03-05 09:16:36 +08:00
.gitmodules gitmodules: add hw deps 2019-03-05 09:16:36 +08:00
LICENSE initial commit 2019-01-01 10:24:08 +08:00
README.md README: add information about sw and hw and building 2019-04-01 10:10:13 +08:00

Foboot: The Bootloader for Fomu

Foboot is a failsafe bootloader for Fomu. It exposes a DFU interface to the host. Foboot comes in two halves: A Software half and a Hardware half.

Building the Hardware

The hardware half is written in LiteX, and uses lxbuildenv to handle Python dependencies. Hardware is contained within the hw/ directory. You must install software dependencies yourself:

  • Python 3.5+
  • Nextpnr
  • Icestorm
  • Yosys
  • Git

Subproject dependencies will be taken care of with lxbuildenv.

Usage

To build, run foboot-bitstream.py:

python3 .\foboot-bitstream.py

There are multiple build options available. Use --help to list them.

Build files will be generated in the build/ directory. You will probably be most interested in build/gateware/top.bin and build/software/include/generated/.

Tests

You can run tests by using the unittest command:

python .\lxbuildenv.py -r -m unittest -v valentyusb.usbcore.cpu.epfifo_test.TestPerEndpointFifoInterface

Building the Software

Software is contained in the sw/ directory.