Page 1 of 1

W29C020 - software bootblock unlock

Posted: Sun Apr 18, 2004 7:54 pm
by Rainbow
I've bought DTK PRM-0080I E1 (rev. B) board - very cheap because previous owner did not know if the board works or not. It works. There's Winbond W29C020 chip installed.
I tried to flash the BIOS using UniFlash - but it failed on the first 8KB and last 8KB - obviously because both top and bottom boot block protection was enabled. But I was able to flash the BIOS OK using the old AMIFLASH that I have on my webpage - so it's now proven that it can be done. After flashing, it even left the bottom bootblock area unprotected :) So it must disable the protection (both top and bottom) somehow, then flash and finally enable the top block protection. Now only find a way how to reverse it...

Posted: Sun Apr 18, 2004 9:31 pm
by Rainbow
GOT IT
Finally, after that long time... :D
Hacked out of awdflash v7.52 that was bundled with one of DTK BIOSes for this board.

Code: Select all

[05555],0AA
[02AAA],055
[05555],080
[05555],0AA
[02AAA],055
[05555],040
[02AAA],0AA
The first 6 commands are for entering the lockout mode. The documented writes after this are:
[00000],0 - enable bottom block lockout
[3FFFF],0FF - enable top block lockout
And the undocumented one:
[02AAA],0AA - disable both top&bottom block lockout

Posted: Mon Apr 19, 2004 2:16 pm
by NickS
Sorry, Rainbow - I don't understand the syntax you are using here. What is meant by (e.g.)
[05555],080 ?
Using debug, can I create a pair of little .com files to unlock and lock ?

Posted: Mon Apr 19, 2004 7:12 pm
by Rainbow
"[05555],0AA" means that you write data 0AAh to address 5555h in the flash ROM. If you read a datasheet for some flash ROM, it will become clear.
I'm now thinking about how to include this in UniFlash...

Posted: Tue Apr 20, 2004 8:43 pm
by NickS
Fine, thanks. :)

Posted: Tue Apr 20, 2004 10:07 pm
by Rainbow
Any ideas about how this should be implemented in UniFlash?
I'm thinking about adding new menu that will include bootblock lock/unlock and maybe some (destructive) tests - write all zeros, all ones...
It's a lot of work to do so I'll release v1.35 before.

Posted: Tue Apr 20, 2004 10:47 pm
by wsw243
Rainbow wrote:"[05555],0AA" means that you write data 0AAh to address 5555h in the flash ROM. If you read a datasheet for some flash ROM, it will become clear.
I'm now thinking about how to include this in UniFlash...
Where can I get datasheet of flash roms?

Regards,

Vicky

Posted: Tue Apr 20, 2004 11:19 pm
by Rainbow

Posted: Wed Apr 21, 2004 10:53 pm
by edwin
Rainbow wrote:Any ideas about how this should be implemented in UniFlash?
I'm thinking about adding new menu that will include bootblock lock/unlock and maybe some (destructive) tests - write all zeros, all ones...
It's a lot of work to do so I'll release v1.35 before.
yep. "for uniflash gurus only"

Posted: Thu Dec 30, 2004 7:00 pm
by xam
Thanks Rainbow for the disable lockout mode code!
Today i have add the code in the ct flasher (original flasher ftp://ftp.heise.de/pub/ct/projekte/ctflash.zip ). I put the code before the erase-code for the W29C020C and it works.