This repository contains software, build flows and examples for the Sonata System running on the Sonata PCB.
For a guide on how to get up and running on building software for the sonata board see the getting started guide. After you are all set up, take a look at the hardware access control exercise.
You are in the sonata-software
repository.
This repository wraps the lowrisc/cheriot-rtos
, adding some Sonata specific demonstration code on top of the CHERIoT stack.
The lowrisc/cheriot-rtos
, included in this repository as a submodule, is a fork of the upstream CHERIoT-Platform/cheriot-rtos
.
CHERIoT-Platform/cheriot-rtos
contains the CHERIoT software stack; it is well documented by the CHERIoT Programmer's Guide.
The lowrisc/cheriot-rtos
fork only exists to hold fresh patches that aren't quite ready to be upstreamed to CHERIoT-Platform/cheriot-rtos
but will be.
Other repositories of note:
sonata-system
: holds the Sonata system RTL and bootloader which come together to generate the bitstream.sonata-rp2040
: The firmware that is running on the Sonata's RP2040 microcontroller and emulates the 'SONATA' drive when you plug it into your computer.CHERIoT-Platform/llvm-project
: The CHERIoT compiler toolchain.cheriot-audit
: A tool to explore and verify the relationships between CHERIoT RTOS components.CHERIoT-Platform/book
: The source of the CHERIoT Programmer's Guide.
For hardware documentation, see the Sonata system book.
Unless otherwise noted, everything in the repository is covered by the Apache License, Version 2.0. See the LICENSE file for more information on licensing.