Skip to content

Cart

Your cart is empty

ARM

Modern Embedded Debugging with Keil Studio for Visual Studio Code

Visual Studio Code has rapidly become a preferred development environment for embedded software, and many engineering teams are now looking beyond editing and building firmware. The Arm Keil Studio extensions bring professional embedded debugging directly into VS Code, allowing developers to build, flash, and debug firmware from a single workspace while continuing to use familiar Keil tooling.

 

For teams already using Keil uVision, supported projects can be imported as CMSIS Solutions, providing a practical path toward adopting Visual Studio Code without sacrificing the debugging experience many developers already rely on. Once a project is built, supported debug probes such as ST-LINK, CMSIS-DAP, and J-Link are automatically detected, allowing firmware to be downloaded and debugged directly from the editor.

 

The integrated Run and Debug (1) view brings together everything required during a debug session. Developers can inspect local and global variables, monitor custom expressions through the Watch window, review the current execution path using the Call Stack, and manage active breakpoints without switching between multiple tools. For RTOS-based applications, thread-aware debugging also provides visibility into active tasks, making it easier to understand scheduling and runtime execution.

 

The Debug Toolbar (2) provides quick access to the controls used throughout a debug session, including Continue, Pause, Step Over, Step Into, Step Out, Restart, and Disconnect, allowing developers to move through program execution with precision while investigating firmware behavior.

 

The Trace and Live View (3) extends the debugging experience by providing access to Live Watch, Component Viewer, and Core Peripherals from a single workspace. Live Watch continuously updates selected variables during execution, while the peripheral views provide direct access to hardware registers, making it easier to correlate firmware behavior with the underlying hardware.

 

The integrated timing indicator (4) provides execution timing information during a debug session, helping developers monitor elapsed execution time while validating time-sensitive firmware behavior. Meanwhile, the Debug Console (5) enables direct interaction with the underlying GDB session, allowing expressions to be evaluated, debugger commands to be executed, and diagnostic information to be reviewed without leaving Visual Studio Code.

 

Beyond the primary debugging workspace, the Keil debugger also provides several embedded-specific views that simplify firmware analysis. Peripheral View allows developers to inspect MCU peripheral registers in real time, while Memory Inspector supports configurable memory layouts, address navigation, multiple display formats, and direct memory editing when required. Additional tools such as Serial Monitor and Live Watch provide continuous visibility into UART output and application variables, allowing software behavior to be observed alongside hardware state during development.

 

Beyond the standard debugging workflow, the Keil Studio debugger also supports Multi-Core Debugging and RTOS Views. Multi-Core Debugging enables developers to work with multiple processor cores from a single debug session, while RTOS Views provide insight into running threads, priorities, stack usage, and task states for supported real-time operating systems.

 

As Visual Studio Code continues to become the IDE of choice for embedded software development, debugging no longer needs to remain tied to traditional IDEs. The Keil Studio extensions combine a modern development experience with familiar Keil debugging capabilities, allowing embedded developers to adopt a modern workflow without compromising the tools they depend on.

RELATED NEWS

Running Arm User-Based Licensing in Modern CI/CD Workflows
Hrutik Champaneri

Running Arm User-Based Licensing in Modern CI/CD Workflows

Modern embedded software development no longer ends at a successful local build. Firmware is now continuously compiled, tested, analyzed, and packaged through automated pipelines running on Jenki[...]

Read more
Virtual Platforms as a Foundation for Modern Embedded Development
Hrutik Champaneri

Virtual Platforms as a Foundation for Modern Embedded Development

Modern embedded software development is no longer limited to writing code and waiting for a physical target. As engineering teams adopt CI/CD pipelines, distributed development, and parallel hard[...]

Read more
QA-MISRA 26.04: Faster Analysis, Smarter Reporting, Greater Flexibility
Karen O'Connell

QA-MISRA 26.04: Faster Analysis, Smarter Reporting, Greater Flexibility

The new release delivers significant improvements in performance, reporting accuracy, and workflow flexibility for teams developing safety- and business-critical software. It introduces ...

Read more
Cantata 26.04: Bringing AI-Assisted Testing into the Verification Workflow
Karen O'Connell

Cantata 26.04: Bringing AI-Assisted Testing into the Verification Workflow

The new release introduces new AI-assisted testing capabilities, enhanced automation, and greater flexibility for teams developing safety-critical C and C++ software. Highlights include...

Read more
Why AI May Have a Bigger Impact on Embedded Verification Than Embedded Development
Hrutik Champaneri

Why AI May Have a Bigger Impact on Embedded Verification Than Embedded Development

Much of the discussion surrounding AI in embedded systems has focused on one question: Can AI write embedded software? While AI assisted code generation continues to evolve, many engineering orga[...]

Read more