|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
, C8 q1 K$ H6 N6 m" E2 g# o8 \9 ]3 M/ A( s2 t' S$ s. c
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
$ P' p V6 U/ \5 F c' F
; P2 ^) E6 E5 m' z& W: `0 Z6 \经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。& q! J/ d+ X6 Y
$ g/ r! V* i- \# H
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
4 w' {+ Y$ ^2 B9 N% c
0 T( ]7 m; K( ?& B& u$ e% u8 B于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身 R# ~& P" D* \+ G, a+ C. Z6 ^! K* X
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
- F8 K5 J* w9 I; |
: g: ^0 e9 o( Z. B! Z$ Z, N/ m而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 9 O0 Q5 M8 {! ~. ^) V7 g
/ ?1 P- X' D9 R( j! k/ z最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header
\& E/ z, g; m! [, \/ x1 t/ \9 q1 X
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...- l" v: C, j8 W- [7 J; k1 v# n
% {# W3 M: @% C+ ^! q$ E* |如果还有疏漏请提醒 谢谢& h( n1 v2 t2 ~9 _0 w4 W9 S
5 K" M+ S2 I J2 X5 S然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻6 ]. S7 m0 Y4 d* j+ A- K
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果
" L. O: A i" k5 q3 }( V' A; H按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?* A% h" b' |( C$ ~$ Y8 P$ p
" K6 t# t6 _* t0 H2 V; E另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置. d( n" N3 b, b* S: j
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor : D/ t" n/ K: W! e3 J
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap' U: `2 {# n) n8 P7 r. }
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
: V( U" S9 r: j是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?) D! @4 i0 J5 r3 O, V
/ ~1 S3 R) Y3 l; A* }" F2 B- `
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样5 R' Y' P1 f9 I3 X
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?, B/ u; F" b+ U2 O8 @, U& j4 [- ]0 O" k
6 q3 R9 o1 C- M! ~$ x1 B
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问+ }/ g9 B3 h8 t& t- F
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
# A, s& L( k2 a$ i" @ x3 jBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
2 Y% S% w. \+ W* V E有什么用处8 j3 Z) ]' h% _) r% Q, y, h
2 T; _4 \/ u6 Y; i5 T# o6 d上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
8 F; F. E3 H- Q) ~1 o& }# F
; H8 y% t8 {5 x& ~" _[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|