Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>Silicon Labs OpenOCD SupportNew to Visual Studio Code? Get it now.
Silicon Labs OpenOCD Support

Silicon Labs OpenOCD Support

silabs-bozont

|
9 installs
| (0) | Free
OpenOCD flashing and debugging support for Silicon Labs boards
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Silicon Labs OpenOCD Support

VS Code extension for flashing, debugging and erasing Silicon Labs OpenOCD boards. Designed to work with Simplicity Studio 6 projects compiled by the Simplicity Studio for VS Code extension.

Supported hardware:

  • Arduino Nano Matter (MGM240SD22VNA)
  • Seeed Studio XIAO MG24 (EFR32MG24B220F1536IM48)

Features

  • Right-click context menu support for files and project folders
  • Integrates into the Simplicity Studio for VS Code extension
  • Flash .hex files or Simplicity Studio projects using OpenOCD
  • Debug .out (ELF) files or Simplicity Studio projects via cortex-debug
  • Erase the chip flash memory
  • Configurable interface and target
  • Works with CMSIS-DAP (onboard debugger)

Usage

Flash

  • Right-click a project root folder → Flash project to Silicon Labs OpenOCD board
  • Right-click a .hex file → Flash file to Silicon Labs OpenOCD board

Debug

  • Right-click a project root folder → Debug project on Silicon Labs OpenOCD board
  • Right-click a .out file → Debug file on Silicon Labs OpenOCD board (flashes the matching .hex first, then starts a debug session)

Erase

  • Right-click a project root folder → Erase Silicon Labs OpenOCD board
  • Right-click a .hex or .out file → Erase Silicon Labs OpenOCD board

Status Bar Icons

The extension adds three icons to the right side of the VS Code status bar for quick access to the most common actions:

  • ⚡ Flash — flashes the current project to the board
  • 🐛 Debug — flashes the project and starts a debug session
  • 🗑️ Erase — erases the chip's flash memory

Clicking any of these icons triggers the corresponding command on the active project.

Setup

This extension requires a custom Arduino fork of OpenOCD (0.12.0-arduino1-static). Mainline OpenOCD does not support the boards listed above yet.

Option 1: Install via Arduino IDE (recommended)

Install the Silicon Labs Arduino Core in the Arduino IDE. This automatically downloads the correct OpenOCD version.

On first activation, the extension automatically detects the OpenOCD installation in the default Arduino15 location for your OS. If found, it sets the OpenOCD Install Directory setting automatically — no manual configuration needed.

To set the OpenOCD Install Directory manually to Arduino's install directory - use the following table as a reference:

OS Path
macOS ~/Library/Arduino15/packages/SiliconLabs/tools/openocd/0.12.0-arduino1-static
Linux ~/.arduino15/packages/SiliconLabs/tools/openocd/0.12.0-arduino1-static
Windows %LOCALAPPDATA%\Arduino15\packages\SiliconLabs\tools\openocd\0.12.0-arduino1-static

Option 2: Download prebuilt binaries

Download the appropriate archive for your OS and extract it anywhere:

  • macOS (x86_64)
  • Linux (x86_64)
  • Linux (aarch64)
  • Windows (i686)

Then set the OpenOCD Install Directory to the extracted folder.

Option 3: Build from source

Build from the Arduino fork: https://github.com/facchinm/OpenOCD/tree/arduino-0.12.0-rtx5

Configuration

  • OpenOCD Install Directory — path to the OpenOCD root folder
  • Interface Configuration — OpenOCD interface config file (e.g. interface/cmsis-dap.cfg)
  • Target Configuration — OpenOCD target config file (e.g. target/efm32s2_g23.cfg)
  • Adapter Speed — JTAG/SWD adapter speed in kHz (default: 4000)

Creating Simplicity Studio v6 Projects

The supported boards are not auto-detected by Simplicity Studio. To create a project, target the MCU part directly instead of selecting a board:

Board MCU Part
Arduino Nano Matter MGM240SD22VNA
Seeed Studio XIAO MG24 EFR32MG24B220F1536IM48

Steps

  1. On the Home screen in Simplicity Studio v6, select a technology (e.g. Bluetooth LE, Zigbee, Matter) or click (all projects & demos)
  2. Select an example project
  3. In the Target Device dialog, tick the Part checkbox (it's off by default — only boards are shown initially)
  4. Search for the MCU part name from the table above and select it
  5. Proceed with project creation as usual
  6. When the project is opened in VS Code use the OpenOCD flash/debug/erase options from the right-click context menu of the project folder

GPIO Pin Configuration

Some example projects come with pre-defined GPIO pins for LEDs or buttons (e.g. led0, button0 components) that are only mapped on official development kit boards. These pin mappings won't be set by default on the OpenOCD boards. You'll need to manually configure the correct GPIO pins for your board in the project's hardware configuration or source code.

Refer to the board's pinout diagram for the available GPIO pins:

  • Arduino Nano Matter pinout
  • Seeed Studio XIAO MG24 pinout

Requirements

  • OpenOCD Arduino fork installed
  • Any of the supported hardware connected
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft