Flashrom (utility)

Flashrom is a software utility published under an open source license that can detect, read, verify, erase, or write EEPROMs using interfaces such as the Low Pin Count (LPC), FWH, parallel, and Serial Peripheral Interface (SPI). It can be used to flash firmware images such as BIOS or coreboot, or to backup existing firmware.

Details
It is free software released under the terms of the GNU General Public License version 2. It has pciutils and zlib as dependencies, and for some programmers also libftdi and libusb. It is run from user space and usually requires superuser privileges (except when using supported USB devices as programmer).

The flashrom project is lead and maintained by Anastasia Klimchuk.

Supported hardware
Support for programmers include the Bus Pirate and the Raspberry Pi.

It supports over 480 flash chip families, 291 chipsets, 524 mainboards, 71 PCI devices, 19 USB devices and various parallel/serial port-based devices which can be used as programmers. It supports cross-flashing and hot-flashing.

Supported packaging types include dual in-line package (DIP), plastic leaded chip carrier (PLCC), small-outline integrated circuit (SOIC), thin small-outline package (TSOP), or ball grid array (BGA) packages.