Bare-metal kernel, APIs and build infrastructure for writing directed diags for RISC-V CPU/SoC validation.
JumpStart requires the following tools to be available in your path:
JumpStart has been tested on Ubuntu 22.04 and macOS.
This will build JumpStart and run the unit tests.
meson setup builddir --cross-file cross_compile/public/gcc_options.txt --cross-file cross_compile/gcc.txt --buildtype release
meson compile -C builddir
meson test -C builddir
The scripts/build_diag.py
script provides an easy way to build and run diags on different targets.
This will build the diag in the tests/common/test000
using the gcc
toolchain and run it on the spike
target:
❯ scripts/build_diag.py --diag_src_dir tests/common/test000/ --diag_build_dir /tmp/diag
INFO: [MainThread]: Diag built:
Name: test000
Directory: /tmp/diag
Assets: {'disasm': '/tmp/diag/test000.elf.dis', 'binary': '/tmp/diag/test000.elf', 'spike_trace': '/tmp/diag/test000.itrace'}
BuildType: release,
Target: spike
RNG Seed: 8410517908284574883
Source Info:
Diag: test000, Source Path: /Users/joy/workspace/jumpstart/tests/common/test000
Sources: ['/Users/joy/workspace/jumpstart/tests/common/test000/test000.c']
Attributes: /Users/joy/workspace/jumpstart/tests/common/test000/test000.diag_attributes.yaml
Meson options overrides file: None