Skip to content

antoniovazquezblanco/GhidraSVD

Repository files navigation

Ghidra SVD

Build

A red dragon tinkers with an IoT device

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.

Installing

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.

Usage

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

Development

For development instructions checkout doc/Develop.md.