On Sat, 14 Dec 2013 02:46:57 -0600 Eric Marks bigmarkslp@gmail.com wrote:
I successfully used a Arduino Uno as a serprog programmer to program a SST25VF016B with Flashrom 0.9.5.2-r1517 on Ubuntu.
I had tried hooking the eeprom up to the Arduino via level shifting via resistors, and then via level shifting mosfets + resistors, and finally via a level conversion chip, but none of them worked reliably. I finally converted my Ardruino Uno to 3.3v by replacing the regulator.
http://learn.adafruit.com/arduino-tips-tricks-and-techniques/3-3v-conversion
This was a much easier solution, and it worked reliably. Once converted to 3.3v, no extra components are needed. Just wire the eeprom directly to pins 10,11,12,13, GND, and 5V (which is now actually 3.3v). Remember, three pins of the eeprom go to 3.3v.
I still had to slow the UART speed down to 115200 for the Arduino sketch on the Uno, and while reading took a normal amount of time, it took several hours to program the chip. I used -VVV to enable very very verbose output to monitor the progress.
Could someone update the wiki with this information? It didn't look like there was any place to sign up and edit it myself.
http://www.flashrom.org/Serprog/Arduino_flasher
Thanks for helping me save a server!
Thanks for your report and sorry for the late reply. I have created a wiki account for you in case you still want to contribute. The Arduino page requires quite some clean up IIRC. The original author really likes to be verbose... ;) The level shifting is indeed a delicate issue sometimes. Some chips react way worse to imperfect signals than others.