怎样写程序到网卡的扩展ROM里面?
把还原卡做到网卡上了。。 看完之后有几个问题:
华苏还原卡修改、安装说明
华苏还原卡的制作如下:
1、把网卡插在主板上,导出并修改网卡串行芯片中的内容(导入我们提供的卡号等)。
2、修改网卡的启动芯片文件27C512.BIN,修改的内容,与1中的要对应。
3、把网卡启动芯片按正确的方向,安装到网卡上的ROM芯片插座中,注意二者的缺口方向要一致。
也可以按后面介绍的方法,把27C512.BIN文件写到主板的BIOS文件中。
4、重新安装网卡的驱动程序。
下面是具体操作方法:
一、网卡串行芯片的修改:
1、首先,在计算机中插入一块8139网卡(不插BootRom启动芯片)。利用pg8139.exe软件导出此pci8139卡中的93c64串行存储芯片的内容,存盘文件为8139x.map。 格式: pg8139 /r /pci
注意:此文件的大小为800字节,如果你没有,可从下面下载。
2、其次,修改存盘文件8139x.map文件的内容,此文件为文本文档,edit命令修改即可。在DOS状态下,输入命令:
EDIT 8139x.map,出现如下画面:
在第一行的数据中,从EC开始的4个字节为厂商信息,必须被改为57 FF 14 57 ;从00开始至下行的6个字节为:00 E0 4C 00 00 0F。其中,00 E0 4C 00 00 0F是卡号,把E0改为05,后面四位卡号按我们给出的修改。此外,卡号后面的第一个字节需改为14。以上的修改完成后存盘退出。
3、把上面修改好的文件写入网卡的串行芯片中,使用的命令为:
pg8139 /w /pci
二、网卡启动芯片文件的修改:
1、用编辑软件(如WINHEX等),对启动芯片文件27C512.BIN进行修改,修改00007FF0H那一行,其中,20020819不要改,只改后面四位卡号,和网卡串行芯片中的卡号一致即可,这样就没有时间限制了。
2、把修改后的写入27C512.BIN到一片27C512芯片中,把芯片插在网卡的启动芯片的插座中,插入时,注意芯片缺口的方向和插座缺口的方向一致。
如果没有启动芯片,也可以把该文件写入到主板的BIOS文件中。主板BIOS一般以AWARD和AMI居多,两家也分别提供了BIOS修改工具:CBROM 和 AMIBCP。CBROM是基于命令行的程序,具体功能可以通过CBROM /? 获得。我们这里只会用到两种:CBROM BIOS.BIN /PCI 27C512.BIN和 CBROM BIOS.BIN /XXX RELEASE。第一个命令就是将启动的ROM文件加入到BIOS文件里,第二个命令意思是当你的BIOS剩余空间不足50K时,从BIOS里删除一些你认为不重要的模块来获得多余空间(因为网卡的ROM文件压缩后至少需要50K的空间)至于AMI的BIOS工具AMIBCP是图形界面的,比较友好。进入到修改模块的选项后,通过DEL 和 INSERT 键就可以删除和添加模块。
具体操作如下:(以AWARD bios 为例子)
1.用 awdflash 备份你主板的BIOS到文件:bios.bin
2.用 cbrom bios.bin /d 察看BIOS文件里的剩余容量是否大于50K
3.如果小于50K,则用 cbrom bios.bin /不重要的模块 release 来获得空间
4.如果大于50K,则直接用 cbrom bios.bin /pci 27C512.bin 来合成
5.最后用 awdflash bios.bin /py /sn 将文件刷到主板。
具体的看这里:
http://sdkh.51.net/bhk/hus.htm
为什么在如下操作:
在第一行的数据中,从EC开始的4个字节为厂商信息,必须被改为57 FF 14 57 ;(为什么要这样改?)从00开始至下行的6个字节为:00 E0 4C 00 00 0F。其中,00 E0 4C 00 00 0F是卡号,(网卡的卡号吗?是怎么回事)把E0改为05,(为什么是05?)后面四位卡号按我们给出的修改。此外,卡号后面的第一个字节需改为14(为什么是14?)。以上的修改完成后存盘退出。
我想自己写段程序像还原卡那样也可以放到网卡ROM里面启动运行,程序的开头该怎么写?有关PCI的要怎么写?大侠们请指教!!