Skip to content

Commit 1f6f9f5

Browse files
committed
Version 0.30.0
1 parent f13726f commit 1f6f9f5

27 files changed

+4167
-27
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ node_modules
77
.secrets
88
*.tcl
99
*.prompt.md
10-
registers/
10+
registers/
11+
freertos_ports/

CHANGELOG.md

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,47 @@ Versioning].
88
[keep a changelog]: https://keepachangelog.com/en/1.0.0
99
[semantic versioning]: https://semver.org/spec/v2.0.0.html
1010

11+
## [0.30.0] - 2026-04-02
12+
13+
### Added
14+
15+
- FreeRTOS-aware crash analyzer support in `xsdb-gdb` sessions, including handler-aware analysis for:
16+
- `vApplicationAssert`
17+
- `vApplicationStackOverflowHook`
18+
- `vApplicationMallocFailedHook`
19+
- ARM abort/exception handlers used by Xilinx FreeRTOS ports (A9, R5, A53)
20+
- MicroBlaze FreeRTOS exception handler register-dump context
21+
- Extended `XSDB: Run Crash Analyzer` to emit formatted FreeRTOS crash reports when halted inside supported handlers.
22+
23+
### Changed
24+
25+
- `XSDB: Quick Reset`, `XSDB: Reset Processor`, and `XSDB: Reset System` now work without an active debug session by using standalone XSDB fallback.
26+
- Added support for standalone reset settings:
27+
- `xilinx-debug.xsdb.standalonePath`
28+
- `xilinx-debug.xsdb.standaloneHwServerUrl`
29+
30+
## [0.29.0] - 2026-04-01
31+
32+
### Added
33+
34+
- Integrated in-extension HDF/XSA parser module under `src/hdf-xsa-parser` for hardware handoff parsing and normalization.
35+
- New **Xilinx: Project Setup Wizard** webview command to import `.hdf`/`.xsa`, inspect parsed hardware info, and generate project scaffolding.
36+
- New XSDB memory transfer commands:
37+
- `XSDB: Dump Memory to File`
38+
- `XSDB: Load Memory from File`
39+
- Hex editor binary file actions:
40+
- `Export .bin`
41+
- `Import .bin`
42+
- New **XSDB: Clock & Power Monitor** panel with platform-aware clock decoding and ZynqMP power-domain status decoding.
43+
- New optional `crashAnalyzer` launch/attach setting for `xsdb-gdb` to emit ARM fault analysis reports on exception/signal stops.
44+
45+
### Changed
46+
47+
- Root TypeScript build now excludes nested `hdf-xsa-parser` workspace so `npm run vscode:prepublish` compiles only the extension sources.
48+
- Added extension dependencies required by the integrated parser:
49+
- `adm-zip`
50+
- `fast-xml-parser`
51+
1152
## [0.28.0] - 2026-03-27
1253

1354
### Added
@@ -41,8 +82,6 @@ Versioning].
4182

4283
#### For details check README_zynq.md
4384

44-
## Unreleased
45-
4685
### Added
4786

4887
- fix missing output of variable type for structure ([@henryriley0])

README.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,13 @@ The main Xilinx workflow is provided by the `xsdb-gdb` debugger type:
4242
- target selection by filter or JTAG cable name
4343
- runtime XSDB commands from the VS Code Debug Console using `xsdb:`
4444
- XSDB memory read/write commands from the Command Palette
45+
- XSDB memory dump/load (`.bin`) commands from the Command Palette
4546
- board reset commands from the Command Palette
47+
- clock and power status monitor panel (Zynq-7000/ZynqMP, Versal stub)
48+
- hardware handoff project setup wizard from `.hdf`/`.xsa`
4649
- optional XSDB command tracing
50+
- optional automatic crash analyzer for ARM fault registers
51+
- FreeRTOS-aware crash analyzer for assert hooks and fatal handlers across Zynq-7000, ZynqMP (A53/R5), and MicroBlaze ports
4752

4853
### Debug UX features
4954

@@ -172,6 +177,7 @@ Use for Mago-MI workflows on supported Windows targets.
172177
- `freertosAwareness`
173178
- `mapFilePath`
174179
- `xsdbTraceCommands`
180+
- `crashAnalyzer`
175181

176182
Full Xilinx-focused details and recipes are in `README_zynq.md`.
177183

@@ -195,10 +201,15 @@ MI commands for the backend debugger can still be sent with `-`.
195201
- XSDB: Read Memory
196202
- XSDB: Write Memory
197203
- XSDB: Send Command
204+
- XSDB: Run Crash Analyzer
205+
- XSDB: Dump Memory to File
206+
- XSDB: Load Memory from File
198207
- XSDB: Quick Reset
199208
- XSDB: Reset Processor
200209
- XSDB: Reset System
201210
- XSDB: Hex Memory Editor
211+
- XSDB: Clock & Power Monitor
212+
- Xilinx: Project Setup Wizard
202213
- UART: Connect Serial Terminal
203214
- UART: Disconnect Serial Terminal
204215
- UART: Toggle Connect/Disconnect
@@ -296,10 +307,33 @@ A read/write hex memory editor webview for inspecting and modifying memory durin
296307
- Click any byte to edit it (modified bytes are highlighted)
297308
- **Write** button to commit changes via XSDB
298309
- **Refresh** button to re-read the range
310+
- **Export .bin** button to save current buffer
311+
- **Import .bin** button to load bytes into the editor buffer
299312
- **Go to address** and byte count inputs for navigation
300313

301314
Requires an active `xsdb-gdb` debug session.
302315

316+
## Project Setup Wizard
317+
318+
Create a starter debug project from hardware handoff files.
319+
320+
### Usage
321+
322+
1. Run **Xilinx: Project Setup Wizard** from the Command Palette
323+
2. Import an `.hdf` or `.xsa` file
324+
3. Review generated launch and peripheral settings
325+
4. Generate project scaffolding (`hw_platform`, `src`, `include`, `.vscode`)
326+
327+
## Clock & Power Monitor
328+
329+
Live clock tree and power-domain snapshot from XSDB register reads.
330+
331+
### Usage
332+
333+
1. Start an `xsdb-gdb` debug session
334+
2. Run **XSDB: Clock & Power Monitor**
335+
3. Use **Refresh** in the panel to fetch current values
336+
303337
### Configuration
304338

305339
| Setting | Default | Description |
@@ -308,7 +342,7 @@ Requires an active `xsdb-gdb` debug session.
308342

309343
## Quick Board Reset
310344

311-
Quick reset buttons that appear during an active `xsdb-gdb` debug session:
345+
Quick reset buttons can be used during an active `xsdb-gdb` debug session, and also work without an active session via standalone XSDB fallback.
312346

313347
- **Status bar item**: A `$(debug-restart) Reset Board` button appears in the status bar during `xsdb-gdb` sessions
314348
- **Debug toolbar**: A reset button appears in the debug toolbar
@@ -321,6 +355,23 @@ The quick reset uses the configured `xilinx-debug.xsdb.defaultResetType` setting
321355
| Setting | Default | Description |
322356
|---|---|---|
323357
| `xilinx-debug.xsdb.defaultResetType` | `"processor"` | Default reset type for quick reset: processor or system |
358+
| `xilinx-debug.xsdb.standalonePath` | `""` | Optional standalone `xsdb` executable path used when no debug session is active |
359+
| `xilinx-debug.xsdb.standaloneHwServerUrl` | `""` | Optional standalone `hw_server` URL (for example `tcp:127.0.0.1:3121`) |
360+
361+
## FreeRTOS Crash Analyzer
362+
363+
The crash analyzer now detects FreeRTOS fatal-stop contexts and reports handler-specific details in addition to raw fault registers.
364+
365+
### Supported FreeRTOS/BSP stop points
366+
367+
- `vApplicationAssert` (assert file and line)
368+
- `vApplicationStackOverflowHook` (task context)
369+
- `vApplicationMallocFailedHook`
370+
- Data/prefetch/undefined abort handlers (`Xil_*` / FreeRTOS vector handlers)
371+
- AArch64 synchronous/SError handlers on Cortex-A53
372+
- MicroBlaze `vPortExceptionHandler` register-dump context
373+
374+
Use **XSDB: Run Crash Analyzer** while halted in a handler to generate a formatted report in the **XSDB Crash Analyzer** output channel.
324375

325376
## Recommended attach behavior
326377

0 commit comments

Comments
 (0)