git checkout https://github.com/scarv/uarch-leakage.git
cd uarch-leakage
git submodule update --init --recursive
-
From the root of the repository, run:
pip3 install -r requirements.txt
to install all standard required python modules for the project.
-
You will also need to install the drivers and Python3 API wrappers for the PicoScope 5000 oscilliscope. Instructions for this are found here.
Not all toolchains need to be installed. Only the ones for the targets which you care about.
-
The project has so far used the ARM 2016 Q1 toolchain.
-
Download from this page.
-
Once installed, you must point the
UAS_ARM_TOOLCHAIN_ROOT
environment variable at the root of the installation:export UAS_ARM_TOOLCHAIN_ROOT=/path/to/installation
-
This is required only for the
intel_d2000
target. -
Download from here
-
Once installed, you must point the
IAMCU_TOOLCHAIN_DIR
environment variable at the root of the installation:export IAMCU_TOOLCHAIN_DIR=/path/to/installation
-
A RISC-V toolchain can be easily built from scratch, or downloaded from SiFive.
-
Once installed, you must point the
RISCV
environment variable at the root of the installation:export RISCV=/path/to/installation
-
Vivado and the Microblaze toolchain (required for the
sakurax_*
targets) can be downloaded from here- The project has so far been tested with version
2019.1
.
- The project has so far been tested with version
-
After installation:
-
Set the
VIVADO_ROOT
environment variable to the root of the vivado installation. -
Likewise, set the
UAS_MICROBLAZE_TOOLCHAIN_ROOT
environment variable to the root of the Microblaze toolchain installation.This is usually under
/opt/Xilinx/SDK/<VERSION>/gnu/microblaze/bin
-
-
You will need the relevant Segger J-Link debug probe drivers.
- See the Segger website.