|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:9 S6 Y' J: K4 f' A3 w2 s1 \+ f
, e- g f- k- d N& n首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
# f$ L# m, t$ p7 s P5 D. u: s6 s) B( N: ]7 z- S# r
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。; P$ W% B/ M1 k
/ q7 W5 k" u4 k: o( {% q7 v& T
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片' j: N k0 `+ J4 f4 P
0 j! N% t& v+ j2 U* h: A. C
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身% ~% d: b5 G8 H% t# z# w% t0 C, S+ D
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
% X! |# m/ v% R, G2 i. J
5 ?2 c1 H7 G6 _! Y% `# l7 I而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 3 e2 G, o( w" j R
0 |0 P2 \4 v5 q
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header. Z2 d$ @" U# Z" v1 c( W5 N- X
4 l4 n& G5 Y* p8 k5 p! d
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...1 w1 t% m- C% K6 m* u* m1 Q8 S
1 O3 [3 W% M5 t2 ~& t2 g$ D如果还有疏漏请提醒 谢谢* S) P, I! M7 i) W t3 @
4 A' ]: z; i! w8 ]然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻/ L! d% r+ n$ s4 T$ J
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果6 |6 a) f& o8 Q, p2 y2 v8 H( [
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?7 y) v! Q4 ?& w8 L( N0 r+ r* E
2 `6 |6 b- k' ~- e+ h% @3 g
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置7 u4 H2 O! f, F7 L* J' s
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
2 x; s- H ^, o- v又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap l. u, S: P: `: t: F. Q
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
6 B3 q, f2 d, e+ K' e是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?6 i* G" }) D Q; f
4 y* Z7 _% K5 _ p" e* x: M
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
3 b8 g- s% z( B b8 O) Q$ N7 edescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
, d1 I( Z* W: q) [# B( \& c: B+ {: I w5 T; ]+ a q2 ~$ ]( w# F
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
1 h f+ E' R, t8 s0 f- m到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
7 C& q! _8 Q2 |8 J- WBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底3 z1 m& ^! B6 h0 [' D* U
有什么用处6 t! @' @1 a% I y4 H
1 s8 k1 x& B, N- Y: x
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
Q7 V0 B7 r, P# }
' `% \4 h& G( R. \[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|