This page is a first draft only and serves to collect information about the serprog protocol and the programmers implementing it.
This page information about the serprog protocol and the programmers implementing it.
= Protocol =
= Protocol =
See [http://flashrom.org/trac/flashrom/browser/trunk/serprog-protocol.txt serprog-protocol.txt] in the source tree. It is designed to be compact and allow efficient storage in limited memory of programmer devices.
See [://.org//flashrom///serprog-protocol.txt serprog-protocol.txt] in the source tree. It is designed to be compact and allow efficient storage in limited memory of programmer devices.
There is a draft for an extension of the serprog protocol to SPI. FIXME: Link there.
This flasher require the following hardware parts:
* An arduino uno
* some wires(optionally some connectors to solder on(for easier plugin and more reliability)
* a 10k resistor
* a flash chip to flash
=== Advantages and disadvantages ===
* While the speed isn't that great(less than 10 minutes for reading+writing+verifying a 1M chip), there is huge room for improvements in the source code.
* it is made of very commonly available parts(if you can find an arduino uno, you will be able to build it).
== InSystemFlasher by Juhana Helovuo ==
This is one uses a modified serprog version to talk to SPI devices via serial over USB. Details can be found in the [http://www.coreboot.org/InSystemFlasher coreboot wiki] and in this [http://www.coreboot.org/pipermail/coreboot/2011-February/063349.html coreboot mailing list thread].
== atmegaXXu2-flasher by Stefan Tauner ==
Like the InSystemFlasher this one uses LUFA on an AVR microcontroller to tunnel the serial data over USB. To be updated when flashrom's serprog module has the needed changes merged to do SPI communication.
[[File:atmegaXXu2-flasher.jpg|200px|thumb|right|atmegaXXu2-flasher with Pomona SOIC hook attached]]
Latest revision as of 09:07, 24 October 2022
This page collects information about the serprog protocol and the programmers implementing it.
HydraBus (hardware) with HydraFW (firmware) is an open source multi-tool for learning, developing, debugging, hacking and penetration testing of embedded hardware.
It is built upon an ARM Cortex-M4 (STM32F405). The source code for HydraFW is available on GitHub.
Refer to their GitHub Wiki for more details on how to use HydraBus with flashrom.
serprog-stm32vcp by Chi Zhang
The most powerful serprog-based programmer is built upon an ARM Cortex-M3 (STM32F103) featuring up to 36 MHz SPI clock.
See his github page for further details, source code etc.