I would like to adapt this programmer to flash a W25X16, W25X32, and W25X64.
These are 3.3V SPI chips. I know that there are SPI headers on some of the
adapter boards already but not on the 3.3V adapter board.
Do I need a custom adapter board or could the current 3.3V board be modified
for 3.3V SPI hardware?
I am sure the software will need some modification also. Since I am the one
wanting this done, I will do all I can to make it work. I am just not sure
where to begin. Will this be as simple as adding the parameters of the device
or will it require a major rewrite of the entire program or will it fall
somewhere in between?
I will share back any positive results and methods to add more capability to
this project. Any advice, input or directions will be appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In order to support 3.3V SPI you have to add a 3.3V voltage regulator and
limit output voltage levels to 3.3V.
This has been done in the existing 3.3V expansion boards, so you can just
extend the voltage limiters to all IO lines used for SPI communication.
Regarding the software you should compare the datasheets with an already
supported device (of same size) and see if it's necessary to make changes.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your quick response. I will start working on it and hopefully
report back with success, but most likely I will have a few more questions
once I take a hard look at it. You have done some great work making this
project!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have finally had the time and motivation to start working on this project
and I have had mixed results. I have ran into some problems that I do not know
how to resolve and I am hoping someone with more knowledge and experience can
tell me where to look for my problem.
I have taken the original I2c / SPI / uW adapter board design and modified it
for 3.3V programming or least that is my intention.
Results so far:
I2C 3.3V: Reads and Writes - This seems to work as expected.
uW 3.3V: Reads and does not write
SPI 3.3V: Does not read says chip is blank, it does write and verify, it then
will read what was written ONE time only, after the initial read all following
reads shows as a blank chip. The original 5V adapter will read the chip
without a problem time after time and the chip is rated for 2.8V to 5.5V for
normal operation
I have checked and rechecked my adapter for shorts, opens and anything else I
can think to check. All I really have to work with is a DMM and logic probe so
I am limited on what I can observe. I compared log files but the only
difference I could find was the return data itself, all the command echos were
the same otherwise. I just find it strange that the SPI will verify and read
once, but only after writing. I am not sure what information I need to provide
so I am including images for the schematic and PCB I made. I am completely
open to suggestions, ideas and help as I am apparently in over my head here. I
am not sure how to post the log file on this forum as the failed read is over
a hundred pages of text, so if is needed I will need to know how to post it
properly.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been experimenting with 3.3V SPI flash chips and they work correctly, so
your problems may be due to the adapter board; the images are too small to see
the circuit, so please post some larger ones.
I know this forum is not really easy to use but it's all I can get from SF.
Another possible problem is that the 3.3V high level is not within the specs
for 5V inputs; it works because there are margins, but it's not guaranteed;
increasing to 3.6V would probably help (if this is the problem).
Regarding logs you can compress them before posting; being only text they
should be reduced by 99.9%.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I hope these images do better, I do not usually post on forums, I just read
them a lot. The W25X16 chip I would eventually like to be able to program is a
2 Mega Byte 3.3V SPI flash chip so it sounds like you are already working on
what I am trying to do also.
I do not think the voltage levels are my problem with this design, for power
anyway. I am sure my problem is on the signal side, I just do not know if it
is a design problem or an implementation problem. If you can confirm that my
design should function as intended then I will know I have a problem in my
build and I can focus my efforts there. If it is a design issue then I need to
focus on getting that right before trying to build the adapter. I just do not
have the knowledge level to know which of these I should focus my efforts on.
All three types of chips I am testing with are already supported by the
programmer. For SPI a 25LC640, I2C a 24LC16, and uW a 93lc46. All of these are
designed to work with as low as 2.8V but I am getting a solid 3.3 out of my
regulator.
As to posting logs I do not have the option to upload any type of file to the
forum so I do not have any idea on how to get them on here and I do not want
to waste your time looking at them if my issues are on the hardware level. I
also cannot find a way to edit posts on this forum as that would make posting
images easier and cut down on the total number of posts, but I know you may
not have any control over these things.
I am not sure how these images will appear so please excuse me if they are not
displayed correctly.
The adapters are fine, it's just that you're trying to write a flash memory
with an algorithm written for eeproms; of course it will not work.
As said I have a new version with flash support, although I don't know when it
will be posted.
Contact me via email if you want to try it.
Sorry, I have no control over this forum, I can just delete messages.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello!
I can't flash for BIOS W25X10b.
Tried scheme that on Your main page of the site and according to the scheme which is here in this topic . Nothing happened.
I also had lots of trouble getting the SPI flash to work, I was getting errors similar to your results. It would identify the chip but fail to write to it.
I made three or four adapters trying to get it to work to no avail. When I made the last adapter, I decided to make a new programmer also. Well the new programmer and new flash SPI board worked. The previous SPI board I made would also work on this new programmer. Neither board would work on the previous programmer. I never had any problems programming any other type of chip on the older programmer so I never thought it was the problem until then.
I do not know if this will help or not but I thought it was worth sharing. I am going to attach pictures of my final SPI Flash board.
The resistors are 1k, not sure of the type as they are just what I had on hand. The diodes are BAT85 Schottky. The attached schematic is electrically the same as what Alberto his web page.
Sorry for not seeing this sooner. I am going to attach my source files and images I used to make my adapter. I used GEDA 1.6 or 1.7, I am not sure which one for sure. I make no guarantees about this adapter other than it worked for me. I hope someone finds this helpful.
Help me please.
I can not flash SPI 25010.
It is OK for 25640, I2C, some PICs, but not SPI 25010.
Half of bytes written not by their addresses, the second half is not writing at all.
I would like to adapt this programmer to flash a W25X16, W25X32, and W25X64.
These are 3.3V SPI chips. I know that there are SPI headers on some of the
adapter boards already but not on the 3.3V adapter board.
Do I need a custom adapter board or could the current 3.3V board be modified
for 3.3V SPI hardware?
I am sure the software will need some modification also. Since I am the one
wanting this done, I will do all I can to make it work. I am just not sure
where to begin. Will this be as simple as adding the parameters of the device
or will it require a major rewrite of the entire program or will it fall
somewhere in between?
I will share back any positive results and methods to add more capability to
this project. Any advice, input or directions will be appreciated.
In order to support 3.3V SPI you have to add a 3.3V voltage regulator and
limit output voltage levels to 3.3V.
This has been done in the existing 3.3V expansion boards, so you can just
extend the voltage limiters to all IO lines used for SPI communication.
Regarding the software you should compare the datasheets with an already
supported device (of same size) and see if it's necessary to make changes.
Thanks for your quick response. I will start working on it and hopefully
report back with success, but most likely I will have a few more questions
once I take a hard look at it. You have done some great work making this
project!
I have finally had the time and motivation to start working on this project
and I have had mixed results. I have ran into some problems that I do not know
how to resolve and I am hoping someone with more knowledge and experience can
tell me where to look for my problem.
I have taken the original I2c / SPI / uW adapter board design and modified it
for 3.3V programming or least that is my intention.
Results so far:
I2C 3.3V: Reads and Writes - This seems to work as expected.
uW 3.3V: Reads and does not write
SPI 3.3V: Does not read says chip is blank, it does write and verify, it then
will read what was written ONE time only, after the initial read all following
reads shows as a blank chip. The original 5V adapter will read the chip
without a problem time after time and the chip is rated for 2.8V to 5.5V for
normal operation
I have checked and rechecked my adapter for shorts, opens and anything else I
can think to check. All I really have to work with is a DMM and logic probe so
I am limited on what I can observe. I compared log files but the only
difference I could find was the return data itself, all the command echos were
the same otherwise. I just find it strange that the SPI will verify and read
once, but only after writing. I am not sure what information I need to provide
so I am including images for the schematic and PCB I made. I am completely
open to suggestions, ideas and help as I am apparently in over my head here. I
am not sure how to post the log file on this forum as the failed read is over
a hundred pages of text, so if is needed I will need to know how to post it
properly.
My image links did not work so I am trying again.
]
I've been experimenting with 3.3V SPI flash chips and they work correctly, so
your problems may be due to the adapter board; the images are too small to see
the circuit, so please post some larger ones.
I know this forum is not really easy to use but it's all I can get from SF.
Another possible problem is that the 3.3V high level is not within the specs
for 5V inputs; it works because there are margins, but it's not guaranteed;
increasing to 3.6V would probably help (if this is the problem).
Regarding logs you can compress them before posting; being only text they
should be reduced by 99.9%.
I hope these images do better, I do not usually post on forums, I just read
them a lot. The W25X16 chip I would eventually like to be able to program is a
2 Mega Byte 3.3V SPI flash chip so it sounds like you are already working on
what I am trying to do also.
I do not think the voltage levels are my problem with this design, for power
anyway. I am sure my problem is on the signal side, I just do not know if it
is a design problem or an implementation problem. If you can confirm that my
design should function as intended then I will know I have a problem in my
build and I can focus my efforts there. If it is a design issue then I need to
focus on getting that right before trying to build the adapter. I just do not
have the knowledge level to know which of these I should focus my efforts on.
All three types of chips I am testing with are already supported by the
programmer. For SPI a 25LC640, I2C a 24LC16, and uW a 93lc46. All of these are
designed to work with as low as 2.8V but I am getting a solid 3.3 out of my
regulator.
As to posting logs I do not have the option to upload any type of file to the
forum so I do not have any idea on how to get them on here and I do not want
to waste your time looking at them if my issues are on the hardware level. I
also cannot find a way to edit posts on this forum as that would make posting
images easier and cut down on the total number of posts, but I know you may
not have any control over these things.
I am not sure how these images will appear so please excuse me if they are not
displayed correctly.
http://img580.imageshack.us/img580/8628/spi3vrev1all.jpg
http://img535.imageshack.us/img535/5051/spi3vrev1.jpg
The adapters are fine, it's just that you're trying to write a flash memory
with an algorithm written for eeproms; of course it will not work.
As said I have a new version with flash support, although I don't know when it
will be posted.
Contact me via email if you want to try it.
Sorry, I have no control over this forum, I can just delete messages.
Hello!
I can't flash for BIOS W25X10b.
Tried scheme that on Your main page of the site and according to the scheme which is here in this topic . Nothing happened.
Chip determines : W25X10b - DEVICE ID=0xEF3011.
After flashing the log looks
DEVICE ID=0xEF3011
Erasing completed ...
Writing EEPROM completed ...
Verifying the EEPROM ...
Error verifying address 0000 (0), written, 61, read FF
Error verifying address 0001 (1), written 87, read FF
Error verifying address 0002 (2), written 00, read FF
...
Error verifying address 00F3 (243), written 00, read FF
Error reading EEPROM area, requested 131072 bytes, read 244
completed, 240 errors
End (150.33 s) 240 errors
Where to dig? )))
smells like bad bios flash, able to write but the data shifts, sometimes cannot be written.
Last edit: Raymond 2014-03-08
Please post or send me a log of a read and a write.
Seotavr,
I also had lots of trouble getting the SPI flash to work, I was getting errors similar to your results. It would identify the chip but fail to write to it.
I made three or four adapters trying to get it to work to no avail. When I made the last adapter, I decided to make a new programmer also. Well the new programmer and new flash SPI board worked. The previous SPI board I made would also work on this new programmer. Neither board would work on the previous programmer. I never had any problems programming any other type of chip on the older programmer so I never thought it was the problem until then.
I do not know if this will help or not but I thought it was worth sharing. I am going to attach pictures of my final SPI Flash board.
Alberto Maccioni - Wish that would put the entire log? - 128K))))
He looks in the post above all.
By the way I SMD - under the BIOS.
LDSisHere - And you can scheme look resistors and diodes what?
I applied 1N4148?
Last edit: seotavr 2014-02-20
Yes, the entire logs
The resistors are 1k, not sure of the type as they are just what I had on hand. The diodes are BAT85 Schottky. The attached schematic is electrically the same as what Alberto his web page.
Anyone can upload the pcb diagram ready to print with 3.3v modification to flash spi.
Grettings
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
I would like the PCB artwork for the 3.3v SPI adapter. Thank you.
Sorry, no pcb yet.
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Is the PCB posted by LDSisHERE correct? I mean this one: http://img580.imageshack.us/img580/8628/spi3vrev1all.jpg
http://img535.imageshack.us/img535/5051/spi3vrev1.jpg
If it is correct i will try to recreate it.
Thank you.
Last edit: Anonymous 2015-03-03
Yes, it looks correct.
Also, it has been tried by LDSisHere.
Maybe he could share the PCB source file.
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Hi can anybody post the pdf file with the pcb image? Thanks
Sorry for not seeing this sooner. I am going to attach my source files and images I used to make my adapter. I used GEDA 1.6 or 1.7, I am not sure which one for sure. I make no guarantees about this adapter other than it worked for me. I hope someone finds this helpful.
Help me please.
I can not flash SPI 25010.
It is OK for 25640, I2C, some PICs, but not SPI 25010.
Half of bytes written not by their addresses, the second half is not writing at all.
Input: https://yadi.sk/d/mdithYndhcDEy
Output: https://yadi.sk/d/BQM3JcKphcDMe
log: https://yadi.sk/i/NFn_cFwFhcDPS
Sorry for the delay, I will try to reproduce your problem.
25010, 25020, 25040 have 8-byte Page Mode.
25080, 25160 have 32-byte Page Mode.
Maybe that's the problem?
File deviceRW.cpp
//-------------SPI---------------------------------------------------------
{"25010,95010",
SPIEE,-1,0,p(Read25xx),{0x80},0,p(Write25xx),{0x80,16},0}, //128
{"25020,95020",
SPIEE,-1,0,p(Read25xx),{0x100},0,p(Write25xx),{0x100,16},0}, //256
{"25040,95040",
SPIEE,-1,0,p(Read25xx),{0x200},0,p(Write25xx),{0x200,16},0}, //512
{"25080,95080",
SPIEE,-1,0,p(Read25xx),{0x400},0,p(Write25xx),{0x400,16},0}, //1K
{"25160,95160",
SPIEE,-1,0,p(Read25xx),{0x800},0,p(Write25xx),{0x800,16},0}, //2K