/JumpStart

Framework for writing tests for RISC-V CPU/SOC validation.

Primary LanguageCApache License 2.0Apache-2.0

JumpStart

REUSE status

Bare-metal kernel, APIs and build infrastructure for writing directed diags for RISC-V CPU/SoC validation.

Setup the Environment

JumpStart requires the following tools to be available in your path:

JumpStart has been tested on Ubuntu 22.04 and macOS.

Test the Environment

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

Building and Running Diags

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

Documentation