|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:0 P+ l( y! z ?( ?. o+ e) y5 Y+ E
* G5 m8 @( r( W5 c
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
/ g7 s1 {% |" v a
( N$ M; g- ]! d2 `经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
4 N" L$ U* Z5 k+ E, e
! O+ Z5 y1 d( A我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片3 Y% E% ~0 L3 {6 W3 f$ T
: q) t [7 b+ ~
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
8 [. T% F( m: |9 c! A/ V也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有& _ k3 [2 s) Y( t* R
0 N8 ]; ^+ U; n* v. B
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 + N) x4 g4 x2 S& w6 g
( m; }# |, @' b8 u# `$ N最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header, T( B/ R6 y( Q( I5 H
3 S7 r; W( P. Z1 U9 O/ X3 i然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
! P/ j6 _! U; ]
) C% I; h4 z! b% p- B6 }如果还有疏漏请提醒 谢谢
! T! [+ [* Q) \6 u
5 `0 o! p! l. n% d然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
8 O" S2 k z; k3 S5 F4 V7 }根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果" Y- Z5 K( V9 r" \: |+ X4 }* l
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
f, i' B! l4 L# T( t k C8 A1 R5 \7 }& x
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
/ _) m' ]# A4 j* |! r* b# h4 R" J( _ p而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
0 t, F1 h" w8 ~4 j又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
6 ~2 O) _# }8 \7 ?4 h5 b9 d3 ]+ n7 r引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载; V% Q x0 ?3 Z0 @
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?& w6 U) @6 ?- s, V
+ }4 X( j) Z7 f% j
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
5 j. v/ w1 B) m$ b5 k, e0 P6 R$ Gdescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?- O6 h, z2 c2 x7 I! d5 n
% U6 F* ^" N* j$ a
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
) j, `6 t1 [& c/ k+ }. O5 O到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
1 @, _) l2 [% \& @/ U# gBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底2 I6 j6 X D4 S% ^/ \( u0 @9 l
有什么用处
- ]" c( o B+ j" Q+ T1 [7 M# u# T6 @+ A! I9 C9 `3 @
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用9 z; {( y/ O/ s6 V6 O5 ^
% @, u1 @. d/ l8 |$ Y[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|