Skip to content
HOPE Software Toolchain
Makefile
Branch: master
Clone or download
Permalink
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 flash.lds 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
README.md Fix installation instructions Jul 15, 2019

README.md

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:

[submodule]
        recurse = true
[push]
        recurseSubmodules = on-demand
[diff]
        submodule = log
[status]
        submoduleSummary = true

The following command will clone the full HOPE software toolchain:

git clone --recursive https://github.com/draperlaboratory/hope-src.git

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.

./tools/isp-support/install-dependencies-ubuntu1804

Building

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.