A gdb-dashboard module to display SVD registers.
Unlike other projects, this one adds the ability to load several SVD files at once. Most of the time, vendors' SVD files does not contain ARM base registers that are usefull for debugging : SCB CFSR for example.
Here's the Nordic nRF5340 svd file and you can see that the System Control Block is not present. To address this, just use the SVD from Nordic and the Cortex-M33 SVD form ARM at the same time.
This project depends on cmsis-svd and requires a least gdb-dashboard version 0.17.
$ pip3 install -r ./requirements.txt
Then simply add gdb-dashboad-svd.py in your ~/.gdbinit.d/ directory.
All commands benefit from a usefull completion.
dashboard svd load ./Cortex-M33.svd ./nrf5340_application.svd
dashboard svd /_t add SCB CFSR
dashboard svd /a add SCB BFAR
The display format depends on the option:
- a for address
- u for decimal
- x for hexadecimal
- t for binary
- _t for binary with separator
dashboard svd remove SCB CFSR_UFSR_BFSR_MMFSR
dashboard svd remove SCB BFAR
dashboard svd clear
This module also creates two gdb commands:
svd info [<peripheral> [<register>]]
svd get [/auxt_t] <peripheral> <register>
Example:
>>> svd info SCB HFSR
HFSR addr: 0xe000ed2c (access: read-write)
DEBUGEVT [31] (DEBUGEVT)
FORCED [30] (Forced)
VECTTBL [1] (VECTTBL)
>>> svd get /_t SCB HFSR
0xe000ed2c: 0b0000_0000_0000_0000_0000_0000_0000_0000