Import CMSIS SVD information onto your Ghidra memory map. This is usefull when reversing firmware from devices that publish SVD files. This is a re-write of another Ghidra SVD Loader plugin.
This is the preferred way to generate memory maps, but if no SVD files are available for your device you may want to try the Ghidra DeviceTreeBlob plugin.
This extension is available for installation via the Ghidra Extension Manager.
You may also install this extension by going to the releases page and downloading the latest version for your Ghidra distribution. In order to install from the release, in Ghidra main window go to File
> Install extensions...
. In the new window press the +
icon to import the downloaded zip.
In a CodeBrowser window press File
> Import SVD...
.
A file dialog will allow you to select your SVD file and import it. Memory map will automatically be updated.
You may find SVD file sources in the following table:
Manufacturer | URL | Notes |
---|---|---|
Espressif | https://github.com/espressif/svd | |
ST | https://github.com/modm-io/cmsis-svd-stm32 | |
ST | https://github.com/morbos/STM32 | |
NXP | https://github.com/Masmiseim36/nxpSDK/tree/master/devices | May have XML extension |
NXP | https://mcuxpresso.nxp.com/en/welcome | May have XML extension |
Various/ARM | https://www.keil.arm.com/devices/ | |
Various/ARM | https://github.com/ARM-software/CMSIS_4/tree/master/Device/ARM/SVD | |
Various/ARM | https://github.com/ARM-software/CMSIS_5/tree/develop/Device/ARM/SVD | |
Various/ARM | https://github.com/ARM-software/Cortex_DFP/tree/main/SVD |
For development instructions checkout doc/Develop.md.