cancel
Showing results for 
Search instead for 
Did you mean: 

Is there in VSCode a NVIC view?

Kilian Nötzold
Associate III

Hi there,

Im currently evaluating moving from Keil uVison to VSCode. But im missing a NVIC view. Is there anything like this in VSCode?

This is how it looks in uVision:

 

KilianNtzold_1-1735835788943.png

https://developer.arm.com/documentation/101407/0541/Debugging/Debug-Windows-and-Dialogs/Core-Peripherals/Armv7-M-cores/Armv7-M--Nested-Vector-Interrupt-Controller?lang=en

1 ACCEPTED SOLUTION

Accepted Solutions
mattias norlander
ST Employee

Hi @Kilian Nötzold ,

Currently the closest match in VS Code world is the "Peripheral view". It is an open-source view which reads an CMSIS svd-file and displays the content. It is a bit primitive. And it can only load one svd-file at a time.

The various registers in an STM32 MCU is split into two categories: 

  • Arm core IPs
  • STM32 peripheral IPs

Normally we load the:

C:\ST\STM32CubeCLT_1.16.0\STMicroelectronics_CMSIS_SVD\STM32F407.svd

If you want to see the Arm core IPs like NVIC, then instead load the:

C:\ST\STM32CubeCLT_1.16.0\STMicroelectronics_CMSIS_SVD\Core\Cortex-M4.svd

Which file that is loaded is part of the MyProject\.vscode\launch.json.

 

This is a limitation in the VS Code debug support for now. We will try to fix this later on the roadmap.

View solution in original post

4 REPLIES 4
Nawres GHARBI
ST Employee

Hi @Kilian Nötzold  

This view is available on STM32CubeMX, not possible to GUI edit the project config in the extension

 

Hi @Nawres GHARBI

Thanks for looking into this. The view is a debug view available during dubbugging. To see the active/pending IRQs. It is not used for configuring the NVIC, I think STM32CubeMX is only used for offline register configuartion, not while debugging.

The register view in the debugger only shows the peripheral registers as the SVD files supplied by ST do not contain the core registers.

mattias norlander
ST Employee

Hi @Kilian Nötzold ,

Currently the closest match in VS Code world is the "Peripheral view". It is an open-source view which reads an CMSIS svd-file and displays the content. It is a bit primitive. And it can only load one svd-file at a time.

The various registers in an STM32 MCU is split into two categories: 

  • Arm core IPs
  • STM32 peripheral IPs

Normally we load the:

C:\ST\STM32CubeCLT_1.16.0\STMicroelectronics_CMSIS_SVD\STM32F407.svd

If you want to see the Arm core IPs like NVIC, then instead load the:

C:\ST\STM32CubeCLT_1.16.0\STMicroelectronics_CMSIS_SVD\Core\Cortex-M4.svd

Which file that is loaded is part of the MyProject\.vscode\launch.json.

 

This is a limitation in the VS Code debug support for now. We will try to fix this later on the roadmap.

Thanks for pointing out the core SVD files. I had no idea they existed. Maybe I will develop a specific NVIC view.