Back to Tock

README

boards/README.md

latest12.3 KB
Original Source

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 variant 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

BoardArchitectureMCUInterfaceApp deploymentQEMU Support?
HailARM Cortex-M4SAM4LC8BABootloadertockloaderNo
ImixARM Cortex-M4SAM4LC8CABootloadertockloaderNo
Nordic nRF52840-DKARM Cortex-M4nRF52840jLinktockloaderNo
Nano 33 BLEARM Cortex-M4nRF52840BootloadertockloaderNo
Nano 33 BLE Rev2ARM Cortex-M4nRF52840BootloadertockloaderNo
BBC Micro:bit v2ARM Cortex-M4nRF52833openocdtockloaderNo
Clue nRF52840ARM Cortex-M4nRF52840BootloadertockloaderNo

Tier 2

BoardArchitectureMCUInterfaceApp deploymentQEMU Support?
Nordic nRF52-DKARM Cortex-M4nRF52832jLinktockloaderNo
Nordic nRF52840-DongleARM Cortex-M4nRF52840jLinktockloaderNo
Particle BoronARM Cortex-M4nRF52840jLinktockloaderNo
MakePython nRF52840dkARM Cortex-M4nRF52840BootloadertockloaderNo
ST Nucleo F446REARM Cortex-M4STM32F446openocdcustomhttps://github.com/tock/tock/issues/1827
ST Nucleo F429ZIARM Cortex-M4STM32F429openocdcustomhttps://github.com/tock/tock/issues/1827
STM32F3Discovery kitARM Cortex-M4STM32F303VCT6openocdcustomhttps://github.com/tock/tock/issues/1827
STM32F412G Discovery kitARM Cortex-M4STM32F412Gopenocdcustomhttps://github.com/tock/tock/issues/1827
STM32F429I Discovery kitARM Cortex-M4STM32F429Iopenocdcustomhttps://github.com/tock/tock/issues/1827
Pico Explorer BaseARM Cortex-M0+RP2040openocdopenocdNo
Nano RP2040 ConnectARM Cortex-M0+RP2040customcustomNo
Raspberry Pi PicoARM Cortex-M0+RP2040openocdopenocdNo
Raspberry Pi Pico WARM Cortex-M0+RP2040openocdopenocdNo
SparkFun RedBoard Artemis NanoARM Cortex-M4Apollo3customcustomNo
SparkFun LoRa Thing Plus - expLoRaBLEARM Cortex-M4Apollo3customcustomNo
SparkFun RedBoard Artemis ATPARM Cortex-M4Apollo3customcustomNo
SMA Q3ARM Cortex-M4nRF52840openocdtockloaderNo
Wio WM1110 Development BoardARM Cortex-M4nRF52840BootloadertockloaderNo

Tier 3

BoardArchitectureMCUInterfaceApp deploymentQEMU Support?
WeAct F401CCU6 Core BoardARM Cortex-M4STM32F401CCU6openocdcustomNo
SparkFun RedBoard Red-VRISC-VFE310-G002openocdtockloaderYes (5.1)
SiFive HiFive1 Rev BRISC-VFE310-G002openocdtockloaderYes (5.1)
BBC HiFive InventorRISC-VFE310-G003tockloadertockloaderNo
ESP32-C3-DevKitM-1RISC-V-ish RV32IESP32-C3customcustomNo
i.MX RT 1052 Evaluation KitARM Cortex-M7i.MX RT 1052customcustomNo
Teensy 4.0ARM Cortex-M7i.MX RT 1062customcustomNo
Digilent Arty A-7 100TRISC-V RV32IMACSiFive E21openocdtockloaderNo
MSP432 Evaluation kit MSP432P401RARM Cortex-M4MSP432P401RopenocdcustomNo
CY8CPROTO-062-4343WARM Cortex-M0+PSoC62openocdcustomNo
Raspberry Pi Pico 2ARM Cortex-M33RP2350openocdopenocdNo
LPCXpresso55S69 Development BoardARM Cortex-M33LPC55S6xprobe-rsprobe-rsNo

Other

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

BoardArchitectureMCUInterfaceApp deploymentQEMU Support?
OpenTitan Earlgrey on CW310RISC-V RV32IMCEarlGreycustomcustomYes (5.1)

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

BoardArchitectureMCUInterfaceApp deploymentQEMU Support?
QEMU RISC-V 32 bit virt platformRISC-V RV32IMACQEMUcustomcustomYes (7.2.0)
LiteX on Digilent Arty A-7RISC-V RV32IMCLiteX+VexRiscVcustomtockloader (flash-file)1No
Verilated LiteX SimulationRISC-V RV32IMCLiteX+VexRiscvcustomtockloader (flash-file)1No
VeeR EL2 simulationRISC-V RV32IMCVeeR EL2customcustomNo
QEMU i486 Q53i468Q35customcustomYes

Out of Tree Boards

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

ProjectBoardsArchitectureMCUBuild System
OpenSKnRF52840-DK, nRF52840-Dongle, nRF52840-MDKARM Cortex-M4nRF52840Python script
OpenTitanOpenTitanRISC-V RV32IMCEarlGreyMeson
Tock-on-Titangolf2, papaARM Cortex-M3H1Makefiles

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