Flashrom

Flashrom is a universal flash programming utility used to detect, read, verify, erase, or write BIOS chips in 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. It supports parallel, Low Pin Count (LPC), FWH, and Serial Peripheral Interface Bus (SPI) flash interfaces. It can be used to flash firmware images such as BIOS or coreboot, or to backup an 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, 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).
Backup the firmware of the host running flashrom into a file:
codice_1
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.