|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
9 p4 B; [! O/ g, m4 W
8 I- l5 T" z8 B9 X. i: f首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios; j" o3 y3 U0 _2 Y: D3 G" I
0 s* P3 v9 b6 ~+ m- O* T' P经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
- q! T N9 {: M( [" h
# J5 ?2 d3 Q2 z, p2 y我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片+ @3 q1 z6 r) y) ]* |
3 w3 @% e5 ]/ B: n$ U3 ^* s2 |于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身0 K( V, o1 s; J# g; L
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有 C# m! @; a/ c w
[% [3 t) {2 G$ [
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
, |& Y8 x# ~3 j% v- D" v; H2 b: h/ i2 v; I0 T& ?
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header
2 q! K3 U: a. P' Y9 |( _( u6 D# h' ?# i* D a% A" F
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
$ @# T5 u( u/ w7 j4 e
0 N% s' \& q$ f( O5 Y* ]如果还有疏漏请提醒 谢谢
) M# f' Z; Z/ W& T7 n! ~
* E- F$ X# t0 y3 o然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
/ {1 a4 [+ f$ y: L根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果
: G* c6 z) {* K0 \6 e9 _0 Y% _按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
1 d- F, s( V( Z8 p# O1 F" \3 C, I& y/ k2 r+ j* ^
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
1 u8 y) K) k' h! U2 w' D, d而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
s3 g# m! h+ T3 g* B, p3 J又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap) V9 l5 r* j* y; I8 Q
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载2 {" Z( Q/ [' l T9 E0 V; }" u, D
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
+ ^3 W3 J, U, e
2 }2 j0 E7 h, c; p. m( s- q0 c如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样3 j$ \& t0 P$ B4 S# G q
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
$ u c# K# u) {( |# l% t: t5 @, u* D1 l6 G- i( Q+ Z) e+ Q n- i
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问7 }1 H4 R8 U8 f. f9 K% y- N
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
2 H4 _3 v; S' E. j& yBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底: h' z6 R3 [: l* L7 j
有什么用处3 f' Z. S" _; y/ h7 f
6 s& s8 ]; Y+ c6 o8 ~: }上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用2 `, Q0 T; z' D, {. o# B2 Y
3 a0 l5 Q0 Q' z+ v T0 ~[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|