flashprog/v1.3

From flashprog
Jump to navigation Jump to search


So 51 commits later, flashprog has an updated CLI interface with additional commands. The first two new commands are config & write-protect. Also, the Intel chipset support got a major update and should support all current platforms now.

What's new?

Command-Mode CLI

The CLI code has been refactored to support multiple command modes. For each command, flashprog offers different operations to control the flash chip. The first two command modes are config and write-protect.

config allows to read and set status-register bits, for instance to set the quad-enable bit:

$ flashprog config set -p ch347_spi qe 1

write-protect controls the block-protection features of SPI flash chips, e.g. to query the write-protection status:

$ flashprog write-protect -p ch347_spi status

All the new commands can also be called with special shortcuts, as a symlink to the flashprog binary. The shortcuts follow a prefix convention, namely should start either with flashprog-, flash or just f. config and write-protect can also be abbreviated as cfg and wp respectively. For instance, all of the following combinations are possible for the config mode:

$ ln -s /usr/bin/flashprog flashprog-config
$ ln -s /usr/bin/flashprog flashconfig
$ ln -s /usr/bin/flashprog fconfig
$ ln -s /usr/bin/flashprog flashprog-cfg
$ ln -s /usr/bin/flashprog flashcfg
$ ln -s /usr/bin/flashprog fcfg

Full documentation is available in the flashprog-config(8) and flashprog-write-protect(8) manual pages.

Chipset Support

The Intel chipset support was updated to include all currently available platforms: Snow Ridge (2022), Meteor Lake (2023), Lunar Lake & Arrow Lake (2024). Tested was only Meteor Lake so far, however the hardware seems identical with only minor differences in the flash descriptors.

Other Changes

  • Flashprog prefers to write volatile status registers now, when automatically trying to disable write protection. This can potentially reduce wear of status registers.
  • Support for SPI95 EEPROMs has been fixed after a regression.
  • A seemingly long obsolete 1s delay has been removed from automatic verification.
  • The ch347_spi driver has a spimode parameter now to switch between SPI modes 0, 1, 2, 3 (0 is the default).
  • Some small fixes, flash chip additions, and build system changes.

Build Notes

Clang can complain about shadowing the global variable optarg in cli_common.c. This is harmless and the build should succeed with -Werror disabled as follows:

$ make WARNERROR=no ...

or

$ meson setup -D werror=false ...

Download

flashprog v1.3 can be downloaded in various ways:

Anonymous checkout of the tag v1.3 from git repositories at

A tarball is available for download at

https://flashprog.org/releases/flashprog-v1.3.tar.bz2 (GPG signature) (see GPG_Signatures)

Supported hardware

Please see the archived status page for the hardware supported by this release.