Flashprog/v1.3: Difference between revisions

From flashprog
Jump to navigation Jump to search
(Start v1.3 release notes)
 
(Add special build notes)
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
== Command-Mode CLI ==
== Command-Mode CLI ==


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


''config'' allows to read and set status-register bits, for instance
''config'' allows to read and set status-register bits, for instance
Line 22: Line 22:
  $ flashprog write-protect -p ch347_spi status
  $ flashprog write-protect -p ch347_spi status


All the new modes can also be called with special shortcuts, as a symlink
All the new commands can also be called with special shortcuts, as a symlink
to the ''flashprog'' binary. The shortcuts follow a prefix convention,
to the ''flashprog'' binary. The shortcuts follow a prefix convention,
namely should start either with ''flashprog-'' ''flash'' or just 'f'.
namely should start either with ''flashprog-'', ''flash'' or just ''f''.
''config'' and ''write-protect'' can also be abbreviated as ''cfg'' and
''config'' and ''write-protect'' can also be abbreviated as ''cfg'' and
''wp'' respectively. For instance, all of the following combinations are
''wp'' respectively. For instance, all of the following combinations are
Line 34: Line 34:
  $ ln -s /usr/bin/flashprog flashcfg
  $ ln -s /usr/bin/flashprog flashcfg
  $ ln -s /usr/bin/flashprog fcfg
  $ ln -s /usr/bin/flashprog fcfg
Full documentation is available in the ''flashprog-config''(8) and
''flashprog-write-protect''(8) manual pages.


== Chipset Support ==
== 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 =
= Other Changes =
Line 45: Line 52:
* The ''ch347_spi'' driver has a '''spimode''' parameter now to switch between SPI modes 0, 1, 2, 3 (0 is the default).
* 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.
* 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 =
= Download =

Latest revision as of 20:13, 21 November 2024


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.