阅读:2121回复:1
SST-49lf004b Flash Bios 的问题
我正在开发基于 VIA epia-nl 主板(南北桥:cn400-wt8237)的flash bios update。用的是 sst 49lf004b的 4Mbit firmware flash.
更新的思路是: 做一个驱动。将物理内存 0xfff8 0000 通过MmMapIoSpace映射后,对其读写。 现在遇到的情况是: 用award开发的windows下的flash bios update 软件 WinFlash来更新bios后(成功更新),再用我的软件重新更新,也能成功。 但是,如果开机后,不用WinFlash更新,直接用我的软件更新,则不成功。 所以我们总结是WinFlash为我们打开了某些必须的开关,他退出的时候没有关掉,我们的软件占了他的光后,就可以成功了。 现在就是不知道他打开了哪些我们没有打开过的开关。 在写之前,我们已经将pci 南桥方面的工作都做好了,什么rom 可写,关闭写保护之类的。 现在我比较疑惑的是,sst49lf004b 的 DataSheet 上,有关于 Block Lock的东西没有做过。 但是,datasheet上的说明是: Memory Map Register Address ffb8 0000 ~ ffbf 0000 我们没法访问这个区域。 不知道要访问这个区域,需要做些什么操作? |
|
沙发#
发布于:2005-05-31 09:03
楼上的,请看看为何我的以下代码不执行
*(MapAddress+0x5555)=(UCHAR)0xAA; *(MapAddress+0x2AAA)=(UCHAR)0x55; *(MapAddress+0x5555)=(UCHAR)0x90; for(int i=0;i<3000;i++); ManufacturerID=*MapAddress; DeviceID=*(MapAddress+1); *(MapAddress+0x5555)=(UCHAR)0xAA; *(MapAddress+0x2AAA)=(UCHAR)0x55; *(MapAddress+0x5555)=(UCHAR)0xF0; |
|