FLASHPROG(8) 2026-07-17 FLASHPROG(8) (NAME) flashprog - (SYNOPSIS) flashprog : flashprog ([prog]|config|cfg|write-protect|wp) prog . flashprog-config(8) flashprog-write-protect(8) . flashprog [-h|-R|-L|-z| -p [:] [-c ] (--flash-name|--flash-size| [-E|-r |-w |-v ] [(-l |--ifd|--fmap|--fmap-file ) [-i ]...] [-n] [-N] [-f])] [-V[V[V]]] [-o ] [--progress] (DESCRIPTION) flashprog . BIOS/EFI/coreboot/ . PCI/USB/ / (NIC) SATA/IDE Bus Pirate USB FTDI FT2232/FT4232H/FT232H . DIP32 PLCC32 DIP8 SO8/SOIC8 TSOP32 TSOP40 TSOP48 BGA LPC FWH SPI . (OPTIONS) -h -R -L -z -E -r -w -v . flashprog . flashprog . -r ROM . (///...) -p/--programmer ( ). -r, --read ROM . . -w, --write (|-) ROM . - (stdin) . . . . . . . -n, --noverify ROM . . : flashprog -p prog -n -w --write . -N, --noverify-all ( -l -i). ( internal). flashprog ( ). ME internal . . -v, --verify (|-) ROM . - stdin . -E, --erase ROM. -V, --verbose . ( -VVV) . -c, --chip ROM . flashprog -L . . -f, --force : * . * . * . * . -l, --layout (Layout) ROM . flashprog ROM . . ROM : startaddr:endaddr imagename startaddr endaddr ROM . 0x . imagename / startaddr endaddr ( ). : 00000000:00008fff gfxrom 00009000:0003ffff normal 00040000:0007ffff fallback normal ROM : flashprog -p prog --layout rom.layout --image normal -w some.rom normal fallback : flashprog -p prog -l rom.layout -i normal -i fallback -w some.rom . --fmap fmap . flashprog fmap coreboot . fmap . COREBOOT fmap : flashprog -p prog --fmap --image COREBOOT -w some.rom --fmap-file fmap ( coreboot). flashprog fmap coreboot . fmap . COREBOOT fmap : flashprog -p prog --fmap-file some.rom --image COREBOOT -w some.rom --ifd ROM (Intel Firmware Descriptor IFD). flashprog ROM (IFD) . . IFD . ROM IFD : fd IFD bios BIOS me Intel Management Engine gbe pd -i, --image / . --flash-name . --flash-size . --flash-contents . . . -L, --list-supported ( PCI USB ) flashprog . flashprog . . : ERASE / WRITE ! -z, --list-supported-wiki --list-supported MediaWiki . MediaWiki . -p, --programmer [:parameter[,parameter[,parameter]]] . (///...) . : * internal ( ) * dummy ( flashprog) * nic3com ( 3COM) * nicrealtek ( Realtek SMC 1211) * nicnatsemi ( National Semiconductor DP838*) * nicintel ( 10/100Mbit) * nicamd ( AMD PCnet) * gfxmatrox ( Matrox) * gfxnvidia ( NVIDIA) * drkaiser ( PCI Dr. Kaiser PC-Waechter) * satasii ( SATA/IDE Silicon Image) * scsilsi ( SCSI LSI) * satamv ( SATA Marvell) * atahpt ( ATA/RAID Highpoint) * atavia ( SATA VIA VT6421A) * atapromise ( ATA/RAID Promise PDC2026x) * it8212 ( ATA/RAID ITE IT8212F) * ft2232_spi ( SPI USB SPI FT2232/FT4232H/FT232H). * ft4222_spi ( SPI QPI USB FT4222H). * serprog ( serprog ). * buspirate_spi ( SPI Bus Pirate) * dediprog ( SPI Dediprog SF100/SF200/SF600/SF700) * rayer_spi ( SPI ) * pony_spi ( SPI SI-Prog) * nicintel_spi ( SPI ) * ogp_spi ( SPI Open Graphics Project) * linux_gpio_spi ( SPI GPIO /dev/gpiochipX ) * linux_mtd ( SPI /dev/mtdX ) * linux_spi ( SPI /dev/spidevX.Y ) * usbblaster_spi ( SPI Altera USB-Blaster) * nicintel_eeprom ( EEPROM SPI ) * mstarddc_spi ( SPI DDC MSTAR) * pickit2_spi ( SPI Microchip PICkit2) * ch341a_spi ( SPI WCH CH341A) * ch347_spi ( SPI WCH CH347) * digilent_spi ( SPI iCEblink40) * jlink_spi ( SPI SEGGER J-Link ) * ni845x_spi ( SPI National Instruments USB-8451 USB-8452) * stlinkv3_spi ( SPI STMicroelectronics STLINK V3) * dirtyjtag_spi ( SPI DirtyJTAG) (PROGRAMMER-SPECIFIC INFORMATION) . . flashprog -h . -h, --help . -o, --output . . flashprog . --progress . -R, --version . (PROGRAMMER-SPECIFIC INFORMATION) . . / . internal (Board Enables) ( ) . ( ) : coreboot coreboot . PCI DMI . PCI DMI ( ) : flashprog -p internal:mainboard=: coreboot 'Known boards' 'Known laptops' 'flashprog -L' . ( flashprog board enables ) . . ( ) . ( ) flashprog ( ) . ROM ( ) ( flashprog ). . : flashprog -p internal:boardenable=force . ROM ( -r) USB . . . / . ( ) flashprog ( ). (Coreboot) coreboot flashprog . . flashprog : flashprog -p internal:boardmismatch=force I/O ITE IT87 DualBIOS Super I/O ITE IT87 . : flashprog -p internal:dualbiosindex=chip chip ( = = ). chip . Super I/O ITE IT87 LPC<->SPI flashprog . I/O SPI IT87 BIOS : flashprog -p internal:it87spiport=portnum portnum I/O ( ). flashprog IT87 LPC<->SPI . AMD SB700 (IMC) 8051 (Southbridge) AMD . IMC . flashprog IMC : IMC ( ) . IMC . flashprog IMC : flashprog -p internal:amd_imc_force=yes IMC . . . spispeed SPI ( SB600 SPI ). : flashprog -p internal:spispeed=frequency frequency '16.5 MHz' '22 MHz' '33 MHz' '66 MHz' '100 MHZ' '800 kHz' . : * SB6xx, SB7xx, SP5xxx: 16.5 33 * SB8xx, SB9xx, Hudson: 16.5 66 * Yangtze ( SPI 100 Kabini Tamesh ): 16.5 (Fast Reads) . Intel ICH8 SPI ( ) () (Hardware Sequencing) . ( (Software Sequencing)) SPI . : flashprog -p internal:ich_spi_mode=value value auto swseq hwseq . ( ich_spi_mode=auto) swseq ( ) hwseq . (swseq, hwseq) ( ) . ICH8 . "Flash Regions" ME . "Protected Regions" "Flash Regions" . / . ICH2 IDSEL (EC) : flashprog -p internal:fwh_idsel=value value IDSEL . 0xffc00000 0xffffffff 0xff400000 0xff7fffff . . IDSEL . ICH7 . : flashprog -p internal:fwh_idsel=0x001122334567 (Laptops) flashprog SPI ( (BUGS) ). (EC) . . BIOS EC flashprog . flashprog EC . EC . flashprog SPI . LPC : flashprog -p internal:laptop=force_I_want_a_brick . . DMI/SMBIOS . / . flashprog . : flashprog -p internal:laptop=this_is_not_a_laptop flashprog . dummy dummy . flashprog . ( /// ). . : flashprog -p dummy:bus=[type[+type[+type]]] type parallel lpc fwh spi . bus type . bus . : flashprog -p dummy:bus=lpc+fwh dummy . : flashprog -p dummy:emulate=chip chip ( ): * SPI ST M25P10-A ( RDID ) * SPI ST M25P10.RES ( RES ) * SPI SST SST25VF040.REMS ( REMS ) * SPI SST SST25VF032B ( RDID AAI) * SPI Macronix MX25L6436 ( RDID SFDP) * SPI Winbond W25Q128FV ( RDID) * SPI Spansion S25FL128L ( RDID) : flashprog -p dummy:emulate=SST25VF040.REMS (Persistent images) : flashprog -p dummy:emulate=chip,image=image.rom image.rom flashprog flashprog . : flashprog -p dummy:emulate=M25P10.RES,image=dummy.bin SPI SPI SPI : flashprog -p dummy:emulate=chip,spi_write_256_chunksize=size size ( ). : flashprog -p dummy:emulate=M25P10.RES,spi_write_256_chunksize=5 SPI SPI SPI : flashprog -p dummy:spi_blacklist=commandlist commandlist SPI . commandlist 0302 flashprog SPI 0x03 (READ) 0x02 (WRITE) . commandlist ( ) . : flashprog . SPI SPI ( ) SPI : flashprog -p dummy:spi_ignorelist=commandlist commandlist SPI . commandlist 0302 0x03 (READ) 0x02 (WRITE) . commandlist ( ) . : flashprog . SPI : flashprog -p dummy:spi_status=content content . 0x332211 0x11 SR1 0x22 SR2 0x33 SR3 . . . (Write protection) WP : W25Q128FV, S25FL128L. (WP) : flashprog -p dummy:hwwp=state state "yes" "no" ( ) . "yes" ( ). nic3com nicrealtek nicnatsemi nicintel nicintel_eeprom" nicintel_spi nicamd gfxmatrox gfxnvidia ogp_spi" drkaiser satasii scsilsi satamv atahpt atavia " atapromise it8212 PCI . : flashprog -p xxxx:pci=bb:dd.f xxxx bb PCI dd PCI f PCI . : flashprog -p nic3com:pci=05:04.0 atavia VIA VT6421A : flashprog -p atavia:offset=addr addr ( 0x 0 ). . atapromise . ( Promise Ultra100) . ( ). nicintel_eeprom flashprog NOR EEPROM NIC 82580 . EEPROM . flashprog EEPROM/ ( ) . EEPROM : Atmel AT25128 AT25256 Micron (ST) M95128 M95256 OnSemi (Catalyst) CAT25CS128. nicamd AMD PCnet . flashprog . max_decode_kb : flashprog -p nicamd:max_decode_kb=128 gfxmatrox Matrox . ROM BAR . BAR . ROM BAR MMIO BAR . bar=no_gfx_driver_running : flashprog -p gfxmatrox:bar=no_gfx_driver_running ft2232_spi FTDI FT2232/FT4232H/FT4233H/FT232H : DLP Design DLP-USB1232H openbiosprog-spi Amontec JTAGkey/JTAGkey-tiny/JTAGkey-2 Dangerous Prototypes Bus Blaster Olimex ARM-USB-TINY/-H Olimex ARM-USB- OCD/-H OpenMoko Neo1973 ( V2+) USB TIAO/DIYGADGET ( TUMPA) TUMPA Lite GOEPEL PicoTAP Google Servo v1/v2 Tin Can Tools Flyswatter/Flyswatter 2 Kristech KT-LINK. // . : flashprog -p ft2232_spi:type=model,port=interface model 2232H 4232H 232H jtagkey busblaster openmoko arm-usb-tiny arm-usb-tiny-h arm-usb-ocd arm-usb-ocd-h tumpa tumpalite picotap google-servo google-servo-v2 google-servo-v2-legacy kt-link interface A B C D . 4232H A GPIO . ft2232_spi : flashprog -p ft2232_spi:serial=number number ( lsusb -v ). ft2232_spi SPI . 2^17 (=131072) SPI ( H) ( 'H') . divisor : flashprog -p ft2232_spi:divisor=div csgpiol ( - gpiol ) CS# 0 3 GPIOL0-GPIOL3 . : flashprog -p ft2232_spi:csgpiol=3 gpiolX=[HLC] GPIOL gpio CS# X 0 3 GPIOL0-GPIOL3 . GPIOL . H L C : H - GPIOL (High) L - GPIOL (Low) C - GPIOL CS# : flashprog -p ft2232_spi:gpiol0=H GPIOL . ft4222_spi FTDI FT4222H . cs USB CS# 0..3 : flashprog -p ft4222_spi:cs=3 ft4222_spi SPI spispeed . ( ) . SPI . : / (Quad-i/o) ( ) . flashprog -p ft4222_spi:spispeed=20000 . FT4222H / iomode / . single dual quad. dual (MOSI MISO). / : flashprog -p ft4222_spi:spispeed=15000,iomode=quad FT4222H . ( ) . 20MHz x4 . serprog serprog . Urja Rannikko Juhana Helovuo Stefan Tauner Chi Zhang . ( ) IP/ . / dev= : flashprog -p serprog:dev=/dev/ttyS0:115200 / . IP : flashprog -p serprog:ip=ipaddr:port SPI spispeed . M k . : flashprog -p serprog:dev=/dev/ttyACM0,spispeed=2M cs Chip Select SPI . : flashprog -p serprog:dev=/dev/ttyACM0:cs=0 serprog serprog-protocol.txt . buspirate_spi dev Bus Pirate spispeed SPI . . : flashprog -p buspirate_spi:dev=/dev/device,spispeed=frequency frequency 30k 125k 250k 1M 2M 2.6M 4M 8M ( ) . . Bus Pirate serialspeed . : flashprog -p buspirate_spi:serialspeed=baud baud 115200 230400 250000 2000000 (2M) . Bus Pirate . 2M baud . pullups (Pull-up) Bus Pirate . ROM . : flashprog -p buspirate_spi:pullups=state state on off . Bus Pirate dangerousprototypes . Bus Pirate psus . : flashprog -p buspirate_spi:psus=state state on off . Bus Pirate ROM . Vpu Bus Pirate Vcc ( pullups) . pickit2_spi voltage PICkit2 . . mV millivolt V Volt . : flashprog -p pickit2_spi:voltage=value value 0V 1.8V 2.5V 3.5V . spispeed SPI . : flashprog -p pickit2_spi:spispeed=frequency frequency 250k 333k 500k 1M ( ) . . dediprog voltage Dediprog . . mV milliVolt V Volt . : flashprog -p dediprog:voltage=value value 0V 1.8V 2.5V 3.5V . device Dediprog . usb_get_busses() libusb . : flashprog -p dediprog:device=1 spispeed SPI . .. . : flashprog -p dediprog:spispeed=frequency frequency 375k 750k 1.5M 2.18M 3M 8M 12M 24M ( ) . . target . : flashprog -p dediprog:target=value value 1 2 . . Dediprog SF600 SF700 / . / . iomode . single dual quad. / : flashprog -p dediprog:iomode=quad rayer_spi / 0x378 iobase / : flashprog -p rayer_spi:iobase=baseaddr baseaddr / . "0x" . RayeR . type : flashprog -p rayer_spi:type=model model rayer RayeR byteblastermv Altera ByteBlasterMV stk200 Atmel STK200/300 wiggler Macraigor Wiggler xilinx Xilinx III (DLC 5) spi_tt SPI . RayeR RayeR . Altera ByteBlasterMV Altera . Macraigor Wiggler . Xilinx DLC 5 . pony_spi ( /dev/ttyS0 /dev/ttyUSB0 COM3 ) dev . SI-Prog ( SPI PonyProg 2000) "serbang" . type "si_prog" () "serbang" . SI-Prog . flashprog : flashprog -p pony_spi:dev=/dev/ttyS0,type=serbang USB-to- serial . ogp_spi ROM rom : flashprog -p ogp_spi:rom=name name ROM cprom s3 ROM BIOS bprom bios . ogp_spi PCI pci= nic3com . linux_gpio_spi GPIO GPIO SPI : flashprog -p linux_gpio_spi:dev=/dev/gpiochip0,cs=8,sck=11,mosi=10,miso=9 flashprog -p linux_gpio_spi:gpiochip=0,cs=8,sck=11,mosi=10,miso=9 gpiochip=0 0 GPIO /dev/gpiochip0 cs, sck, mosi, miso GPIO SPI ROM . libgpiod . / MOSI MISO / GPIO io2 io3 . GPIO SPI Raspberry Pi . GPIO . SPI linux_spi . gpioinfo GPIO . linux_gpio_spi libgpiod . linux_mtd MTD : flashprog -p linux_mtd:dev=/dev/mtdX /dev/mtdX MTD . MTD ( /dev/mtd0) . linux_mtd . linux_spi SPI : flashprog -p linux_spi:dev=/dev/spidevX.Y /dev/spidevX.Y SPI . SPI spispeed . . : flashprog -p linux_spi:dev=/dev/spidevX.Y,spispeed=8000 linux_spi . mstarddc_spi (Display Data Channel DDC) I2C VGA DVI . EDID ( I2C 0x50) DDC/CI ( 0x37) . MSTAR SoC SoC ( SPI SoC ) (ISP) 0x49 . flashprog I2C . : (Standby) VGA VGA flashprog . ! DDC/I2C I2C : flashprog -p mstarddc_spi:dev=/dev/i2c-X:YY /dev/i2c-X I2C DDC YY () ISP MSTAR ( 0x49 ). I2C /dev/i2c-1 0x49 : flashprog -p mstarddc_spi:dev=/dev/i2c-1:49 noreset () flashprog . 1 flashprog . : flashprog -p mstarddc_spi:dev=/dev/i2c-1:49,noreset=1 . / flashprog ( ) noreset . mstarddc_spi . ch341a_spi WCH CH341A . SPI CS0 . ch347_spi CS0 . spispeed SPI : flashprog -p ch347_spi:spispeed=frequency frequency kHz . ( ) . . . SPI spimode : flashprog -p ch347_spi:spimode=mode mode . . ni845x_spi voltage / . NI USB-8452 . . mV milliVolt V Volt . : flashprog -p ni845x_spi:voltage=value value 1.2V 1.5V 1.8V 2.5V 3.3V . / flashprog ( ). "yes" ignore_io_voltage_limits ( ). : flashprog -p ni845x_spi:ignore_io_voltage_limits=yes serial NI USB-845x . . 1230A12: flashprog -p ni845x_spi:serial=1230A12 spispeed SPI . : flashprog -p ni845x_spi:spispeed=frequency frequency . frequency USB-8451 ( ) USB-8452 ( ) . ( ) . digilent_spi spispeed SPI . : flashprog -p digilent_spi:spispeed=frequency frequency 62.5k 125k 250k 500k 1M 2M 4M ( ) . . dirtyjtag_spi spispeed SPI . : flashprog -p dirtyjtag_spi:spispeed=frequency frequency . . jlink_spi SEGGER J-Link . MOSI TDI MISO TDO SCK TCK. (CS) : flashprog -p jlink_spi:cs=pin pin TRST RESET . RESET . RESET LED . VTref . . JTAG: +-------+ | 1 2 | 1: VTref 2: | 3 4 | 3: TRST 4: GND | 5 6 | 5: TDI 6: GND +-+ 7 8 | 7: 8: GND | 9 10 | 9: TCK 10: GND | 11 12 | 11: 12: GND +-+ 13 14 | 13: TDO 14: | 15 16 | 15: RESET 16: | 17 18 | 17: 18: | 19 20 | 19: PWR_5V 20: +-------+ : flashprog -p jlink_spi:serial=number number ( lsusb -v ). SPI : flashprog -p jlink_spi:spispeed=frequency frequency SPI . . power=on (PWR_5V) J-Link . stlinkv3_spi SPI SPI / STLINK V3 STMicroelectronics : flashprog -p stlinkv3_spi : flashprog -p stlinkv3_spi:serial=number number ( lsusb -v ). SPI : flashprog -p stlinkv3_spi:spispeed=frequency frequency SPI . . (EXAMPLES) BIOS : flashprog -p internal -r backup.rom -o backuplog.txt flashprog -p internal -w newbios.rom -o writelog.txt backup.rom . . flashprog : flashprog -p internal -w backup.rom -o restorelog.txt backuplog.txt writelog.txt restorelog.txt . (BUGS) . (EXIT STATUS) flashprog 0 1 mmap() 3 . (REQUIREMENTS) flashprog . internal (Raw memory) PCI I/O ( x86) MSR ( x86) . atavia PCI . nic3com nicrealtek nicnatsemi PCI I/O . atahpt PCI I/O . gfxmatrox gfxnvidia drkaiser it8212 PCI . rayer_spi I/O . satasii scsilsi nicintel nicintel_eeprom nicintel_spi PCI . nicamd satamv atapromise PCI I/O . serprog TCP . buspirate_spi . ft2232_spi usbblaster_spi pickit2_spi API 0.1 libusb USB . ch341a_spi dediprog API 1.0 libusb USB . dummy . internal nicamd nic3com nicrealtek nicnatsemi gfxmatrox gfxnvidia drkaiser satamv satasii scsilsi atahpt atavia atapromise / (superuser/root) . serprog buspirate_spi dediprog usbblaster_spi ft2232_spi pickit2_spi ch341a_spi digilent_spi dirtyjtag_spi . ogp PCI . OpenBSD securelevel=-1 /etc/rc.securelevel . (BUGS) : https://www.flashprog.org/Contact. (pastebin) . (Laptops) flashprog . flashprog . flashprog internal (PROGRAMMER-SPECIFIC INFORMATION) . (OTP) OTP " (Security Registers)" . . flashprog . OTP . OTP . . (LICENSE) flashprog (GNU GPL) . GPL . (COPYRIGHT) . (AUTHORS) Andrew Morgan Carl-Daniel Hailfinger Claus Gindhart David Borg David Hendricks Dominik Geyer Edward O'Callaghan Eric Biederman Giampiero Giancipoli Helge Wagner Idwer Vollering Joe Bao Joerg Fischer Joshua Roys Kyosti Malkki Luc Verhaegen Li-Ta Lo Mark Marshall Markus Boas Mattias Mattsson Michael Karcher Nikolay Petukhov Patrick Georgi Peter Lemenkov Peter Stuge Reinder E.N. de Haan Ronald G. Minnich Ronald Hoogenboom Sean Nelson Stefan Reinauer Stefan Tauner Stefan Wildemann Stephan Guilloux Steve Markgraf Steven James Urja Rannikko Uwe Hermann Wang Qingpei Yinghai Lu flashprog . . Uwe Hermann Carl-Daniel Hailfinger Stefan Tauner . GNU GPL ( ) . (SEE ALSO) flashprog-config(8), flashprog-write-protect(8) flashprog-v1.6-dirty 2026-07-17 FLASHPROG(8)