minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5455回复:9

BIOS排错十法之比较法

楼主#
更多 发布于:2004-01-15 20:20
二、 比较法
一天刚上班就收到客服部门的投诉邮件,说客户反应我公司的主板兼容性差,质量不如XX公司(我们的行业对手)。心里颇不是滋味,就上门去了解具体情况。一客户买了一块PCI SCSI控制卡,插在我司的主板上则该卡所接硬盘上安装的某个windows 应用软件就不能正常运行,但该卡插在别的主板上就一切OK。而且这里说的别的主板正是行业对手同芯片的主板。做为一个公司的BUG工程师,只有认同此乃BUG并开始努力解之。因为不熟悉此客户应用软件内部机制,又是在运行期间,BIOS本身的运行不见任何异常,真有无从下手的感觉。心里还就是不服,行业对手能够没有此BUG?于是向客户拷来他的BIOS,烧入我司主板,千真成确没有发现故障。于是,想起了比较法。
所谓比较法,就是两个具有可比性的系统,一个已知没有故障,一个已知有故障,通过种种现状、参数的比较,找到故障系统的原因,并排除之。记住,前提是具有可比性,比如使用相同芯片的两个主板。
使用比较法也需要推荐一个工具,(咦,不会是做广告吧),此工具仍网上可下载到的AMI公司的ru.exe,它适用于dos/windows98,windows2000版叫做se.exe。虽然,Award公司也有类似功能的工具软件,但在比较法中,该软件的file->save(F2)功能特别受用。该功能可以将某个PCI设备配置空间、系统所有PCI设备配置空间、你正查看的某段I/O、MEM、SIO、CMOS等等的内容保存至一个文件中。同时,它的另一个功能file->compare (F8)又可以从一个文件中读取其内容与正在查看的内容进行比较,区别显示相同与不同的单元。
介绍完上面ru.exe的两个功能,比较法的具体使用也就相当明了了。就是,将你所怀疑可能会引起故障的一些寄存器、I/O、MEM值从好的系统读取并保存到文件上,拿到故障系统中进行比较,如果有不同,则修改故障系统的值为好系统中对应值。如此逐个比较修改,你很可能幸运的发现故障消失了。(据说概率有70%之高)这是说很可能,是因为不是每个故障都可以修改设备的静态配置就能解决的,有些还是其它原因,还得用后面要介绍的其它排错方法。它的难点是难以找到一个可比较的BIOS。
也有同几点需要在使用比较法给予提醒的:
1、 尽量让硬件平台完全相同。这样,可减少一些不必的干扰。因为,一旦硬件发现改变,自然一些寄存器需要设置不同的值的。如不同的内存条,北桥的很多相关寄存器必须设置不同值。
2、 在修改故障系统的寄存器之前,务必熟读其datasheet,明白修改后可能造成的后果,不要烧了板来找我赔。
3、 经验不同的BIOS工程师所需要比较的工作量不同,一些有经验的工程师很容易知道该比较那些寄存器。给新手提个醒,除了PCI设备配置空间,Super I/O寄存器外别忘了Power Manage I/O寄存器,GPIO控制寄存器等,SiS芯片组还有APC寄存器。
4、 相同的硬件不一定所有寄存器设置相同,有一些寄存器不同的BIOS有不同的值是正常的,如PIRQ就可以因不同厂家的BIOS而不现,还有像Power Manage I/O、GPIO的基地址等。

后面还有:
三、 陷进法
四、 手动法
五、 现场法
六、 Errata法
七、 改道法
八、 保留位试探法
九、 程序法
十、 补丁法

      哇,饿得不行了,先写这么多了。
少了e,就少了全部
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-15 20:26
多年经验发现,比较法特别适用于内存、PCI设备不兼容等故障。另外比较法还可以扩展到相同厂家不同版本芯片间进行比较。
少了e,就少了全部
游客

返回顶部