Requirements¶
For this workshop you will need;
The Fomu workshop files - see Required Files section.
The Fomu toolchain - see Required Software section.
A Fomu board - see Required Hardware section.
Note
If you are at a workshop, please install the tools first and then get the hardware from your presenter.
Warning
Your Fomu should be running Foboot v2.0.3 or newer.
You can see what version you are running by typing dfu-util -l
like so;
dfu-util -l
If your Fomu is running an version older than v2.0.3 follow the Updating the Fomu Bootloader section.
Required Files¶
You will need the Workshop files. They are located in the fomu-workshop Github repository. You can download master.zip or clone it from git:
git clone --recurse-submodules https://github.com/im-tomu/fomu-workshop.git
If you’re attending a workshop that provides USB drives, these files may
be available on the USB drive under the Workshop
directory.
Required Software¶
Fomu requires specialized software. This software is provided for Linux x86/64, macOS, and Windows, via Fomu Toolchain.
Debian packages are also available for Raspberry Pi.
If you’re taking this workshop as a class, the toolchains are provided on the USB disk.
To install the software, extract it somewhere on your computer, then open up a terminal window and add that directory to your PATH:
$ export PATH=[path-to-toolchain]/bin:$PATH
export PATH=[path-to-toolchain]/bin:$PATH
If you use PowerShell as your terminal;
If you use cmd.exe
as your terminal;
PATH=[path-to-toolchain]\bin;%PATH%
To confirm installation, run the yosys
command and confirm you get
the following output;
Ensure it says (Fomu build). Type exit
to quit yosys
.
Note
The Fomu Toolchain consists of the following tools;
Tool |
Purpose |
---|---|
Verilog synthesis |
|
FPGA place-and-route |
|
FPGA bitstream packing |
|
Compile code for a RISC-V softcore |
|
Load a bitstream or code onto Fomu |
|
Convert Migen/Litex code to Verilog |
|
Interact with Fomu over USB |
|
serial console |
Interact with Python over a virtual console |
Required Hardware¶
For this workshop, you will need a Fomu board.
Aside from that, you need a computer with a USB port that can run the Required Software.
You should not need any special drivers, though on Linux you may need sudo access, or special udev rules to grant permission to use the USB device from a non-privileged account.
This workshop may be competed with any model of Fomu, though there are some parts that require you to identify which model you have. See the Which Fomu do I have? section.
Which Fomu do I have?¶
Hacker |
Production |
|
---|---|---|
String |
hacker |
pvt |
Bash Command |
|
|
Front |
||
Back |
||
In Case |
||
Parts |
||
Color |
dark blue |
cyan / light blue |
Bootloader |
Fomu Hacker running DFU Bootloader vX.X.X |
Fomu PVT running DFU Bootloader vX.X.X |
Description |
These are the original design and cut corners to make it easier to manufacture. If you received one directly from Tim before 36C3, you probably have one of these. Hacker boards have white silkscreen on the back. |
If you ordered a Fomu from Crowd Supply, this is the model you’ll receive. It is small, and fits in a USB port. There is no silkscreen on it. This model of Fomu has a large silver crystal oscillator that is the tallest component on the board. |
Received at |
From Tim at 35C3, CCCamp19, HackADay Supercon 2019 |
At RISC-V Summit 2019, 36C3, Crowdsupply, Mouser |
Buy more |
End of Life |
Note
There are also Fomu EVT boards which were shipped to early backers of the Fomu crowd funding campaign. This model of Fomu is about the size of a credit card. It should have the text “Fomu EVT3” written across it in white silkscreen. If you have a different EVT board such as EVT2 or EVT1, they should work also.