|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:0 L: }, P. q1 Y$ i! w, _1 J
# i. z7 ?$ E! B, x1 @
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
: X% l( m% F, T& g6 {( }+ U% \. L+ ^$ g' @/ V
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
) d$ g4 `/ _4 a! ^8 R
/ x& O0 e/ F. c( }8 [我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
/ d2 u7 _ O2 g" L+ C
- L' r& V+ D7 _于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身; r. @4 }9 a, \8 J* A# s, C
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
8 @ }) J/ ?4 P R+ L/ ]4 w( E( l! D2 H K0 U3 m- l
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
7 P# W. i; M" r1 n. w: i& [9 Y3 w7 R" d0 C$ ^' E/ b' a
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header5 c" d- W$ m/ @6 J
8 ?2 A5 [# Q( a* C$ _然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片..., P, u1 S2 Y4 N5 Y
: w: h6 \; _" j8 B如果还有疏漏请提醒 谢谢
* G1 J5 v2 e% h- b: y- q! n
g: m( o/ R, O) P8 j( C3 p0 v然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻5 N* ]% L; U& Q/ J4 z$ M9 Z0 w
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果1 V V$ m0 g1 Y- K+ l4 C5 @8 K4 w
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?5 A4 z9 T$ f0 `$ n
# P/ P3 u# n$ u5 f7 U+ p* V3 N
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置 g1 z, W+ n8 E. j& T" d
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
# G; V9 v8 i3 `# ?7 P又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap9 J# P* e% B8 G9 U9 a5 y6 r6 t% C6 z
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
! B c1 \& T# D4 p0 }4 x( |是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?) D7 k& b u- E
! h$ z+ [; M. a4 {% D. s- s) e
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样% w) V9 ~1 F4 j; e: p( y
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?+ R d4 q% A4 p. e- d! X# a
9 `; ^6 O+ }" _- [9 h* \$ B! B; n最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问) ]$ ?' D9 _. e
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的$ V# D. Z* g8 L. D3 L7 _
Boot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底9 ^* `5 I' @' |6 @ m* n, Z% u, i
有什么用处2 _& ~ L2 a3 F8 U2 f
& n: k; n$ F% E n2 M
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
; w% w1 G9 T, ]% m/ G3 e1 G/ o8 e/ |6 Z& Z! U# U' u3 J
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|