Page 1 of 1

Hot flash 512Kb bios by motherboards that support max 256Kb

Posted: Thu Sep 03, 2009 8:25 pm
by kyr29
Hi, I need to hotflash a 512Kb bios into its 512Kb flash rom chip (SST 39SF040) but, unfortunately, just as the title suggests, the only way I can hotflash is by motherboard (Gigabyte GA-7VAX1394-A) that does not support 512Kb flash roms, but just 256Kb max
I googled long enough and I just found this that I didn’t know:

If you have a board that has only 1Mbit chip, but you need to reprogram 2Mbit chip - you may do it in two sets, first megabit last and second megabit first, as separate processes, when your first part is done, you will need to short PIN#30 (A17 for 2Mbit and PIN#NC in 1Mbit) to the ground and then flash second part.You will need to split file in two pieces, 1Mbit each (1Mbit=128kb), you may do it with any HEX editor, the only limitation for this process will be no support from flash chip for sector writing.

From Art of BIOS flashing
The above procedure is about 256Kb flash roms, but if it works successfully with 256Kb flash roms, it should be good 512Kb too I think.


Anyway I tried as written above, I splitted my 512Kb bios file and flashed second 256Kb file first by Uniflash 1.40 without errors. So first set was ok.
When I instead flashed first 256Kb file last, I got and I’m always getting “Flash Data Verification Error” and all fails.

Please could anyone help me where I’m wrong?
Is the entire procedure correct?



Thanks

Re: Hot flash 512Kb bios by motherboards that support max 25

Posted: Sun Sep 20, 2009 8:16 pm
by user8012
You have to understand about address translation of ISA interface.
And Gigabyte GA-7VAX1394-A doesn't have visible ISA pinout(=a18 pin).
So you can't use this M/B.
And uniflash will erase all data in 39SF040 before write.
So, previous programming part will be erase.
You can resolve the error with pull up of A18 pin.
But it is not final solution of this case.
If possible, Find A18 pin-point in M/B and connect it to 39SF040's A18 pin(isolate this pin form socket).
kyr29 wrote:Hi, I need to hotflash a 512Kb bios into its 512Kb flash rom chip (SST 39SF040) but, unfortunately, just as the title suggests, the only way I can hotflash is by motherboard (Gigabyte GA-7VAX1394-A) that does not support 512Kb flash roms, but just 256Kb max
I googled long enough and I just found this that I didn’t know:

If you have a board that has only 1Mbit chip, but you need to reprogram 2Mbit chip - you may do it in two sets, first megabit last and second megabit first, as separate processes, when your first part is done, you will need to short PIN#30 (A17 for 2Mbit and PIN#NC in 1Mbit) to the ground and then flash second part.You will need to split file in two pieces, 1Mbit each (1Mbit=128kb), you may do it with any HEX editor, the only limitation for this process will be no support from flash chip for sector writing.

From Art of BIOS flashing
The above procedure is about 256Kb flash roms, but if it works successfully with 256Kb flash roms, it should be good 512Kb too I think.


Anyway I tried as written above, I splitted my 512Kb bios file and flashed second 256Kb file first by Uniflash 1.40 without errors. So first set was ok.
When I instead flashed first 256Kb file last, I got and I’m always getting “Flash Data Verification Error” and all fails.

Please could anyone help me where I’m wrong?
Is the entire procedure correct?



Thanks

Posted: Wed Sep 23, 2009 7:10 pm
by kyr29
I got another old motherboard. Although I can not identify it, I unfortunately saw even this supports max 256Kb chips.

Anyway, I would try but how do I find A18 pin on the socket? :?

Posted: Mon Sep 28, 2009 8:18 am
by user8012
Search "ISA PINOUT" at Google.
A18 is one of ISA pinout.
kyr29 wrote:I got another old motherboard. Although I can not identify it, I unfortunately saw even this supports max 256Kb chips.

Anyway, I would try but how do I find A18 pin on the socket? :?

Posted: Mon Sep 28, 2009 5:41 pm
by kyr29
I found but I have not understood a lot, in fact after several unsuccessful tests the result is the chip sure got fired, since it is no longer detected in any way. Fortunately I have an other equal one, but to this point I think I will quit this way to wait for a 512Kb chips support motherboard comes out.

Posted: Wed Oct 07, 2009 4:11 pm
by sharky
Warning: This thread uses kb vs. kB incorrectly in some places.

AFAICS you have a 4 Mbit (512 kByte) chip you want to flash in a board that only has address lines A0-A17 wired to the socket, but your flash chip needs A0-A18.
Looking at the SST39SF040 reveals that A18 is pin 1 for the PLCC32 and DIP32 variant and pin 9 in the TSOP32 variant.

You could wire that pin up to a free GPIO and use a slightly modified variant of flashrom (the linux utility) which abuses that GPIO as A18. I know of some people who even built a multiplexer on top of their boards to emulate address lines not wired through. The flashrom developers are friendly, I suggest you ask them for advice.

Posted: Sat Oct 10, 2009 9:01 pm
by kyr29
sharky wrote:Warning: This thread uses kb vs. kB incorrectly in some places.

AFAICS you have a 4 Mbit (512 kByte) chip you want to flash in a board that only has address lines A0-A17 wired to the socket, but your flash chip needs A0-A18.
Looking at the SST39SF040 reveals that A18 is pin 1 for the PLCC32 and DIP32 variant and pin 9 in the TSOP32 variant.

You could wire that pin up to a free GPIO and use a slightly modified variant of flashrom (the linux utility) which abuses that GPIO as A18. I know of some people who even built a multiplexer on top of their boards to emulate address lines not wired through. The flashrom developers are friendly, I suggest you ask them for advice.
Hi, are you talking about coreboot flashrom?
I can't download it anywhere!
Besides I do not understand a lot of Linux...

Could you help me please?


Thanks

Posted: Sat Oct 10, 2009 10:45 pm
by sharky
kyr29 wrote:Hi, are you talking about coreboot flashrom?
Yes.
kyr29 wrote:I can't download it anywhere!
Google "flashrom", first hit. That page has a "Download" section.
kyr29 wrote:Besides I do not understand a lot of Linux...
Now that makes using the flashrom utility difficult (unless you know BSD or OSX or Solaris better). I think the best choice for you would be to find another board which has enough address lines wired to the chip and use uniflash which works under DOS. Sorry.

Posted: Tue Oct 13, 2009 8:04 pm
by user8012
Making a Flashing tool requests a many knowledge.
1. PC and BUS structure.
2. CPU protected mode.
3. Undestanding about address translation(=#CS) of each chipset.
4. Each register function of each chipset.
5. Flashrom programming sequence.
6. Assembly(even inline) and one more programming language.
If anyone knows all these, he will not ask about how to write a flashrom.
So, your answer is impractical.
And you must consider a situation of questioner before answering.
How he can find a GPIO pinout before finding a A18 pinout?
sharky wrote:
kyr29 wrote:Hi, are you talking about coreboot flashrom?
Yes.
kyr29 wrote:I can't download it anywhere!
Google "flashrom", first hit. That page has a "Download" section.
kyr29 wrote:Besides I do not understand a lot of Linux...
Now that makes using the flashrom utility difficult (unless you know BSD or OSX or Solaris better). I think the best choice for you would be to find another board which has enough address lines wired to the chip and use uniflash which works under DOS. Sorry.