Open Se Cura is a project to build a low-power secure embeded platform for Ambient ML applications. The target platform leverages RISC-V and OpenTitan.
The Open Se Cura software includes a home-grown operating system named CantripOS, that runs on top of seL4 and (ignoring the seL4 kernel) is written almost entirely in Rust.
The Open Se Cura (and CantripOS) are definitely a work in progress. The CantripOS components are based on an augmented version of seL4's CAmkES framework. Critical system services are CAmkES components that are statically configured. Applications are developed using an AmbiML-focused SDK and dynamically loaded by the system services.
Open Se Cura consists of multiple git repositories stitched together with the repo tool. The following git repositories are currently available:
Our primary development environment uses Renode for simulation of the Open Se Cura hardware design. Renode allows us to do rapid software/hardware co-design of our multi-core RISC-V target platform. The software environment is derived from those provided by seL4 & OpenTitan. Debugging leverages Renode facilites and gdb talking to Renode for system software and application developement.
This repository includes a multi-platform build framework for use with the Open Se Cura software. This framwork leverages make, cmake, and cargo. To get started follow these download steps to clone the Open Se Cura project from repo using the repo tool We assume below this lands in a top-level directory named “opensecura”.
mkdir opensecura cd opensecura repo init -u https://opensecura.googlesource.com/manifest repo sync -j$(nproc)
See the top-level GettingStarted.md for more detail once you download the repository with repo sync
Every file containing source code includes copyright and license information. For dependent / non-Google code these are inherited from the upstream repositories. If there are Google modifications you may find the Google Apache license found below.
Apache header:
Copyright 2023 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Going forward, we’ll continue to evolve Open Se Cura in the open and seek to gradually onboard additional partners to contribute to the codebase. Please contact project-open-se-cura-community@googlegroups.com for more information.