Embedded
Documentation

Version Latest

Requirements and tools

The vendor and open tools the Embedded module drives, their licences and minimum versions, how they are found on a managed laptop, how to pin qualified versions, and how to work offline.

The module bundles no compiler, probe software or SDK. It runs what is installed on your machine, as your company installed it for daily work.

Tools and licences

Vendor tools first, then the open-source alternatives. "Minimum accepted" is what the Editor's tool catalogue checks; it is not a verified version. Every tool in this table is not yet verified in a real run, except QEMU (see the last column).

ToolUsed forLicence or seatMinimum acceptedVerified
IAR C/C++ Compiler for Arm (iccarm) and IAR Command Line Build Utility (iarbuild, IarBuild.exe)In-place builds of .ewp projects; language support through clangdLicensed IAR productAny; iarbuild -jsondb (compile commands for clangd) needs Embedded Workbench 9No (kits iar-keil-build, iar-clangd)
IAR C-SPY batch (cspybat)Unit tests on the C-SPY simulator or the target; C-RUN runtime checksLicensed IAR product; C-RUN needs its own licenceAnyNo (kit iar-keil-build)
Keil uVision (UV4.exe) in batch modeIn-place builds of .uvprojx projects (Windows only)Licensed Keil MDKAnyNo (kit iar-keil-build)
Arm Compiler 6 (armclang)Builds through CMake presetsLicensed Arm Compiler for EmbeddedAnyNo
STM32CubeIDE headless builder (stm32cubeidec.exe, stm32cubeide)In-place builds of .cproject projectsST licence, no seatAnyNo (kit stm32cubeide-build)
Lauterbach TRACE32 PowerView for Arm (t32marm)Debug and flash through TRACE32A PowerDebug module and licenceSETUP.API.GDB.Enable from 09/2024; earlier releases with "t32GdbSetup": "config"No (kit trace32)
SEGGER J-Link software (J-Link Commander, J-Link GDB Server), J-FlashFlash, debug, RTT, production programmingA J-Link probe; J-Flash needs J-Link PLUS or higher, or a J-Flash licenceAnyNo (kit jlink)
ST-LINK GDB server, STM32CubeProgrammer (STM32_Programmer_CLI)Flash, debug, option bytes, external flash, the STM32 bootloaderNo seat (ST licence)AnyNo (kits stm32cubeprogrammer, stlink-gdbserver)
NXP LinkServer, PEmicro GDB server (pegdbserver_console)Flash and debug through MCU-Link, LPC-Link2, Multilink and CycloneVendor termsAnyNo (kit nxp-probes)
Arm GNU Toolchain (arm-none-eabi-gcc, arm-none-eabi-gdb) or gdb-multiarchBuilds; GDB for every debug session; nm for symbolsGPL-3.012.0No (gdb-multiarch 15.1 and arm-none-eabi-gcc 13.2 used on Linux for some later capabilities)
CMake, NinjaBuilds through presetsBSD-3-Clause, Apache-2.0CMake 3.20No
clangdLanguage intelligence; install it yourselfApache-2.0 with LLVM exception17No (clangd 15 run directly in one test, below the Editor's minimum)
OpenOCDFlash and debug, second pathGPL-2.00.12.0No
CppcheckStatic analysis and MISRA C:2012 (needs Python 3 for the MISRA addon)GPL-3.0; MISRA rule texts are licensed by MISRA2.10No
cpackgetCMSIS device packsApache-2.0AnyNo
QEMU (qemu-system-arm)Software-in-the-loop runs, CIGPL-2.04.1Yes: QEMU 9.1.1 for Run in Emulator

Run Show Toolchain to see every tool found, with its version, and the optional vendor tools. Check the Toolchain Again looks again after you install something. The status bar shows a Toolchain item only while a tool the project needs is missing or older than the minimum; its tooltip says which tool and how to install it.

Show Toolchain listing the tools found with their versions and the optional vendor tools that are not installed.Show Toolchain listing the tools found with their versions and the optional vendor tools that are not installed.

How tools are found

  1. A path setting wins: neuralInverse.embedded.paths.<tool> names the executable or the folder that holds it. These settings are restricted, so a workspace that is not trusted cannot set them.
  2. Otherwise the tool is looked for on PATH, then in the vendors' usual install folders. On Windows that covers the default layouts under both Program Files folders, with several versions side by side: IAR Embedded Workbench, Keil MDK (C:\Keil_v5), Arm Compiler for Embedded, SEGGER J-Link, STM32CubeProgrammer, STM32CubeCLT and the tools bundled in STM32CubeIDE (C:\ST), TRACE32 (C:\T32), the Arm GNU Toolchain, CMake, xPack OpenOCD and QEMU. On Linux, /opt is searched. NXP LinkServer and PEmicro are found in their Windows and Linux install folders.
  3. The Windows registry is not read. A tool installed elsewhere needs its path setting.

No administrator rights and no PATH changes are needed for the vendor layouts above.

Tool ids for neuralInverse.embedded.paths.<tool>: armGcc, cmake, ninja, openocd, gdb, clangd, armCompiler6, iarArm, jlinkGdbServer, jlinkCommander, stlinkGdbServer, stm32Programmer, cppcheck, cpackget, qemu, trace32, iarBuild, keilUv4, cubeIde, linkServer, pemicroGdbServer, jflash.

State: unit-tested, with Windows layouts given as path strings. Discovery on a real Windows or Linux installation of any vendor tool is not yet verified.

Hold a programme to its qualified tool versions

Set neuralInverse.embedded.toolVersions in the workspace settings to pin a version per tool:

{
  "neuralInverse.embedded.toolVersions": { "iarArm": "9.50", "jlinkGdbServer": "7.94e" }
}

Of the copies installed side by side, the one with this version is used (9.50 matches 9.50.x). When it is not installed, the tool is reported missing; another version is never used in its place. A path in neuralInverse.embedded.paths.* must then be that version. Without a pin, PATH comes first, then the newest installed version.

Offline and air-gapped use

Nothing is downloaded unless you run a command that says so: Update Device Pack Index, Install Device Family Pack... and Select Device... (through cpackget), and Download STM32 Pin Data (through Git). These get the Editor's proxy (http.proxy, else the system or PAC proxy, with http.noProxy) as HTTPS_PROXY, HTTP_PROXY and NO_PROXY. A failed download names the host and the offline route.

Offline, these settings replace every download:

SettingWhat to point it at
neuralInverse.embedded.packs.rootAn installed pack folder: a Keil MDK or CMSIS-Toolbox pack root, or a copy IT provides. Its packs, and those in .Local/local_repository.pidx, are read in place
neuralInverse.embedded.packs.indexUrlA company mirror of the pack index (default https://www.keil.com/pack/index.pidx), used when a pack root is first set up
neuralInverse.embedded.pins.dataPathA copy of STM32_open_pin_data, or the db folder of an installed STM32CubeMX
neuralInverse.embedded.pins.repositoryA company Git mirror of STM32_open_pin_data

A pack's embedded licence is extracted by cpackget and shown for your agreement before it is installed. Packs and pin data are fetched at your request and are not redistributed by Neural Inverse.

State: the proxy and offline settings are unit-tested; cpackget, the pack index and a corporate proxy have not been exercised in a verified run.

Logs

Show Log opens the Embedded log. Every flash is recorded there with the image's SHA-256, and imports and set-up script translations list there what they did not carry over.

Last reviewed 18 October 2026View as Markdown

Requirements and tools · Docs · Neural Inverse