commit | ae229592f4e0ec136678ad9cdc6142500ff5f878 | [log] [tgz] |
---|---|---|
author | Sam Leffler <sleffler@google.com> | Tue Nov 28 16:44:24 2023 -0800 |
committer | Sam Leffler <sleffler@google.com> | Thu Dec 14 13:14:36 2023 -0800 |
tree | 67956b0da4fce16890148f0c3a48d49a9cfe9688 | |
parent | e6158fcdbf1553738464e2b3c6cbacafc34e0889 [diff] |
playback: rewrite & switch to 32-bit sample data - eliminate intermediate record buffer - switch to u32 samples instead of byte mucking - grow samples array to match C code (cannot go bigger as application cannot be loaded because ProcessManager tries to allocate all pages at once and MemoryManager runs out of contiguous memory) - make left/right channel handling match C code - when scaling recorded waveform for playback write left & right channels (C code writes only the right channel) - detect the end of renode sample input data to speedup testing - remove an unneeded log msg - cleanup unsafe usage Change-Id: Ic26356466cf8e53359bc6d44ac53e17ff5020274
Shodan is a project to build a low-power secure embedded platform for Ambient ML applications. The target platform leverages RISC-V and OpenTitan.
The Shodan 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. CantripOS is comprised of a set of system services that are assembled using CAmkES and applications that are dynamically loaded into a constrained seL4 thread context and communicate with system services through an SDK runtime environment.
The CAmkES project that assembles the CantripOS system services is found in this git repository. It exists outside the seL4 source trees since it contains code not intended to go to upstream seL4.
The target-platform-dependent CAmkES assembly description is found in apps/system/platforms. It is built using the standard CAmkES build system and requires the CAmkES dependencies already be installed. Top-level configuration is found in easy-settings.cmake and settings.cmake with build-related configuration in build/kata.mk and nearby makefiles.
The following sections provide more in-depth documentation:
CantripOS software organization
Target architecture dependencies
CantripOS capDL rootserver application
Depending on CantripOS Rust crates
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 2022 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.