Skip to main content
Graduate
August 29, 2025
Solved

How to Debug Flash, RAM and Cortex-M peripherals values for STM32 in VSCode

  • August 29, 2025
  • 2 replies
  • 1141 views

Hi, 

I am debugging an STM32H563ZI with the following environment:

  • OS: Ubuntu 20.04 LTS

  • STM32CubeMX: 6.15.0

  • Visual Studio Code: 1.102.3

    • Extensions:

      • STM32Cube Bundles Manager: 0.23.3

      • STM32Cube Debug STLink GDB Server: 0.10.1

      • STM32Cube Registers View: 0.3.0

  • Board: NUCLEO-H563ZI

In this setup, after launching the debugger, I cannot find a way to inspect the values in Flash, RAM, or the registers of the Cortex-M33 peripherals.

Regarding memory, I tried installing the "MemoryView" extension, but I am still unable to view the values. Are there any alternative extensions with similar functionality?

Regarding peripheral debugging, while I can see registers for peripherals like GPIO and ADC on STM32CUBE REGISTERS TREE, I cannot find the Cortex-M core peripherals like the SCB (System Control Block) and NVIC (Nested Vectored Interrupt Controller) . How can I view these?

    This topic has been closed for replies.
    Best answer by Florent V

    Hi Fumihiko,

    Unfortunately, it is not possible to view the Cortex-M registers yet, but this feature is planned in our roadmap.
    Regarding the memory view, the STM32Cube for Visual Studio Code pack already includes a memory viewer, the one from CDT Cloud called Memory Inspector.

    During a debug session, you can open the Memory Inspector via the Command Palette (Menu: View -> Command Palette...).
    Then, filter the Command Palette by typing Memory: Show Memory Inspector.

    FlorentV_0-1756471893492.png

    FlorentV_1-1756471990453.png

    Best Regards,

    /Flo

     

    2 replies

    Florent VAnswer
    ST Employee
    August 29, 2025

    Hi Fumihiko,

    Unfortunately, it is not possible to view the Cortex-M registers yet, but this feature is planned in our roadmap.
    Regarding the memory view, the STM32Cube for Visual Studio Code pack already includes a memory viewer, the one from CDT Cloud called Memory Inspector.

    During a debug session, you can open the Memory Inspector via the Command Palette (Menu: View -> Command Palette...).
    Then, filter the Command Palette by typing Memory: Show Memory Inspector.

    FlorentV_0-1756471893492.png

    FlorentV_1-1756471990453.png

    Best Regards,

    /Flo

     

    FumihikoAuthor
    Graduate
    August 30, 2025

    Hi Florent,

     

    > Unfortunately, it is not possible to view the Cortex-M registers yet, but this feature is planned in our roadmap.

    OK, I hope the feature will be released in the near future.

     

    > Regarding the memory view, the STM32Cube for Visual Studio Code pack already includes a memory viewer, the one from CDT Cloud called Memory Inspector.

    After installing "Memory Inspector", I was able to check memory values during the debug session.
    Thank you for your support.

    By the way, which extension is officially recommended: "STM32Cube for Visual Studio Code" or "STM32Cube Bundles Manager"?
    I am currently using the latter, but if I choose the former, would the pre-release version 3.5.1 be the recommended one going forward?

    ST Employee
    August 30, 2025

    Hi Fumihiko,

     

    The first one is recommended because it's an extension pack that contains all the necessary STM32Cube extensions. This pack specifically includes the Extension Bundle Manager and also the Memory Inspector.
    Make sure to install the pre-release version of the pack, currently, it's version 3.5.1.

    Kind Regards,

    /Flo

    Visitor II
    August 29, 2025

    Hey! If you’re trying to inspect flash, RAM, or peripheral registers in vs code, the easiest setup involves the Cortex-Debug extension. with it configured and your debugger hooked up (like ST-Link or J-Link), you can pause execution and peek into memory, registers, and variables—just like in full-fledged IDEs.

    another smoother route is to use platformio in vs code. It integrates all the debug views—peripheral registers, memory, disassembly—with zero config, plus buttons for pause, step, etc. Really cuts setup time.

    inside STM32CubeMX, choose CMake as your toolchain target and then use the ST extension (or the stm32-for-vscode plugin) to streamline building, flashing, and debugging—all without having to wrestle with .launch.json or traditional toolchain paths.

    let me know if you want help wiring up a simple debug config or choosing between cortex-debug vs platformio—I’d be happy to walk you through it!