Skip to content

Latest commit

 

History

History
125 lines (102 loc) · 10.3 KB

README.md

File metadata and controls

125 lines (102 loc) · 10.3 KB

Platforms Supported by Tock

The /boards directory contains the physical hardware platforms that Tock supports.

Tock divides boards into three approximate 'tiers' of support. These tiers are newly defined and are a bit informal as a result, but the approximate definitions:

  • Tier 1: The most feature-complete and thoroughly tested boards. These are boards used most regularly by core team members or other highly engaged contributors. They are used as examples in the Tock Book.

  • Tier 2: Platforms seeing reasonably regular use. These generally have broader, but still incomplete, peripheral support. They may also be 'relatives' of Tier 1 boards (e.g. a less-used varient in the nrf52 family) – likely in good shape, but not heavily tested. Some Tier 2 boards may have known issues, which are documented in release notes during release testing.

  • Tier 3: New or highly experimental. These should support the minimum platform requirements laid out in the Porting documentation, but make no promises beyond that.

  • Other: See each board for specific details.


RISC-V?

Tock has solid support for the RISC-V architecture, but no tier 1 or 2 support for any single RISC-V board. If you are interested in running Tock on RISC-V there are a few options:

  1. If you would like a cheap RISC-V development board you can use the ESP32-C3-DevKitM-1. This board is under active development to move to Tier 2 support.
  2. For a fully virtual platform on QEMU you can use the QEMU RISC-V 32 bit virt platform board. This can be quickly started and run on a host computer.
  3. For a simulation environment you can use Verilator with OpenTitan Earlgrey on CW310 or Verilated LiteX Simulation.
  4. For an FPGA setup you can use OpenTitan Earlgrey on CW310 or LiteX on Digilent Arty A-7.

Tier 1

Board Architecture MCU Interface App deployment QEMU Support?
Hail ARM Cortex-M4 SAM4LC8BA Bootloader tockloader No
Imix ARM Cortex-M4 SAM4LC8CA Bootloader tockloader No
Nordic nRF52840-DK ARM Cortex-M4 nRF52840 jLink tockloader No
Nano 33 BLE ARM Cortex-M4 nRF52840 Bootloader tockloader No
BBC Micro:bit v2 ARM Cortex-M4 nRF52833 openocd tockloader No
Clue nRF52840 ARM Cortex-M4 nRF52840 Bootloader tockloader No

Tier 2

Board Architecture MCU Interface App deployment QEMU Support?
Nordic nRF52-DK ARM Cortex-M4 nRF52832 jLink tockloader No
Nordic nRF52840-Dongle ARM Cortex-M4 nRF52840 jLink tockloader No
Particle Boron ARM Cortex-M4 nRF52840 jLink tockloader No
ACD52832 ARM Cortex-M4 nRF52832 jLink tockloader No
ST Nucleo F446RE ARM Cortex-M4 STM32F446 openocd custom tock#1827
ST Nucleo F429ZI ARM Cortex-M4 STM32F429 openocd custom tock#1827
STM32F3Discovery kit ARM Cortex-M4 STM32F303VCT6 openocd custom tock#1827
STM32F412G Discovery kit ARM Cortex-M4 STM32F412G openocd custom tock#1827
Pico Explorer Base ARM Cortex-M0+ RP2040 openocd openocd No
Nano RP2040 Connect ARM Cortex-M0+ RP2040 custom custom No
Raspberry Pi Pico ARM Cortex-M0+ RP2040 openocd openocd No
SparkFun RedBoard Artemis Nano ARM Cortex-M4 Apollo3 custom custom No
SparkFun LoRa Thing Plus - expLoRaBLE ARM Cortex-M4 Apollo3 custom custom No

Tier 3

Board Architecture MCU Interface App deployment QEMU Support?
WeAct F401CCU6 Core Board ARM Cortex-M4 STM32F401CCU6 openocd custom No
SparkFun RedBoard Red-V RISC-V FE310-G002 openocd tockloader Yes (5.1)
SiFive HiFive1 Rev B RISC-V FE310-G002 openocd tockloader Yes (5.1)
BBC HiFive Inventor RISC-V FE310-G003 tockloader tockloader No
ESP32-C3-DevKitM-1 RISC-V-ish RV32I ESP32-C3 custom custom No
i.MX RT 1052 Evaluation Kit ARM Cortex-M7 i.MX RT 1052 custom custom No
Teensy 4.0 ARM Cortex-M7 i.MX RT 1062 custom custom No
Digilent Arty A-7 100T RISC-V RV32IMAC SiFive E21 openocd tockloader No

Other

An FPGA and Verilator implementation that is well supported and is regularly tested as part of CI.

Board Architecture MCU Interface App deployment QEMU Support?
OpenTitan Earlgrey on CW310 RISC-V RV32IMC EarlGrey custom custom Yes (5.1)

Virtual hardware platforms that are regulary tested as part of the CI.

Board Architecture MCU Interface App deployment QEMU Support?
QEMU RISC-V 32 bit virt platform RISC-V RV32IMAC QEMU custom custom Yes (7.2.0)
LiteX on Digilent Arty A-7 RISC-V RV32IMC LiteX+VexRiscV custom tockloader (flash-file)1 No
Verilated LiteX Simulation RISC-V RV32IMC LiteX+VexRiscv custom tockloader (flash-file)1 No

Out of Tree Boards

Some projects that use Tock maintain their own board definitions outside the Tock repository.

Project Boards Architecture MCU Build System
OpenSK nRF52840-DK, nRF52840-Dongle, nRF52840-MDK ARM Cortex-M4 nRF52840 Python script
OpenTitan OpenTitan RISC-V RV32IMC EarlGrey Meson
Tock-on-Titan golf2, papa ARM Cortex-M3 H1 Makefiles

Footnotes

  1. Tockloader is not able to interact with this board directly, but can be used to work on a flash-image of the board, which can in turn be flashed onto / read from the board. For more specific information, visit the board's README. 2