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

Hot-swapping and Boot-Block flash & Boot block flash and floppy support
Locked
kyr29
New visitors - please read the rules.
Posts: 4
Joined: Thu Sep 03, 2009 7:40 pm

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
user8012
BIOS Newbie
Posts: 19
Joined: Wed Aug 19, 2009 5:53 pm

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
kyr29
New visitors - please read the rules.
Posts: 4
Joined: Thu Sep 03, 2009 7:40 pm

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? :?
user8012
BIOS Newbie
Posts: 19
Joined: Wed Aug 19, 2009 5:53 pm

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? :?
kyr29
New visitors - please read the rules.
Posts: 4
Joined: Thu Sep 03, 2009 7:40 pm

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.
sharky
BIOS Newbie
Posts: 27
Joined: Wed Oct 07, 2009 2:29 pm

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.
kyr29
New visitors - please read the rules.
Posts: 4
Joined: Thu Sep 03, 2009 7:40 pm

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
sharky
BIOS Newbie
Posts: 27
Joined: Wed Oct 07, 2009 2:29 pm

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.
user8012
BIOS Newbie
Posts: 19
Joined: Wed Aug 19, 2009 5:53 pm

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.
Locked