阅读:3239回复:11
求助:关于BIOS的几个菜鸟级问题
求助:怎么样把自己机子上的BIOS程序给弄出来啊? 请高手指教!
BIOS不是从内存的F000:FFF0处开始执行的吗?那么它POST自检的时候检测内存条怎么检测啊? 能否详细讲解一下BIOS一开始的工作过程一直到初始化中断向量表和BIOS数据区域。 小弟不懂,还望各位大侠指教一二 谢谢! |
|
沙发#
发布于:2007-04-05 08:43
1.可以使用工具AMIFLASH或AWDFLASH他本身是烧写程序同时也支持读取.
2.南桥会有个机制把F000H段的地址应射到FLASH上去,这样BIOS在FLASH上就可以运行了! 3.至于检测内存就是写55AA在读出的方法,但是他还有一个容量的测试方法,比较有意思,不过打字太多就不说了! 4.工作流程!怎么说!AMI是出过CORE7的流程图的一看就知道!CORE8的时候看ELINK就什么都明白! 5.中断向量和BDA是随着使用随着填写的 |
|
板凳#
发布于:2007-04-11 09:51
谢谢!学习学习!
还有个问题: 我用那个程序读取出来的BIOS程序有256K,而F000H段的的大小只有64K,那这两者之间有什么联系吗?也就是说映射机制是怎样的? 大侠 有什么这方面的书推荐一下吗? 谢谢 |
|
地板#
发布于:2007-04-18 08:29
着和南桥的影射有关系,启动的时候只影射了着64K过来!当进入保护模式的时候BIOS是在4G的高端的,AMIBIOS的FLASH工具是借助SMI访问4GB空间完成读写的!不知道这样说你能理解多少!
至于书可以说没有,介绍!!不如去看南北桥的DATASHEET把! |
|
地下室#
发布于:2007-05-05 00:03
bios是译码到4gb空间最高的1MB的,386以后的cpu设计时也是从fffffff0开始执行第一条指令,但是主板刚上电时从硬件上保证了4gb的最高1mb和最低1mb重叠,切换到保护模式后,译码就在4gb高端的1mb地址了,此时给bios芯片加12V的电,直接对高1mb的地址进行操作即可实现flash擦写了,那本bios研发圣经里有介绍。
|
|
5楼#
发布于:2007-05-16 12:49
楼上的,写bios可不是这么简单.
首先要看你是spi还是fwh的芯片.一般台湾的公司大都喜欢fwh,intel自己喜欢spi....而intel的crb板一般两者都有. 然后要有相应chip的spec,不同的chip是不一样的. 然后按照相应chip的写方法来操作.很复杂的. 一般有些是再SMI里写,有些是直接写.看需求了. |
|
6楼#
发布于:2007-05-19 23:24
引用第5楼xcxin于2007-05-16 12:49发表的 : 现在想来是越来越复杂了,呵呵,我也没做过,我看有的flash芯片是lpc接口的,fwh也是一种接口么? 但从读的方面想来是上电肯定得译码到x86的程序入口了.(0xfffffff0)啥的. |
|
7楼#
发布于:2007-05-20 19:57
fwh = Firmware Hub 是一种flash芯片的接口. 主流的chipsets们都会提供对fwh接口的支持. 而从FW这个名字上也能看出主要用于外接flash芯片,主要是system bios chip.常用的fwh芯片包括Intel 82802AC等.
而SPI则是另一种流行的用于接bios的标准,spi的管脚少很多,速度也不慢.Intel自己很是喜欢.大量再Intel original的主板上采用.Intel自己很喜欢用SST25LF040A这个SPI芯片. |
|
8楼#
发布于:2007-05-25 15:56
想看BIOS代码容易,找个行内的人就行,dump BIOS代码太麻烦.
现在的计算机启动是 F000:FFF0,启动时这行代码是经过Intel X86特殊处理的.实际是它基本上会去读4GB FFFFFFF0 地址,这个地址送给Host桥,Host桥再解码这个地址,看是送给LPC还是SPI还是FWH还是PCI总线上去.(这个一般Chipset产商会有硬件Pin给你下拉或下拉做选择).一般跟据现行的BIOS架构, 第一个跳转,一般是跑到BBLock,就是check你BIOS的内容,看是否正确,如不正确被破坏,也可以从软盘之类的启动恢复BIOS.... ========================== 学BIOS,不如看Spec,CPU执行第一条指令,各位看过过IA32 Arch第三本没有?那可是免费的,有价值的资料. |
|
|
9楼#
发布于:2007-10-16 08:39
想读到真正的原始BIOS最直接的方法就是将BIOS芯片取下放到编程器上去读 因为你从内存里读到的BIOS代码可能是已经被加解密过的,并非原始的代码。
|
|
10楼#
发布于:2007-12-19 09:05
引用第5楼xcxin于2007-05-16 12:49发表的 : 不管什么芯片,是FWH还是SPI接口,只要你能操作高端内存(4G下面2M),剩下的仅仅是每种芯片读写的时序不一样。貌似没那么复杂,不要吓着别人了哈 |
|
|
11楼#
发布于:2007-12-25 10:42
如果在dos下 面 ,先打开4g,进入保护模式,然后 参看南桥datasheet,在lpc桥里,看bios enable位,看bios被影射到那个地址 ,一般intel的是0xffffffff,看看的的bios是几M的,如果是2M的(256K)从0xFFFFFFFF读256k到你要保存的文件。
|
|