Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>XHSC XStudio ExtensionNew to Visual Studio Code? Get it now.
XHSC XStudio Extension

XHSC XStudio Extension

XHSC

|
18 installs
| (1) | Free
XHSC XStudio Extension for VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

XHSC XStudio Extension

The XHSC XStudio Extension make XHSC devices (based on ARM Cortex-M cores) easy to use right from Visual Studio Code.

Before use this extension, user must have XHSC ADL software build environment been configured correctly.

Overview

Supported Features:

  • XC27X series device support
  • CMake project import / build
  • Elf file import/debug
  • Single/multi-core ARM Cortex-M debugging via:
    • Custom debug adapter (Cortex-Debug based)
    • xhsc-link & jink debugger
  • Real-time views:
    • Peripheral registers
    • Memory view
    • Disassembly view

Getting Started

Import Projects Folder**

Click Import Project in PROJECTS EXPLORER → Select target folder

Import CMake Projects**

Click Refresh in MAKEFILE EXPLORER, then all the CMake projects(CMakeLists.txt) in selected project explorer will be displayed.

Debug Configuration

Access via Settings button in the SETTING:

  • Debugger Types
    1. jlink, user need supply external jlink hardware
    2. xhsc_link, use on board xhsc_link hardware
    
    
  • Device Configurations
       1. Device, support XC27X only.
       2. Core, support M7_0, M7_0_M7_1.  It must set properly when debug cmake project, M7_0 means single core project, M7_0_M7_1 means multi-core project.
       3. EnableCTI, support Arm core CTI features, it can be ON when debug multicore project to make core0 and core1 halt/continue synchronize, it is useless for single core debug.
       4. Device register describe file(SVD), the path of SVD file which will be used for peripheral registers view if provided.
    
    
  • ARM GDB Root Path
       Must have configurations.
    
  • JLink Root Path
       Must have configurations when debugger type select jlink.
    
    

Once configuration updated done, please click the save buttion at the right side of Debug configurations pannel.

Build project

Click build button on the each project of MARKFILE EXPLORER

Debug project

Once the debug configuration have configured correctly, click the debug button on the each project of MARKFILE EXPLORER, if everything ok, the VSCODE enter into debug status and mcu halt at entry point. see vscode debug

Debug elf

  • Configure the debug configuration properly in SETTING.

  • Click refresh buttion in the ELF EXPLORER, all the elf files in the folder imported to the PROJECTS EXPLORER will be listed in the ELF EXPLORER.

  • Select elf files to be debug

    Note: User can select one elf for single core debug, select two elf files by CTRL+CLICK for multicore debug. The Core in SETTING must be configured correctly according to the number of selected elf files.

  • click the debug button on the ELF EXPLORER, if everything ok, the VSCODE enter into debug status and mcu halt at entry point.

Note for multicore debugging

Multicore debugging naming

XHSC XStudio Extension support core0 or core0_core1 debugging methods only now. And there is one naming rule for the elfs when debug multi core, elf naming or path must contains core information

Such as for XC27X devices, the Core configuration is M7_0_M7_1, then the elfs naming must contains M7_0,M7_1, either upper or lower is ok. For example core0 elf name can be example_cm7_0.elf, core1 elf name can be example_cm7_1.elf

The reason is XHSC XStudio Extension use that information to create launch configurations, maybe this limitation will be fixed in future version, but please follow the rule for current version.

Multicore debugging life cycle management

The multicore debug feature is implemented based on the Cortex-Debug Multi core debugging, so in the multicore debug configurations we always set core0 as the primary core.

About the life cycle management for the two debug sessions, Cortex-Debug provide a configurations lifecycleManagedByParent, but this affects actions like Restart, Reset, Stop, and Disconnect only, and we have engaged it in XHSC Studio Extension.

So about two core PAUSE/CONTINUE synchronize, user have to set EnableCTI in the debug configuration of SETTING before debug, then core1 will be halted/continued when primary core halt/continue immediately.

From the testing, the two core can halt/continue from soc side if EnableCTI is ON, but the VSCODE's debug toolbar status not synchronize as expect. That is to say, if we click CONTINUE on primary debug toolbar, core0 and core1 are running actually, but the secondary debug toolbar still in PAUSE status if user just set EnableCTI to 'ON'.

To solve the GUI not synchronize issue mentioned above, please contact XHSC semiconductor.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft