Skip to content
A secure embedded operating system for Cortex-M based microcontrollers
Branch: master
Clone or download
bors and jrvanwhy Merge #1295
1295: Document what registers may be clobbered by Tock's syscalls. r=alevy a=jrvanwhy

### Pull Request Overview

This adds a paragraph to the Syscalls documentation describing what syscalls can clobber (registers and memory).

Co-authored-by: Johnathan Van Why <jrvanwhy@google.com>
Latest commit 10723bd Mar 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github readme/docs: fix many links Nov 30, 2018
.vscode boards: remove nrf51dk Dec 7, 2018
arch arch/{cortex-m4,cortex-m3}: Update documentation for `switch_to_user` Feb 14, 2019
boards chore(bump tock_registers): v0.3.0 Mar 5, 2019
capsules Asked Pat what this comment meant (since the registers are on the RF233 Feb 16, 2019
chips chips/stm32f4xx: Remove unused import Feb 25, 2019
doc Document what registers may be clobbered by Tock's syscalls. Mar 12, 2019
kernel Make process RAM Read-Write, not Read-Write-Execute Mar 1, 2019
libraries
tools Ooops Jan 15, 2019
vagrant rust: update nightly to nightly-2018-06-26 Jun 26, 2018
.gitignore
.gitmodules
.travis.yml update to nightly-2018-11-30 Nov 30, 2018
CHANGELOG.md Rename all occurances of UartMux to MuxUart Dec 18, 2018
COPYRIGHT Remove redundant NOTICE file Sep 20, 2016
LICENSE-APACHE
LICENSE-MIT This re-merges the branch with the master branch. The problem was in the Jul 16, 2016
Makefile
README.md
bors.toml
rust-toolchain update to nightly-2018-11-30 Nov 30, 2018
shell.nix

README.md

TockOS

Build Status irc

Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers. Tock uses two mechanisms to protect different components of the operating system. First, the kernel and device drivers are written in Rust, a systems programming language that provides compile-time memory safety, type safety and strict aliasing. Tock uses Rust to protect the kernel (e.g. the scheduler and hardware abstraction layer) from platform specific device drivers as well as isolate device drivers from each other. Second, Tock uses memory protection units to isolate applications from each other and the kernel.

Learn More

How would you like to get started?

Learn How Tock Works

Tock is documented in the doc folder. Read through the guides there to learn about the overview and design of Tock, its implementation, and much more.

Use Tock

Follow our getting started guide to set up your system to compile Tock.

Head to the hardware page to learn about the hardware platforms Tock supports. Also check out the workshop-style courses to get started running apps with TockOS.

Find example applications that run on top of the Tock kernel written in both Rust and C.

Develop Tock

Read our getting started guide to get the correct version of the Rust compiler, then look through the /kernel, /capsules, /chips, and /boards directories.

We encourage contributions back to Tock and are happy to accept pull requests for anything from small documentation fixes to whole new platforms. For details, check out our Contributing Guide. To get started, please do not hesitate to submit a PR. We'll happily guide you through any needed changes.

Keep Up To Date

Check out the blog where the Talking Tock post series highlights what's new in Tock. Also, follow @talkingtock on Twitter.

You can also browse our email group and our Slack to see discussions on Tock development.

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.