Suppose you want to program a 2mb parallel flash chip but the board only supports 1mb.
Assuming the flash chip ignores the upper address line when decoding the command addresses (e.g. 5555) - then it should be possible to manually tie the upper address line to 0V/5V and program half at a time, yes?
For programming software to allow this trick, it is required that a "write without chip erase" option be available. Then the user can run the program twice, first with chip erase and the second time (after manually changing the upper address line) without chip erase.
Thanks, Dan
Hi Dan,
On 10.10.2010 07:46, max wrote:
Suppose you want to program a 2mb parallel flash chip but the board only supports 1mb.
Assuming the flash chip ignores the upper address line when decoding the command addresses (e.g. 5555) -
That is unfortunately only true for some chips, not all. You might be lucky, and it can't hurt to try.
then it should be possible to manually tie the upper address line to 0V/5V and program half at a time, yes?
Yes. I know that someone hacked a 3Com network card in a similar way. He added some fancy demultiplexer for the upper address lines and added support for that extension to the 3Com driver in flashrom. If your mainboard is old enough and if the parallel port has the correct voltage, you could even abuse the parallel port to supply the upper address lines with a small hack to the internal flashrom driver.
For programming software to allow this trick, it is required that a "write without chip erase" option be available. Then the user can run the program twice, first with chip erase and the second time (after manually changing the upper address line) without chip erase.
That would be a valid way to solve the problem. I am currently working on decoupling erase and write as well as allowing partial writes, and once my code gets an ack from the reviewers, I will commit it.
Regards, Carl-Daniel