Skip to content

Commit

Permalink
Switch over to new Peripheral Viewer
Browse files Browse the repository at this point in the history
  • Loading branch information
haneefdm committed Mar 5, 2023
1 parent d96719d commit 8e14713
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 259 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"SEGGER",
"stlink",
"Syms",
"XPERIPHERALS",
"xtensa"
]
}
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ChangeLog
"samplesPerSecond": 4
},
```
* **MAJOR MAJOR change**: The Peripherals (SVD) panel is now maintained in a separate extension. We are disabling SVD support in this extension. Please refer to https://github.com/mcu-debug/peripheral-viewer. The new panel will show up as 'XPERIPHERALS'. You don't have to make any changes in your configurations. Things should just migrate over. Fingers crossed
* There are tons of other changes planned as pre-releases and they will have versions 1.7.x (this is a Microsoft convention). There has been some major restructuring of our code and as such, this version may not be as stable as the production releases. **Please help us get to production**
* To enable Pre-releases, you have use the Extension Manager/Pane within VSCode
* Bugfix: [#831 Unable to read variables during 2nd breakpoint stop](https://github.com/Marus/cortex-debug/issues/831)
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Debugging support for ARM Cortex-M Microcontrollers with the following features:
* Experimental, coming in V1.2+: Disassembly of source code available along with instruction level breakpoints and stepping. See https://github.com/Marus/cortex-debug/wiki/Disassembly-Debugging
* Cortex Core Register Viewer (Integrated into Variables Window in V1.2+)
* In some cases the st-util GDB server can report incomplete/incorrect registers, so there may be some issues here.
* Peripheral Register Viewer (Defined through standard SVD file)
* SWO Decoding - "console" text output and binary data (signed and unsigned 32-bit integers, Q16.16 fixed point integers, single precision floating point values)
* The registers that are part of the DWT, TPIU, and ITM debug components will automatically be configured and do not need to be set in firmware.
* Firmware may still need to enable the SWO output pin - as this part of the setup is microcontroller dependant.
Expand All @@ -21,7 +20,6 @@ Debugging support for ARM Cortex-M Microcontrollers with the following features:
* Ability to define JavaScript modules to decode complex data formats streamed over one or more ITM ports. Data can be printed to a output window, or sent to the graphing system.
* Live graphing of decoded ITM data.
* Support for SEGGER Real Time Trace (RTT) using OpenOCD and JLink gdb-servers. All the features supported for SWO (text, binary, graphing) are also supported with RTT.
* Raw Memory Viewer ("Cortex-Debug: View Memory" command)
* Ability to view and step through the disassembled binary. There are three ways that disassembled code will be shown:
* Disassembly code will automatically be shown if it cannot locate the corresponding source code.
* You can manually see the disassembly for a particular function ("Cortex-Debug: View Disassembly (Function)" command)
Expand All @@ -30,6 +28,11 @@ Debugging support for ARM Cortex-M Microcontrollers with the following features:
* Initial support for Rust code (most functionality is working; disassembly views and variables view may still have issues)
* RTOS Support (J-Link, OpenOCD, pyOCD) - RTOS supported depends on GDB server support)
* As a general rule do not try to use stepping instructions before the scheduler of your RTOS has started - in many cases this tends to crash the GDB servers or leave it in an inconsistent state.
* We have a set of extensions that this extension relies on for various frontend services
* These services are under the mcu-debug organization and lot of that content was re-factored from this extension to make them work with other debuggers and with browsers
* Visit https://marketplace.visualstudio.com/search?term=mcu-debug&target=VSCode&category=All%20categories&sortBy=Relevance\
* Highlights are a Memory Viewer, Peripheral (SVD) Viewer, RTOS viewer, etc.
* These extensions are considered as dependency of this extension and VSCode should help you install all of them. We will consider make an `Extension Pack` in the future

### Release Versioning
Cortex-Debug uses a [versioning system specified by Microsoft](https://code.visualstudio.com/updates/v1_63#_pre-release-extensions) that allows distribution of pre-releases via the marketplace. You can enable (or disable) pre-releases within VSCode for this extension and you will automatically get new pre-releases. By default, pre-releases are disabled. We use pre-releases as allow testing of bug fixes and new features. They allow you participate during the formation of a feature of how an issue gets addressed. [More info about pre-releases](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions). To summarize, extensions use [semantic versioning (SemVer)](https://semver.org/) system which in simple terms is `major.minor.patch`. With MS convention, if the `minor` version is `ODD`, then it is a pre-release.
Expand Down
176 changes: 7 additions & 169 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.7.1-pre1",
"version": "1.7.1",
"preview": false,
"activationEvents": [
"onDebugResolve:cortex-debug",
Expand Down Expand Up @@ -404,16 +404,6 @@
"light": "images/reset-light.svg"
}
},
{
"command": "cortex-debug.peripherals.updateNode",
"title": "Update Value",
"icon": "$(pencil)"
},
{
"command": "cortex-debug.peripherals.copyValue",
"title": "Copy Value",
"icon": "$(files)"
},
{
"command": "cortex-debug.registers.copyValue",
"title": "Copy Value",
Expand Down Expand Up @@ -461,35 +451,6 @@
"title": "Remove expression",
"icon": "$(close)"
},
{
"command": "cortex-debug.peripherals.setFormat",
"title": "Set Value Format"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"title": "Refresh",
"icon": "$(refresh)"
},
{
"command": "cortex-debug.peripherals.refreshAll",
"title": "Refresh All",
"icon": "$(refresh)"
},
{
"command": "cortex-debug.peripherals.collapseAll",
"title": "Collapse All",
"icon": "$(collapse-all)"
},
{
"command": "cortex-debug.peripherals.pin",
"title": "Pin",
"icon": "$(pin)"
},
{
"command": "cortex-debug.peripherals.unpin",
"title": "Unpin",
"icon": "$(pinned)"
},
{
"category": "Cortex-Debug",
"command": "cortex-debug.examineMemory",
Expand Down Expand Up @@ -1121,22 +1082,14 @@
},
"svdFile": {
"default": null,
"description": "This is for 'CORTEX PERIPHERALS' window provided by Cortex-Debug. Path to a CMSIS SVD file describing the peripherals of the microcontroller; if not supplied then one may be selected based upon the 'device' entered.",
"description": "This is for 'XPERIPHERALS' window provided by 'mcu-debug.peripheral-viewer'. It can be a simple file name or more based on a CMSIS pack or deviceName. See 'mcu-debug.peripheral-viewer' for format",
"type": "string"
},
"svdPath": {
"default": null,
"description": "This is for 'PERIPHERAL VIEW' provided by 'Embedded Tools' Extension from Microsoft. Path to a CMSIS SVD file describing the peripherals of the microcontroller",
"description": "This is for 'XPERIPHERALS' window provided by 'mcu-debug.peripheral-viewer' and 'Embedded Tools' Extension from Microsoft. It can be a simple file name. For 'mcu-debug.peripheral-viewer' or more based on a CMSIS pack or deviceName. See 'mcu-debug.peripheral-viewer' for format",
"type": "string"
},
"svdAddrGapThreshold": {
"default": 16,
"type": "number",
"multipleOf": 1,
"minimum": -1,
"maximum": 32,
"description": "If the gap between registers is less than this threshold (multiple of 8), combine into a single read from device. -1 means never combine registers and is very slow"
},
"rttConfig": {
"type": "object",
"description": "SEGGER's Real Time Trace (RTT) and supported by JLink, OpenOCD and perhaps others in the future",
Expand Down Expand Up @@ -2271,22 +2224,14 @@
},
"svdFile": {
"default": null,
"description": "This is for 'CORTEX PERIPHERALS' window provided by Cortex-Debug. Path to a CMSIS SVD file describing the peripherals of the microcontroller; if not supplied then one may be selected based upon the 'device' entered.",
"description": "This is for 'XPERIPHERALS' window provided by 'mcu-debug.peripheral-viewer'. It can be a simple file name or more based on a CMSIS pack or deviceName. See 'mcu-debug.peripheral-viewer' for format",
"type": "string"
},
"svdPath": {
"default": null,
"description": "This is for 'PERIPHERAL VIEW' provided by 'Embedded Tools' Extension from Microsoft. Path to a CMSIS SVD file describing the peripherals of the microcontroller",
"description": "This is for 'XPERIPHERALS' window provided by 'mcu-debug.peripheral-viewer' and 'Embedded Tools' Extension from Microsoft. It can be a simple file name. For 'mcu-debug.peripheral-viewer' or more based on a CMSIS pack or deviceName. See 'mcu-debug.peripheral-viewer' for format",
"type": "string"
},
"svdAddrGapThreshold": {
"default": 16,
"type": "number",
"multipleOf": 1,
"minimum": -1,
"maximum": 32,
"description": "If the gap between registers is less than this threshold (multiple of 8), combine into a single read from device. -1 means never combine registers and is very slow"
},
"rttConfig": {
"type": "object",
"description": "SEGGER's Real Time Trace (RTT) and supported by JLink, OpenOCD and perhaps others in the future",
Expand Down Expand Up @@ -2938,34 +2883,6 @@
],
"menus": {
"commandPalette": [
{
"command": "cortex-debug.peripherals.updateNode",
"when": "false"
},
{
"command": "cortex-debug.peripherals.copyValue",
"when": "false"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"when": "false"
},
{
"command": "cortex-debug.peripherals.refreshAll",
"when": "false"
},
{
"command": "cortex-debug.peripherals.collapseAll",
"when": "false"
},
{
"command": "cortex-debug.peripherals.pin",
"when": "false"
},
{
"command": "cortex-debug.peripherals.unpin",
"when": "false"
},
{
"command": "cortex-debug.registers.copyValue",
"when": "false"
Expand Down Expand Up @@ -3012,67 +2929,6 @@
"when": "view == cortex-debug.liveWatch && viewItem == expression",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.updateNode",
"when": "view == cortex-debug.peripherals && viewItem == field",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.updateNode",
"when": "view == cortex-debug.peripherals && viewItem == fieldWO",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.updateNode",
"when": "view == cortex-debug.peripherals && viewItem == registerRW",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.updateNode",
"when": "view == cortex-debug.peripherals && viewItem == registerWO",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.copyValue",
"when": "view == cortex-debug.peripherals && viewItem == field",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.copyValue",
"when": "view == cortex-debug.peripherals && viewItem == registerRW",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.copyValue",
"when": "view == cortex-debug.peripherals && viewItem == registerRO",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"when": "view == cortex-debug.peripherals && viewItem == registerRW"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"when": "view == cortex-debug.peripherals && viewItem == register"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"when": "view == cortex-debug.peripherals && viewItem == registerRO"
},
{
"command": "cortex-debug.peripherals.forceRefresh",
"when": "view == cortex-debug.peripherals && viewItem =~ /peripheral.*/"
},
{
"command": "cortex-debug.peripherals.pin",
"when": "view == cortex-debug.peripherals && viewItem == peripheral",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.unpin",
"when": "view == cortex-debug.peripherals && viewItem == peripheral.pinned",
"group": "inline"
},
{
"command": "cortex-debug.registers.copyValue",
"when": "view == cortex-debug.registers && viewItem == register",
Expand All @@ -3082,10 +2938,6 @@
"command": "cortex-debug.registers.copyValue",
"when": "view == cortex-debug.registers && viewItem == field",
"group": "inline"
},
{
"command": "cortex-debug.peripherals.setFormat",
"when": "view == cortex-debug.peripherals"
}
],
"view/title": [
Expand All @@ -3104,16 +2956,6 @@
"when": "view == cortex-debug.registers && debugState == stopped",
"group": "navigation"
},
{
"command": "cortex-debug.peripherals.refreshAll",
"when": "view == cortex-debug.peripherals && debugState == stopped",
"group": "navigation"
},
{
"command": "cortex-debug.peripherals.collapseAll",
"when": "view == cortex-debug.peripherals",
"group": "navigation"
},
{
"command": "cortex-debug.liveWatch.addExpr",
"when": "view == cortex-debug.liveWatch",
Expand All @@ -3140,11 +2982,6 @@
"name": "Cortex Live Watch",
"when": "debugType == cortex-debug"
},
{
"id": "cortex-debug.peripherals",
"name": "Cortex Peripherals",
"when": "debugType == cortex-debug"
},
{
"id": "cortex-debug.registers",
"name": "Cortex Registers",
Expand Down Expand Up @@ -3207,7 +3044,8 @@
"extensionDependencies": [
"mcu-debug.debug-tracker-vscode",
"mcu-debug.memory-view",
"mcu-debug.rtos-views"
"mcu-debug.rtos-views",
"mcu-debug.peripheral-viewer"
],
"main": "./dist/extension.js",
"name": "cortex-debug",
Expand Down
Loading

0 comments on commit 8e14713

Please sign in to comment.