henols / firestarter_app

MIT License
17 stars 3 forks source link

AT28Cxxx Write Protection Enable/Disable missing #4

Open humbertocsjr opened 2 months ago

humbertocsjr commented 2 months ago

ATMEL eeprom chips (eg.: AT28C64, AT28C256, AT28C512...) have Data Protection feature, and can enable or disable data writing using a sequence of readings and writings of values on specific addresses.

How to lock and unlock can be viewed on page 8 of Datasheet (https://www.alldatasheet.com/datasheet-pdf/download/56115/ATMEL/AT28C256.html)

On my chip I created a specific arduino circuit to send "Software Data Protection Disable Algorithm" before I can use firestarter for the first time, after this I used AT28C256 normally with firestarter.

henols commented 2 months ago

Cool that you have tried a chip like that! What is the behavior you are expecting or how do you want it to work? Always unlock, write and lock the chip again? A special command for unlocking and locking?

What is the use cases you can see?

Since it's a rear behavior of a chip I don't want it over shadow more common functionally.

AndersBNielsen commented 2 months ago

I've always had a focus on supporting 27-series (E)EPROMs since they can't easily be programmed on a breadboard whereas 28- and 39-series can. ... but of course it's still easier to skip the breadboarding if you already have a programmer shield :)

Some time ... "soon" ... I'll write the sequences for doing this dance for the sst39sf010. At the very least the "chip erase" and "byte program" operations. Unless someone beats me to it :)

https://ww1.microchip.com/downloads/en/DeviceDoc/20005022C.pdf

It has the same write enable sequence as the AT28C256.

@humbertocsjr If you've beat me to it and already have some working code for the Programmer, I'd appreciate it :)

The most important part is to make sure firestarter doesn't try to put VPP on any pin... Doing its.. Firestarting.

henols commented 2 months ago

All chip are treated as 5v memories, unless it is explicitly told. Or at least has the same variant in the db. Firestarter info AT28C256 will exactly tell whats know about the chip and hopefully is that correct.