Flashprog/v1.1: Difference between revisions

From flashprog
Jump to navigation Jump to search
(Add v1.1 release notes)
 
m (Raise heading level for `Other Changes')
 
(One intermediate revision by the same user not shown)
Line 13: Line 13:


In the CLI, there's a new command line flag ''--progress'' which does
In the CLI, there's a new command line flag ''--progress'' which does
what one might expect, it shows progress bars for read, erase+write,
what one might expect, it shows progress bars for read, erase, write,
and verify operations. The ''libflashprog'' API offers to specify a
and verify operations. The ''libflashprog'' API offers to specify a
callback function for the same purpose.
callback function for the same purpose.
Line 31: Line 31:
[https://codeberg.org/Riku_V/pico-serprog/commit/6301fbf3ed553e61e626af2785f9e80fa6ca5524 Riku Viitanen's pico-serprog fork].
[https://codeberg.org/Riku_V/pico-serprog/commit/6301fbf3ed553e61e626af2785f9e80fa6ca5524 Riku Viitanen's pico-serprog fork].


== Other Changes ==
= Other Changes =
* Some [[Flashprog/v1.0.2|regressions]] around big flash chips and old ''dediprog'' programmers were fixed.
* Some [[Flashprog/v1.0.2|regressions]] around big flash chips and old ''dediprog'' programmers were fixed.
* We have a new ''linux_gpio2_spi'' driver that supports the new ''libgpiod'' API. The old driver is kept for systems that still have an older ''libgpiod''.
* We have a new ''linux_gpio2_spi'' driver that supports the new ''libgpiod'' API. The old driver is kept for systems that still have an older ''libgpiod''.

Latest revision as of 09:21, 3 May 2024


Here's our second feature release, flashprog v1.1. Beside a lot of smaller changes and additions, I'm glad to announce an often asked for feature: We finally have a progress bar :D The current implementation is based on a mailing list discussion that dates back almost 7 years.

What's new?

Progress Feedback

In the CLI, there's a new command line flag --progress which does what one might expect, it shows progress bars for read, erase, write, and verify operations. The libflashprog API offers to specify a callback function for the same purpose.

Dediprog SF700 / SF600Plus-G2

The dediprog driver has been updated to detect SF700 and SF600Plus-G2 programmers. It has been fully tested with an SF600Plus-G2 which is actually a successor to the short-lived SF700. So chances are very good that the SF700 works out of the box, too.

Switching CS Lines with Serprog

The serprog protocol now supports multiple CS lines. Which line will be used can be selected from the command line if the programmer's firmware supports it, e.g. Riku Viitanen's pico-serprog fork.

Other Changes

  • Some regressions around big flash chips and old dediprog programmers were fixed.
  • We have a new linux_gpio2_spi driver that supports the new libgpiod API. The old driver is kept for systems that still have an older libgpiod.
  • The serprog driver now synchronizes more reliably after an aborted run. At the same time, we were able to get rid of the initial 1s delay.
  • The linux_mtd driver now provides a no-op delay implementation, as all the timing is handled by the kernel drivers.
  • We only use our internal delay loop for delays < 100ms now, to allow flashprog to yield execution more often.
  • Some preparation and finalization steps were moved into the individual flash chip drivers. The most visible effect is that we got rid of spurious attempts to memory map SPI flash chips by default. The issue was mostly visible with the internal programmer on AMD machines and serprog, combined with big flash chips that just couldn't be mapped.
  • Two additional commands were added to the serprog protocol: SPI Mode and CS Mode. These won't be used in flashprog but allows to use serprog programmers with avrdude.

Download

flashprog v1.1 can be downloaded in various ways:

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

A tarball is available for download at

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

Supported hardware

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