|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
2 Z6 {8 _, {3 X
- D: z4 e: i7 i) p首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios9 ?6 O! d) q( s0 A3 w
; a- d4 M0 [1 U经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
# B. l/ Q2 y% @3 g: _* Q2 r: I* S& Q
8 s3 c. U/ t( b9 a& T6 J4 O$ ]* K我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
. W; |2 {0 H6 J3 V- x6 M/ D' }! b) U3 D. Z
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身; ^( r) T) g$ P, o- k- }# O9 I, `8 Y0 i
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有6 A, ~3 Y1 |, N: }! |' w
z! k. \ q M( @而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 " k9 L" ^* O" U9 v: d. ?
! q$ P. {2 g+ K, s
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header
/ f* f& ~( ]! x1 _- Z: y* H
$ J! i& \0 y9 [然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...: v% f- i; m- w# O/ @
1 w; \3 @) V8 \
如果还有疏漏请提醒 谢谢
) N0 g; }& g( b# W$ K- r
/ U; Z6 N2 m; \# V4 y9 H' o$ V+ c然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻% c* o4 i- J, Q. M1 J3 c
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果4 Q0 @. C- [) b0 @) E8 x
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
, L. K1 I& I$ h3 |. U' I2 g/ N* T4 V- N) f6 {: O. M
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置6 P. B# n! c$ l) U5 u% H
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
' E+ l/ B; W3 Z. A# s$ Q, c又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap. Z! D5 v5 j* q; G1 c) J
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载+ {& V. A" D- p5 K$ d" m$ Y% A% N
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
" @% q/ M1 f0 p7 Q, _4 K3 \; k) \& |5 Q# M0 e: ]; B
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样. ]/ N2 i" q; K$ r9 z# F) @) A
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
6 `8 W Q0 X5 N+ D: W# | R, u
: [, U9 O1 M) x) P0 Z. L最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
) R- S4 |: F0 @到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
! v! o" h& [; IBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底$ v d5 l9 S! d, S
有什么用处
& Y, T% T) g& f1 E9 K6 Q% O) U1 B8 t/ V- Q/ K: R
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
' t0 Z1 M: k9 h
* f3 y5 s; l, t# c. N% U; Z[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|