eclipse-cdt-cloud / eclipse-cdt-cloud/vscode-peripheral-inspector

Rework peripheral read strategy and `peripheral-inspector.svdAddrGapThreshold`

Open
#60 2 comments 0 reactions 1 assignee Claimed by @jreineckearm View on GitHub
Dominant language
TypeScript
Stars
9
Forks
17
Avg merge
4d 12h
Merged PRs (30d)
5

Description

Type: Bug Report

**Describe the bug**
- OS and Version: Windows and macOS
- VS Code Version: 1.98.2
- Extension Version: 1.7.0
- Target Device: NXP FRDM-K32L3A6 Board
- Other extensions you installed (and if the issue persists after disabling them): Arm Debugger Extension, Arm Embedded Debugger Extension
- A clear and concise description of what the bug is.

Peripheral Inspector runs into a series of errors when reading from certain peripherals.

It turns out that the current SVD-based register read implementation doesn't make use all useful information to efficiently read registers from the target device. That includes access widths (currently not supported in Debug Adapter Protocol), but also a better analysis of how to bundle memory accesses into larger ones which can bring performance improvements.

As part of that, we may want to review the need for the `peripheral-inspector.svdAddrGapThreshold` option. It looks like it was a way to achieve similar bundling of memory accesses without more detailed analysis of the SVD nodes.

**To Reproduce**
Steps to reproduce the behavior:
1. Connect to the device with one of the mentioned debuggers.
2. Explore the peripheral list with different `svdAddrGapThreshold` values.
3. You'll see a varying number of errors of which many can be explained by not honoring such additional information from the SVD file.

**Expected behavior**

Better use of SVD file information and less errors.
Acceptable performance without using the `svdAddrGapThreshold`.
An updated `svdAddrGapThreshold` default value that turns it off.

**Code sample and logs**
N/A

**Screenshots**

N/A

**Additional context**

N/A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.