|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
! J5 A4 W: N/ x4 F$ `4 i E' m6 Y0 l- F4 H
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
L4 W! X9 |$ e, c+ r5 V6 [ \/ C! s$ m
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。" A- |9 O* _* M) X. d8 p
0 T* I+ P E, O2 C8 {我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片( j9 Y9 q; g; g& F' J1 l
7 v1 V' h4 s4 q( ?, z' c* G' \4 v
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身8 d: N* m7 a S) j! @
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
) V9 J' r3 H: E" n) q+ C0 _
' j/ y# E0 Z- H! W8 B' k而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
; \/ [" ]% @+ m3 P! e7 C' `- @% E( u) U% y/ ]
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header* b( ?8 u4 ~, v, @$ h, t
" [1 }% b' p( ], B2 B D/ _然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...$ O7 f# W, D* k4 y: N
4 P) [* J; ?( w3 N0 g' M/ {' \. v如果还有疏漏请提醒 谢谢0 R' B* |8 G# d3 J, B
3 t6 l4 a& Y3 u6 j( Y* x! a
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
8 I5 W- Q# ]: W8 w7 @根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果& C( H! q" w+ \/ n [
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
9 N( H8 t) |8 v N4 s$ y/ w$ [. Q; d: F6 b5 S/ ?+ v/ U& i
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
8 k% I0 z' F$ X/ \5 }$ U; q4 N而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
/ m! l0 |/ r8 ^9 A w- y$ A4 d) X又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap0 L- }8 a" @% O& |- {4 r9 O
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
% c1 @- l3 }5 t是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
5 P5 g# Z# {2 v* p* ?
+ {4 W) j$ `+ t1 w1 {如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样( j7 H+ p- M) a0 R
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
3 R' b5 X0 ~. h Q/ B2 k" x- `* o( X# Q1 }
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问1 I- H1 r* M4 [9 m$ A3 Q
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的: r5 D- O" |1 R/ N7 E. z6 x
Boot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
9 G7 K, c6 V' V/ e+ b1 v; Y0 U: U有什么用处% [* x7 ^+ z. e- ~2 N& V. w' E) {
9 o k# e( ^: y# {& P5 ?
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用8 | F! Q4 Z4 ?0 b# E7 e
8 ~( F' Y! J- m! F! @
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|