Installation

We currently support Linux and Apple Silicon MacOS.

You can use any distro but you will need to install the following:

  • libhidapi

  • libusb

  • docker

Optionally, if you are using the EVK2 cable-attached-dev kit, you will need the appropriate firmware to run it in cable-attached mode. Please consult our online firmware guide for information on how to obtain this firmware and how to flash it.

Ubuntu

We will give Ubuntu as an example.

We need to install hidapi packages and a udev rule.

sudo apt install libhidapi-hidraw0 libhidapi-libusb0

You will also need the teensy udev rule. Download the 00-teensy.rules file from the link and put it in /etc/udev/rules.d/. Then you will need to run

sudo udevadm control --reload-rules && sudo udevadm trigger

Apple Silicon Mac

brew install hidapi libusb

Then you will need to add to your zshrc and restart all open terminals.

export DYLD_LIBRARY_PATH=/opt/homebrew/lib

You could do this by running

echo 'export DYLD_LIBRARY_PATH=/opt/homebrew/lib' >> ~/.zshrc

Python 3.10 is required (Note: Only 3.10 is supported explicitly. YMMV with newer versions.). Femtocrux requires docker to be installed (see other instructions for femtocrux).

From PyPI:

pip install femtodriver

This will install the femtodrive and pull_femtocrux_image executables.

Docker Installation

You will need to install docker to run our compiler and simulator. Please refer to the docker installation instructions to do this.

Docker Image Password Authentication

Femtodriver relies on running a docker container (called femtocrux) which contains the compiler to compile your model for the EVK2 SPU-001. In order to download the docker container you will be prompted for a password on your first run on the commandline whether you use the CLI or the Python API.

In order to do this before your first run, you can run:

pull_femtocrux_image

This will trigger the password prompt and allow you to download the docker container. You only have to do this once per femtocrux version release. You may have to do it again if we update the version and you want to get a newer version of femtocrux.