diff --git a/README.md b/README.md index e69de29..233559b 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,35 @@ +# 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. \ No newline at end of file diff --git a/hw/README.md b/hw/README.md deleted file mode 100644 index a287ba8..0000000 --- a/hw/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Foboot Firmware Component - -## Usage - -To build: - -`python3 .\foboot-bitstream.py` - -This will ensure you have the required dependencies, and check out all submodules. - -## Tests - -You can run tests by using the `unittest` command: - -`python .\lxbuildenv.py -r -m unittest -v valentyusb.usbcore.cpu.epfifo_test.TestPerEndpointFifoInterface` \ No newline at end of file