Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Hardware

Open Flash/EEPROM/EPROM Writers? 12

Karim Yaghmour asks: "Flash/EEPROM programmers tend to be expensive (especially if you want support for many devices). I am trying to find a Flash/EEPROM programmer for which the schematics and software are available in Open Source form on the web. The projects I have found are rather basic and do not provide support for a wide range of memory devices. Does anyone have any recommendations? Is anyone working on such an Open Source project? Something like the Bitscope project (an 'Open Source' Oscilloscope) mentioned earlier on Slashdot, but for device programmers. If not, is anyone interested in starting such a project?"
This discussion has been archived. No new comments can be posted.

Open Flash/EEPROM/EPROM Writers?

Comments Filter:
  • instead of just posting it on 'ask slashdot'?

    Years ago, when electronics was the geek hobby and people designed and built their own computers around Z80 or 6502 processors, electronics magazines published project plans to construct eeprom blowers amongst all the other stuff you'd need to build your own system.

    Forget this trendy 'open source' phrase, people have been designing and sharing their circuit diagrams long before this term was coined.

    I bet you haven't tried to search for 'eeprom programmer project' on google have you?
    • by jcwren ( 166164 ) on Thursday April 04, 2002 @09:31AM (#3283628) Homepage
      If you look closely, the key phrase was "support a wide variety of devices". There are a number of projects that will support a small class, maybe 15 or 20 different devices. Finding a programmer implementation that can support something like the range of a Needham, Data I/O or BP Micro is completely different.

      There are two problems. One is that the hardware tends not to be cheap because of pin driver issues. To support a wide range of devices, you need a high pin driver count, and each pin driver needs to be capable of supporting at a minimum 3.3 volts, 5 volts, and 12 volts. And that won't handle the more esoteric 2.7 volt parts. In addition to supporting voltage, a *good* programmer needs to be able to measure current on each pin, so that if a part being programmed is inserted incorrectly that can be detected, along with able to detect general part faults.

      Now you get to the software issue. Many parts don't have their programming algorithms well documented. Even programmer manufacturers that get their data straight from the device manufacturer sometimes have problems in their algorithms. And the part manufacturers aren't well known for providing timely support to the little guys. They'd rather hand the documentation over to BP Micro and Data I/O instead of the small guys. I know this from having talked to the engineers at Needhams several times.

      By the time you've built your own hardware, it would have been cheaper to just drop $500 for a Needham, Tribal, or other low-end programmer that's capable of support several thousand parts.

      Now, if you want to make an impact, here's my theory. I once wrote an open letter to the top 7 programmer manufacturers. I suggested that instead of proprietary software for the programmers, they keep their low-level algorithms private, and expose a common interface, so that a 3rd party company could write an application that would be consistent across all programmers.

      I've used BP Micros quite a bit, and generally like their interface, especially when compared to any of the others. Not perfect, but good. Needhams makes a nicely priced programmer, but their DOS software is an eyesore, and the macro capability is a complete joke. Data I/O programs every part under the sun, but has an interface so horrid that flies die in mid-air over the programmer. My general complaint was they all did everything differently. I'd rather be able to whip out my customized interface on any programmer I walk up to. Kind of like bringing your own copy of .bashrc where ever you go.

      So why focus on developing programming algorithms, and instead, let XYZ Corp or the OSS groups write the nice user interface that runs under Windows, *nix, or Macs? Then you get a quality programming algorithm, the cost should be able to go down slightly because the company isn't focussing on user-interface issues, and we get a usable interface. Naturally, I never got a reply.

      --jcwren
    • I was wondering if the Slashdot community has an answer to my question about that one thing I was curious about. I'm too freaking lazy to actually considering looking for myself. Instead, I'll submit my question, wait for a respone on the item I'm pondering.

      I agree with you. I have literally seen dozens of projects on various web sites that do what they want to do. Unforutantly their next Ask /. question will be "what is google, and can someone in the open source community please use it for me?" Since he put open source in the question, it'll be posted.
  • I've been looking for in circuit programible devices MCUs, DSPs, FPGA, etc. that are able to be programmed from Linux while in circuit. Which devices can be, and what sites tell how to go about it?
  • Interested... (Score:4, Interesting)

    by secrettricks ( 571191 ) on Thursday April 04, 2002 @03:19PM (#3286015)
    I've done some work for a small company that sells an inexpensive Serial PROM Programmer that supports Xilinx Serial PROM devices. I'm mostly involved in maintaining the software (adding new parts, file formats, GUI, little bit of driver work). I have only a limited experience with the core software or the hardware design, but I am interested in your proposal. Xilinx will soon phase out the families that the hardware supports, so perhaps this company may shift their focus to developing a Flash/EEPROM programmer. Independently, I'm currently working on a project for graphically editing bit wave patterns and saving them as either mcs or exo files. What sort of experience do you have in Flash/EEPROM programmers?
  • Serial devices only (Score:2, Informative)

    by cyr ( 571397 )
    Most projects only support serial devices such as PIC/AVR microcontrollers, serial EEPROMs etc. Supporting parallell devices means a lot more hardware (more pin drivers).

    The best way (IMHO) to do a truly universal programmer would be to have a intelligent base unit (powered by say a PIC16F87x, plus maybe some SRAM or EEPROM storage) with a couple of variable voltage outputs (Vdd and Vpp) and a number of simple tri-state I/Os.

    For each family of devices you then create a cheap addon module, with the right type of socket(s) and drivers for pins that need it.

  • http://www.heise.de/ct/ftp/projekte/flasher/ [heise.de] -- Hardware, Layout, Software, everything you need for flash EEPROMs up to 4 MBit. It's an old project based on an ISA card with DOS software, but no one stops you writing a linux device driver for it.
  • Hi, It's a really trivial bit of circuitry, and program. Get the chip type, download the specs, bit of breadboard with a socket, wire up to your printer port, for a serial device wire direct to the socket, for an 8 bit device use a chain of 4040's to generate the address, data/control bits, 8 bit latches. need 12V, yellow wire on hard drive power lead, switched, transistor, need a higher voltage, use a string of batteries. I program in Forth, so for me the program is simple. and its probably just as easy in your favourite language. Make your program time off the pc tick and make your timing very conservative. Or generate a binary data/control.file and just cp data/control.file /dev/lp0. Cheers, Colin
  • For eeproms only a well presented one is here [quicknet.com.au]

    For flash and eeproms Willem [willem.org] has the original hardware design with source available - dos is only a port away?

    With that is the later version [geocities.com] of the above Willem program with windows software available as freeware.
    The board (double sided) for this is available fromWillem, contact him through his site or via the forum [willem.org]
    There is a single sided version available, it's just rather cramped. The site is spread over several ISP's so you'll need to follow a few links to get a good grasp of whats there.

    Finally a Linux one can be found through the Diskless HowTo [tldp.org]. This won't do flash but has the linux software available as well as the design . It's the closest to open hardware that you'll find. While it may not have layout diagrams or photos, it's been around for a while so maybe someones enhanced it?

    I'll admit two of those may be the simple ones you refer too , but the third - Willem or geocities will do flash, it has dos source available and does work. I've used it for flash as well as eeproms.
    It'd be nice to see a linux port of it, save booting the dedicated 486 ;-)

The hardest part of climbing the ladder of success is getting through the crowd at the bottom.

Working...