# CMSIS

Configuration

  framework = `cmsis`

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.

For more detailed information please visit vendor site.

Contents

- Debugging

- Examples

- Platforms

- Boards

## Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

- Tools & Debug Probes

  - On-Board Debug Tools

  - External Debug Tools

### Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

#### On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name | Platform | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Armstrap Eagle 1024 | ST STM32 | STM32F417VGT6 | 168MHz | 1MB | 192KB
Armstrap Eagle 2048 | ST STM32 | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
Armstrap Eagle 512 | ST STM32 | STM32F407VET6 | 168MHz | 512KB | 192KB
RushUp Cloud-JAM | ST STM32 | STM32F401RET6 | 84MHz | 512KB | 96KB
ST 32F411EDISCOVERY | ST STM32 | STM32F411VET6 | 100MHz | 512KB | 128KB
ST 32F429IDISCOVERY | ST STM32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
ST 32F469IDISCOVERY | ST STM32 | STM32F469NIH6 | 180MHz | 1MB | 384KB
ST Nucleo F401RE | ST STM32 | STM32F401RET6 | 84MHz | 512KB | 96KB
ST Nucleo F446ZE | ST STM32 | STM32F446ZET6 | 180MHz | 512KB | 128KB
ST STM32F3DISCOVERY | ST STM32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
ST STM32F4DISCOVERY | ST STM32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
ST STM32LDISCOVERY | ST STM32 | STM32L152RBT6 | 32MHz | 128KB | 16KB

#### External Debug Tools

Boards listed below are compatible with PIO Unified Debugger but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.

Name | Platform | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
1Bitsy | ST STM32 | STM32F415RGT | 168MHz | 1MB | 128KB
3D Printer Controller | ST STM32 | STM32F407VET6 | 168MHz | 512KB | 192KB
Adafruit Feather STM32F405 | ST STM32 | STM32F405RGT6 | 168MHz | 1MB | 128KB
AfroFlight Rev5 (8MHz) | ST STM32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
Black STM32F407VE | ST STM32 | STM32F407VET6 | 168MHz | 512KB | 128KB
Black STM32F407VG | ST STM32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
Black STM32F407ZE | ST STM32 | STM32F407ZET6 | 168MHz | 512KB | 128KB
Black STM32F407ZE | ST STM32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
BlackPill F103C8 | ST STM32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
BlackPill F103C8 (128k) | ST STM32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
BlackPill F401CC | ST STM32 | STM32F401CCT6 | 84MHz | 256KB | 64KB
Blue STM32F407VE Mini | ST STM32 | STM32F407VET6 | 168MHz | 512KB | 128KB
BluePill F103C6 | ST STM32 | STM32F103C6T6 | 72MHz | 32KB | 10KB
BluePill F103C8 | ST STM32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
BluePill F103C8 (128k) | ST STM32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
Core board F401RCT6 | ST STM32 | STM32F401RCT6 | 84MHz | 256KB | 64KB
F407VG | ST STM32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
FK407M1 | ST STM32 | STM32F407VET6 | 168MHz | 512KB | 128KB
M200 V2 | ST STM32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
M300 | ST STM32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
Piconomix PX-HER0 | ST STM32 | STM32L072RB | 32MHz | 128KB | 20KB
PrntrBoard V2 | ST STM32 | STM32F407RE | 168MHz | 512KB | 192KB
RHF76 052 | ST STM32 | STM32L051C8T6 | 32MHz | 64KB | 8KB
STM32-E407 | ST STM32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
STM32-H407 | ST STM32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
STM3210C-EVAL | ST STM32 | STM32F107VCT6 | 72MHz | 256KB | 64KB
STM32F103C8 (20k RAM. 64k Flash) | ST STM32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
STM32F103CB (20k RAM. 128k Flash) | ST STM32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
STM32F103R8 (20k RAM. 64 Flash) | ST STM32 | STM32F103R8T6 | 72MHz | 64KB | 20KB
STM32F103RB (20k RAM. 128k Flash) | ST STM32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
STM32F103RC (48k RAM. 256k Flash) | ST STM32 | STM32F103RCT6 | 72MHz | 256KB | 48KB
STM32F103RE (64k RAM. 512k Flash) | ST STM32 | STM32F103RET6 | 72MHz | 512KB | 64KB
STM32F103T8 (20k RAM. 64k Flash) | ST STM32 | STM32F103T8T6 | 72MHz | 64KB | 20KB
STM32F103TB (20k RAM. 128k Flash) | ST STM32 | STM32F103TBT6 | 72MHz | 128KB | 20KB
STM32F103VB (20k RAM. 128k Flash) | ST STM32 | STM32F103VBT6 | 72MHz | 128KB | 20KB
STM32F103VC (48k RAM. 256k Flash) | ST STM32 | STM32F103VCT6 | 72MHz | 256KB | 48KB
STM32F103VD (64k RAM. 384k Flash) | ST STM32 | STM32F103VDT6 | 72MHz | 384KB | 64KB
STM32F103VE (64k RAM. 512k Flash) | ST STM32 | STM32F103VET6 | 72MHz | 512KB | 64KB
STM32F103ZC (48k RAM. 256k Flash) | ST STM32 | STM32F103ZCT6 | 72MHz | 256KB | 48KB
STM32F103ZD (64k RAM. 384k Flash) | ST STM32 | STM32F103ZDT6 | 72MHz | 384KB | 64KB
STM32F103ZE (64k RAM. 512k Flash) | ST STM32 | STM32F103ZET6 | 72MHz | 512KB | 64KB
STM32F303CB (32k RAM. 128k Flash) | ST STM32 | STM32F303CBT6 | 72MHz | 128KB | 32KB
STM32F401RB (64k RAM. 128k Flash) | ST STM32 | STM32F401RB | 84MHz | 128KB | 64KB
STM32F401RC (64k RAM. 256k Flash) | ST STM32 | STM32F401RC | 84MHz | 256KB | 64KB
STM32F401RE (96k RAM. 512k Flash) | ST STM32 | STM32F401RE | 84MHz | 512KB | 96KB
STM32F407VE (192k RAM. 512k Flash) | ST STM32 | STM32F407VET6 | 168MHz | 502.23KB | 128KB
STM32F407VG (192k RAM. 1024k Flash) | ST STM32 | STM32F407VGT6 | 168MHz | 1MB | 192KB
ThunderPack | ST STM32 | STM32L072KZ | 32MHz | 192KB | 20KB
Wraith V1 ESC | ST STM32 | STM32F051K6 | 48MHz | 32KB | 7.75KB

## Examples

- CMSIS for ST STM32

## Platforms

Name | Description
--- | ---
ST STM32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

## Boards

Note

- You can list pre-configured boards by platformio boards command or PlatformIO Boards Explorer

- For more detailed `board` information please scroll the tables below by horizontally.

### 1BitSquared

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
1Bitsy | ST STM32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

### Adafruit

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Adafruit Feather STM32F405 | ST STM32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB

### AfroFlight

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
AfroFlight Rev5 (8MHz) | ST STM32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

### Airbot

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Wraith V1 ESC | ST STM32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

### Armed

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
3D Printer Controller | ST STM32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

### Armstrap

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Armstrap Eagle 1024 | ST STM32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
Armstrap Eagle 2048 | ST STM32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
Armstrap Eagle 512 | ST STM32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

### Diymore

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
F407VG | ST STM32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

### Generic

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
BlackPill F103C8 | ST STM32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
BlackPill F103C8 (128k) | ST STM32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
BluePill F103C6 | ST STM32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
BluePill F103C8 | ST STM32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
BluePill F103C8 (128k) | ST STM32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
FK407M1 | ST STM32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
STM32F103C8 (20k RAM. 64k Flash) | ST STM32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
STM32F103CB (20k RAM. 128k Flash) | ST STM32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
STM32F103R8 (20k RAM. 64 Flash) | ST STM32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
STM32F103RB (20k RAM. 128k Flash) | ST STM32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
STM32F103RC (48k RAM. 256k Flash) | ST STM32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
STM32F103RE (64k RAM. 512k Flash) | ST STM32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
STM32F103T8 (20k RAM. 64k Flash) | ST STM32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
STM32F103TB (20k RAM. 128k Flash) | ST STM32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
STM32F103VB (20k RAM. 128k Flash) | ST STM32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
STM32F103VC (48k RAM. 256k Flash) | ST STM32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
STM32F103VD (64k RAM. 384k Flash) | ST STM32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
STM32F103VE (64k RAM. 512k Flash) | ST STM32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
STM32F103ZC (48k RAM. 256k Flash) | ST STM32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
STM32F103ZD (64k RAM. 384k Flash) | ST STM32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
STM32F103ZE (64k RAM. 512k Flash) | ST STM32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
STM32F303CB (32k RAM. 128k Flash) | ST STM32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
STM32F401RB (64k RAM. 128k Flash) | ST STM32 | External | STM32F401RB | 84MHz | 128KB | 64KB
STM32F401RC (64k RAM. 256k Flash) | ST STM32 | External | STM32F401RC | 84MHz | 256KB | 64KB
STM32F401RE (96k RAM. 512k Flash) | ST STM32 | External | STM32F401RE | 84MHz | 512KB | 96KB
STM32F407VE (192k RAM. 512k Flash) | ST STM32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
STM32F407VG (192k RAM. 1024k Flash) | ST STM32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB

### Malyan

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
M200 V2 | ST STM32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
M300 | ST STM32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB

### Olimex

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
STM32-E407 | ST STM32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
STM32-H407 | ST STM32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

### Piconomix

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Piconomix PX-HER0 | ST STM32 | External | STM32L072RB | 32MHz | 128KB | 20KB

### PrntrBoard

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
PrntrBoard V2 | ST STM32 | External | STM32F407RE | 168MHz | 512KB | 192KB

### RushUp

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
RushUp Cloud-JAM | ST STM32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB

### ST

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Black STM32F407VE | ST STM32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
Black STM32F407VG | ST STM32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
Black STM32F407ZE | ST STM32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
Black STM32F407ZE | ST STM32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
BlackPill F401CC | ST STM32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
Blue STM32F407VE Mini | ST STM32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
Core board F401RCT6 | ST STM32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
RHF76 052 | ST STM32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
ST 32F411EDISCOVERY | ST STM32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
ST 32F429IDISCOVERY | ST STM32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
ST 32F469IDISCOVERY | ST STM32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
ST Nucleo F401RE | ST STM32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
ST Nucleo F446ZE | ST STM32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
ST STM32F3DISCOVERY | ST STM32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
ST STM32F4DISCOVERY | ST STM32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
ST STM32LDISCOVERY | ST STM32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
STM3210C-EVAL | ST STM32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB

### ThunderPack

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
ThunderPack | ST STM32 | External | STM32L072KZ | 32MHz | 192KB | 20KB