|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:7 }9 Q- q* U/ F4 V+ A5 H
3 f0 s4 b) J$ x0 p* ^, W% Y首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
" P6 V& c3 h' @9 X2 o( N# _! K4 M" c( ?6 j* K5 K0 P! ?% ~
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。7 [$ L, @# b4 H7 \
5 v: _- F2 ^" }/ q我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片' o* Q+ P! M7 a+ e! r( Y% n# b( @
- o$ l& j# p1 X Y6 Y
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身- U- x- n+ Q- g
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
$ L8 b) t J" }8 i( e8 H ?5 \! L. N5 m
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 : G4 Y" W* d8 o8 w* H) i7 A: u
, e& w( [ o F4 I7 e最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header0 O, Y1 E- E" ^1 z; H E Z
+ n8 K& c2 Q5 ]8 [$ R+ v
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
. n V4 s' r! G8 V4 q* O3 D
5 [( V. \6 R8 l( ~9 b如果还有疏漏请提醒 谢谢) m9 I6 _) f0 X7 a) I3 }1 R
+ j T3 ^2 |" h0 B然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻8 [4 d4 N; R1 x- J
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果- G2 Z! x- X+ }) W8 N! `
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?* E4 z+ Z, p" \- w
/ P" H1 }9 D v+ I另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置' R1 V+ v$ _, r" x
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
0 p% D; ]! P7 a }' U* z又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap) O+ F1 g1 W& g4 w! D& L- }5 S
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
' X# R0 S- H& i! O0 @是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?& O4 f3 Y1 M+ ~7 G" O+ j" U
) j+ w# F) F8 D. z0 h' l0 w- m
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样 X2 L# C/ H4 q5 v4 P# J
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?; U( e' O4 k: Q* f M
# i: O; c5 @1 M: U' {
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
! F& ^' x) F' ~4 b4 O$ \8 ~到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
( b9 V: o0 Z+ m8 f; h" RBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
0 ]( o1 a2 C. }/ M有什么用处
5 h( l8 F# \0 }, U& u' ~, G2 r7 j) C; k
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用8 N, I& c* z6 E. W
! B3 g3 @, L, G: F2 {+ u+ j8 Z
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|