Target: Windows BIOS Flash Tool
By now, I know there are 3 methods to implement BIOS Flash,
1. Write/Read BIOS Flash Chip. This way is quiet complicated, there are so many kinds of Flash chips, SST, Windond..., they may all have datasheets to tell you how to flash, but eventually, they are all different. There's a DOS based tool: uniFlash with Pascal source codes on internet, you can google it.
2. Directly Write/Read the top of 4GB physical memory.
l For instance, to backup a 8MB BIOS ROM, we can backup physical memory address: 0xFFF00000 ~ FFFFFFFF ( 1MByte=8MBit )
l To flash (write) a BIOS ROM, theoretically, just write the same physical memory address. But if you do this, you will find writing to this physical memory is no effective… Because this area is shadow area, you have to do sth with south bridge first...
3. SMI Port. Award and AMI support this way to operate BIOS ROM. Acturally, WinFlash uses this technology.
Notes:
1. How to get BIOS info (size, brand.. etc.)?
Answer: SMBIOS
2. Can I use winio to read/write the top 4GB physical memory?
Answer: No. winio can only map the below 2GB physical memory.
3. What is winio?
A driver to help you access I/O port and physical memory. It’s famous, you can google it. The greatest thing it has source codes- FREE!