You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@
13
13
14
14
## 0.1.0
15
15
- Updates included pyOCD distribution
16
-
- Fixes [#92](https://github.com/Open-CMSIS-Pack/vscode-cmsis-debugger/issues/92): `monitor reset halt` command fails for LPCXpresso55S69 if using CMSISPack support in pyOCD.
16
+
- Fixes [#92](https://github.com/Open-CMSIS-Pack/vscode-cmsis-debugger/issues/92): `monitor reset halt` command fails for LPCXpresso55S69 if using CMSIS-Pack support in pyOCD.
17
17
- Fixes [#93](https://github.com/Open-CMSIS-Pack/vscode-cmsis-debugger/issues/93): Download to LPC55S69 flash with GDB and pyOCD ends in errors.
18
18
- Fixes [#94](https://github.com/Open-CMSIS-Pack/vscode-cmsis-debugger/issues/94): Cannot connect to NXP FRDM-K32L3A6 with pyOCD.
19
19
- Fixes support for `<memory>` elements from CMSIS PDSC files.
Copy file name to clipboardExpand all lines: README.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,14 +21,17 @@ The Arm CMSIS Debugger extension is an [extension pack](https://code.visualstudi
21
21
The following extensions are included in this extension pack:
22
22
23
23
-[CDT™ GDB Debug Adapter Extension](https://marketplace.visualstudio.com/items?itemName=eclipse-cdt.cdt-gdb-vscode), an Eclipse CDT.cloud extension that supports debugging using GDB and any other debuggers that supports the MI protocol.
24
+
24
25
-[Memory Inspector](https://marketplace.visualstudio.com/items?itemName=eclipse-cdt.memory-inspector), an Eclipse CDT.cloud extension that provides a powerful and configurable memory viewer that works with debug adapters.
26
+
25
27
-[Peripheral Inspector](https://marketplace.visualstudio.com/items?itemName=eclipse-cdt.peripheral-inspector), an Eclipse CDT.cloud extension that provides a CMSIS SVD viewer and works with debug adapters.
26
28
27
29
## Recommended Extensions
28
30
29
31
We recommend to install the following extensions to simplify the user experience:
30
32
31
-
-[Arm Tools Environment Manager](https://marketplace.visualstudio.com/items?itemName=Arm.environment-manager), an extension that allows to download, install, and manage software development tools using [Microsoft® Vcpkg](https://vcpkg.io/en/index.html) artifacts. Use this extension to for example install the `GCC compiler for ARM CPUs` which comes with a GDB variant for Arm CPUs.
33
+
-[Arm Tools Environment Manager](https://marketplace.visualstudio.com/items?itemName=Arm.environment-manager), an extension that allows you to download, install, and manage software development tools using [Microsoft® Vcpkg](https://vcpkg.io/en/index.html) artifacts. For example, use this extension to install the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) which comes with a GDB variant for Arm CPUs.
34
+
32
35
-[Arm CMSIS Solution](https://marketplace.visualstudio.com/items?itemName=Arm.cmsis-csolution), an extension that is a graphical user interface for csolution projects that use the [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/). Use this extension to build your csolution projects, to generate `*.cbuild-run.yml` debug configuration files, and to make use of contributed commands in your debug launch configurations.
33
36
34
37
## Debug Setup
@@ -70,9 +73,9 @@ Additionaly, the extension contributes a debug configuration resolver which auto
70
73
71
74
- If option `target`>`server` is set to `pyocd`, then it expands to the absolute path of the built-in pyOCD distribution.
72
75
- Extends the `target`>`serverParameters` list of `pyocd` command line arguments:
73
-
- Prepends `gdbserver` if not present.
74
-
- Appends `--port <gdbserver_port>` if the `target`>`port` setting is set, where `<gdbserver_port>` gets that port setting's value.
75
-
- Appends `--cbuild-run` and the corresponding `cbuildRunFile` path if `cmsis`>`cbuildRunFile` is set.
76
+
- Prepends `gdbserver` if not present.
77
+
- Appends `--port <gdbserver_port>` if the `target`>`port` setting is set, where `<gdbserver_port>` gets that port setting's value.
78
+
- Appends `--cbuild-run` and the corresponding `cbuildRunFile` path if `cmsis`>`cbuildRunFile` is set.
76
79
77
80
**Note**: The built-in version of pyOCD supports the command line option `--cbuild-run` which isn't available in releases outside this extension.
78
81
@@ -82,13 +85,14 @@ The `cmsis-debug-jlink` debugger type is used to add a debug configuration in th
82
85
This configuration uses the `gdbtarget` debugger type registered by the CDT GDB Debug Adapter Extension.
83
86
84
87
**Note**: The generated default debug configuration uses the value `JLinkGDBServer` as `target`>`server` setting. This executable has differing behavior on supported host platform:
85
-
* Linux and macOS: A GUI-less version of the GDB server is launched.
86
-
* Windows®: A GDB server with GUI is launched. Update `target`>`server` to `JLinkGDBServerCL` to launch a GUI-less version on Windows, too.
88
+
89
+
- Linux and macOS: A GUI-less version of the GDB server is launched.
90
+
- Windows®: A GDB server with GUI is launched. Update `target`>`server` to `JLinkGDBServerCL` to launch a GUI-less version on Windows, too.
87
91
88
92
Additionaly, the extension contributes a debug configuration resolver which automatically fills the following gaps during debug launch:
89
93
90
94
- Extends the `target`>`serverParameters` list of `JLinkGDBServer`/`JLinkGDBServerCL` command line arguments:
91
-
- Appends `--port <gdbserver_port>` if the `target`>`port` setting is set, where `<gdbserver_port>` gets that port setting's value.
95
+
- Appends `--port <gdbserver_port>` if the `target`>`port` setting is set, where `<gdbserver_port>` gets that port setting's value.
Copy file name to clipboardExpand all lines: docs/index.md
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ The following extensions are included in this extension pack:
16
16
17
17
We recommend installing the following extensions to simplify the user experience:
18
18
19
-
-[Arm Tools Environment Manager](https://marketplace.visualstudio.com/items?itemName=Arm.environment-manager), an extension that allows to download, install, and manage software development tools using [Microsoft® Vcpkg](https://vcpkg.io/en/index.html) artifacts. Use this extension to for example install the `GCC compiler for ARM CPUs` which comes with a GDB variant for Arm CPUs.
19
+
-[Arm Tools Environment Manager](https://marketplace.visualstudio.com/items?itemName=Arm.environment-manager), an extension that allows you to download, install, and manage software development tools using [Microsoft® Vcpkg](https://vcpkg.io/en/index.html) artifacts. For example, use this extension to install the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) which comes with a GDB variant for Arm CPUs.
20
20
21
21
-[Arm CMSIS Solution](https://marketplace.visualstudio.com/items?itemName=Arm.cmsis-csolution), an extension that is a graphical user interface for csolution projects that use the [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/). Use this extension to build your csolution projects, to generate `*.cbuild-run.yml` debug configuration files, and to make use of contributed commands in your debug launch configurations.
22
22
@@ -26,17 +26,18 @@ The **Arm CMSIS Debugger** extension pack supports a wide range of debug probes:
This chapter describes problems that might occur during debugging and how to solve them.
4
+
5
+
## Loadable section outside of ELF segments
6
+
7
+
When downloading an AXF file built with [Arm Compiler for Embedded](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Embedded),
8
+
the following warning might appear and the application does not execute correctly. This happens regardless of the selected GDB server.
9
+
10
+
```txt
11
+
warning: Loadable section "RW_RAM0" outside of ELF segments
12
+
in /path/to/my/application.axf
13
+
```
14
+
15
+
### Possible Reason: scatterloading issues
16
+
17
+
`arm-none-eabi-gdb` does not correctly load ELF program segments due to the way that Arm Compiler for Embedded generates
18
+
section and program header information when scatterloading is used.
19
+
20
+
### Workaround: Generate a HEX file
21
+
22
+
Generate a HEX file for the program download, and the ELF file for debug purposes only.
23
+
24
+
Refer to the [Project setup](./setup.md#project-setup) section for further details.
25
+
26
+
## Broken debug illusion
27
+
28
+
When debugging ELF files with [DWARF](https://dwarfstd.org/) debug information of standard version 4 and earlier, `arm-none-eabi-gdb` generates the following warnings:
29
+
30
+
```txt
31
+
warning: (Internal error: pc 0x8006a18 in read in CU, but not in symtab.)
32
+
```
33
+
34
+
The debug illusion will be broken in many places.
35
+
36
+
### Possible Reason: Missing DWARF5 debug information
37
+
38
+
`arm-none-eabi-gdb` works best with DWARF debug information of standard version 5.
39
+
40
+
### Solution: Build the ELF file using DWARF5
41
+
42
+
Make sure to build your application ELF file with DWARF version 5 debug information.
43
+
44
+
Follow the steps explained in [Project setup](./setup.md#project-setup).
45
+
46
+
## pyOCD port not available
47
+
48
+
When starting a debug session, you might see this error:
49
+
50
+

51
+
52
+
### Possible reason: A running instance of pyOCD
53
+
54
+
This error might occur if a previous debug session has ended prematuerly and pyOCD has not exited. The orphaned instance
55
+
will still keep the port open (usually 3333) and thus you won't be able to open the port again in the new session.
56
+
57
+
### Solution: Check open files and kill pyOCD
58
+
59
+
On Linux and macOS you can check the running open files using the [`lsof`](https://de.wikipedia.org/wiki/Lsof) command:
0 commit comments