Home > Atmel AT91SAM3, Hardware, Nordic Semi, Operating Systems > Tock Open Source OS for Secure IoT Systems Runs on Arm Cortex-M Microcontrollers

Tock Open Source OS for Secure IoT Systems Runs on Arm Cortex-M Microcontrollers

February 13th, 2018 Leave a comment Go to comments

We already have a fair share of open source operating systems running on Arm Cortex-M microcontrollers with FreeRTOS, mbed OS, Zephyr OS, RIOT, and many others. Earlier this morning, as I wrote about the Embedded Linux and IoT Summit 2018, I discovered you can now also add Tock to the list, with the operating system specifically designed for (secure) IoT on Arm Cortex-M MCUs.

According to the abstract, Tock aims to enable more secure and extensible IoT systems by using a language sandbox and hardware enforced mechanism to isolate third-party and other untrusted code in the system.

Tock Architecture

The operating systems is comprised of three components:

  • A trusted core kernel written in Rust language with a HAL, scheduler and platform-specific configuration
  • Capsules compiled with the kernel and use Rust’s type and module systems for safety; typically used for drivers & virtualization layers
  • User-space processes using the MPU for hardware protection at runtime; used for network stack, applications, etc…

System components (an application, driver, virtualization layer, etc.) can be implemented in either a capsule or process, but each mechanism trades off concurrency and safety with memory consumption, performance, and granularity.

Category Capsule Process
Protection Language Hardware
Memory Overhead None Separate stack
Protection Granularity Fine Coarse
Concurrency Cooperative Preemptive
Update at Runtime No Yes

Some of the supported hardware two board based on Microchip Atmel SAM4L Cortex-M4 MCU and Nordic Semi nRF51822 BLE Radio:

  • $60 Hail development module, based on Photon Particle form factor, and including a temperature and humidity sensor, light intensity sensor, accelerometer & gyroscope.
  • Upcoming $100 IMIX development board with the same sensors as Hail, but also adding an 802.15.4 radio, hardware RNG, USB host port, Arduino headers and more.

Click to Enlarge

You’ll find documentation, information about the hardware, and community links in TockOS website, or directly on Helena Project’s github account, where beside the source code for the project, you can also access tools, and the (EAGLE) hardware design files for IMIX board.

  1. No comments yet.
  1. No trackbacks yet.