阅读:5609回复:9
BIOS排错十法之比较法
二、 比较法
一天刚上班就收到客服部门的投诉邮件,说客户反应我公司的主板兼容性差,质量不如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法 七、 改道法 八、 保留位试探法 九、 程序法 十、 补丁法 哇,饿得不行了,先写这么多了。 |
|
|
沙发#
发布于:2004-01-15 20:26
多年经验发现,比较法特别适用于内存、PCI设备不兼容等故障。另外比较法还可以扩展到相同厂家不同版本芯片间进行比较。
|
|
|
板凳#
发布于:2004-01-16 11:00
To:minisoft
请问,阁下是在作AMI的BIOS吧,对RU.exe这么熟悉? ru.exe在BIOS In Side那本书里有附送,但是网上很少有看到这个软件。 另外,阁下介绍的方法确实很有用处,感谢分享经验。 |
|
地板#
发布于:2004-01-17 00:44
好文章,顶起来,期待后续经验的分享
minisoft以前好像还做过Phoenix的,RU确实是好工具,功能强大,还是正版呢:P不过它的保存功能好像仅限寄存器参数配置,不能把我想要的某段I/O或MEM保存成文件吧? 共享一份RU的manual,这可是BIOS In Side里没有的,给大家补全了吧 |
|
|
地下室#
发布于:2004-02-07 13:32
好文章,顶起来,期待后续经验的分享 ru可以用来保存memory和IO的值。 |
|
5楼#
发布于:2004-02-08 21:45
哦,我又试了一下,原来选那个Register File就可以保存了,这下省了不少事,多谢多谢!
|
|
6楼#
发布于:2008-08-20 22:12
多谢提供ru manual
|
|
7楼#
发布于:2008-09-25 16:51
当年,我们的作业是:用汇编写一个RU。我只完成PCI config space功能就坚持不下去了。嘿嘿
|
|
8楼#
发布于:2008-12-13 22:51
3qu
|
|
9楼#
发布于:2009-03-20 10:38
谢谢各位前辈,特别是changjt前辈,还上传了ru的使用手册,我从事BIOS的工作,但经验很少,很多寄存器的用法都不知道,还望前辈们多多指教!
|
|