Skip to content
HOPE Software Toolchain
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
FreeRTOS @ 828ef32 Bump up FreeRTOS and freedom-e-sdk for UART fixes Sep 5, 2019
freedom-e-sdk @ 04d68a8 Update freedom-e-sdk with update Sep 19, 2019
llvm-project @ b99f951 Bump LLVM and newlib with path fixes Sep 12, 2019
policies @ a0dfeb0
policy-engine @ f6ee11e Bump tools, policies, and policy engine for integration changes Sep 13, 2019
policy-tool @ 3d2613c Bump policy tool Sep 13, 2019
qemu @ e5e646d Move to QEMU with IR validator support Sep 17, 2019
riscv-gnu-toolchain @ 520f26e Update newlib to most recent version, dropping ISP work-arounds Aug 28, 2019
riscv-newlib @ 104979a Bump LLVM and newlib with path fixes Sep 12, 2019
tools @ b8f11b7 Bump tools, policies, and policy engine for integration changes Sep 13, 2019
.gitmodules Remove renode (#7) Jun 19, 2019
Jenkinsfile Produce Test Results on Jenkins (#20) Sep 12, 2019
Jenkinsfile-base-tools Jenkinsfiles to build tools artifact and to run tests (#4) Jun 5, 2019
Makefile Upstream FreeRTOS support May 8, 2019 Fix installation instructions Jul 15, 2019

HOPE Software Toolchain

The hope-src repository is a super-repository for the HOPE software toolchain.

Cloning the Source

As hope-src relies on git submodules, we recommend the following .gitconfig settings:

        recurse = true
        recurseSubmodules = on-demand
        submodule = log
        submoduleSummary = true

The following command will clone the full HOPE software toolchain:

git clone --recursive

Building the HOPE Toolchain

This is a step-by-step guide on how to build the HOPE software toolchain.

Setting Environment Variables

To set the necessary environment variables, run the following command:

ISP=/your/isp/build/ source ./tools/isp-support/set-env

If no ISP variable is specified, the default build location is ~/.local/isp/.

Software Prerequisites

Currently, HOPE development is only supported on Ubuntu 18.04.

Ubuntu 18.04

On Ubuntu 18.04 run the following to install the necessary software.



The software can be built using the Makefile provided in this repository. It is recommend you run make with the -j# flag as this will instruct make to perform a parallel build with a maximum of # processes. A good choice for # is the number of CPUs you have which is returned by nproc. Therefore you can run the following:

make -j `nproc`

Running Tests

Bare Metal Tests

make test-bare JOBS=auto

Note: JOBS allows for parallel test runs. You may specify the number of parallel jobs with JOBS=N

FreeRTOS Tests

make test-frtos JOBS=auto

Continuous Integration

Steps to run your changes through Continuous Integration (CI):

  1. After updating all the individual repositories, create a new hope-src branch starting with "pr-".
  2. Bump the submodules in hope-src with your new repositories.
  3. Jenkins will watch for pr-* branches and set build status on hope-src as well as each individual repository.
You can’t perform that action at this time.