Uniflash
From flashrom
Uniflash and flashrom have similar purpose (handling flash chips), and people often wonder about the differences.
If you know Uniflash well, please help us fix any inaccuracies on this page. Thanks.
Contents |
Common features
- Hundreds of flash chips supported
- Dozens of chipsets supported
- Support for some flash controllers not on the mainboard (PCI cards)
Differences
Platform
- Uniflash is a DOS utility.
- flashrom is a crossplatform (DOS, Linux, FreeBSD, NetBSD, DragonFly BSD, Solaris, Mac OS X, other Unix-like OSes, Windows*) utility.
* External programmers work out of the box on Windows, but anything PCI based needs a patch available in the mailing list archives.
Implementation
- Uniflash is written in Pascal and compiles to native 16 bit executables (need to recheck that).
- flashrom is written in C and compiles to native 32 bit/64 bit executables.
Development
Forks
- Uniflash has three development heads: Uniflash 1.x, UniflashRE 1.x, Uniflash 2.x (beta). It seems UniflashRE 1.x is a successor of Uniflash 1.x, and Uniflash 2.x is rumored to have been written from scratch.
- flashrom has only one development head.
Source code
- Uniflash source exists for the latest Uniflash 1.x and for some UniflashRE 1.x versions. It is available under the GPL. Uniflash 2.x source is available, but the license is unknown. Uniflash 2.0 contains a forked version of the flashrom SPI code.
- flashrom source code exists for all revisions since flashrom was started (even back to when it was called flash_and_burn) and is available under the GPL version 2.
Development process
- Uniflash source code is not in any public source control repository, but some zip archives are available. No known public developer mailing lists exist.
- flashrom source code is hosted in a public subversion (svn) source control repository. Tarballs of the source code are available for convenience. There is a public developer mailing list.
Supported chipsets
- Uniflash focuses on older chipsets (chipsets released after 2005 may not be supported).
- flashrom focuses on newer chipsets (chipsets released before 1998 may not be supported).
Supported flash chips
- Uniflash focuses on older flash chips (SPI flash chips are not supported in Uniflash 1.x or UniflashRE 1.x, and only partially supported in Uniflash 2.x for which no source is available).
- flashrom focuses on newer chips (chips end-of-lifed before 1997 are only partially supported).