|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:3 U. ]# f' I5 r
+ l% A% ^6 `, `' h8 y首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios5 ^, R( E3 }/ s c+ l
+ w" T8 M0 t$ X# I4 V! `2 [经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。) q( s& m4 g) O h( C, W
: m! w/ V. p( a8 V5 T# Z- D我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片- G: V) [: u V0 h& n
8 d3 L6 e Z' s9 j9 t
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身/ S; n; A. k2 I% W" t& {8 b
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
( |. W/ D9 f- x+ n- y5 O& Y3 _8 ?, v) L# A1 {% U
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 ; \. N- Z) g/ t5 V! |
" y4 r: f) L2 p7 h! b# a
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header* a# f( P+ h( d9 r" o5 b
/ K/ R0 D l# r, J" I8 X, Z
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...- k; D( j8 y" p/ k' T
* c3 T- G, T" |2 L1 q8 t
如果还有疏漏请提醒 谢谢
) }9 Y, d1 q8 k2 K7 M" I9 {: o% n1 g \3 T& F" `
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
5 j) d8 f% c4 W5 i8 k根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果3 f( D' f% s- l' q
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
, ?. Z8 k: Q6 t6 V. E5 q
0 [9 c- r/ F$ ^( F, p1 w3 ]. `* x" j* Y# D另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
0 _) b& _5 M, s* g/ i* e0 {而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor 0 {' t8 S: `0 x m3 p& z: v
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
) P* @$ \; x* M7 M' h$ p引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载- ?8 ^( G1 L& D8 L) f+ Y( j
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
% Q4 @8 p, T& N/ Z% v0 i- u$ X/ S6 L
( f( j- r2 Z: f( q如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样/ s8 T( k# S7 m, Z! A4 v
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
: t" F3 H( q( R$ C& i6 F
5 `& u7 |5 W7 @1 f最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
, u7 Y+ o4 }- E到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的/ P" J4 u4 O7 H3 |
Boot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
3 R+ t1 Q$ _' K# ?有什么用处
* @7 d- A, ?/ i: v) j( x- N
' Y6 `2 H; n/ @& E4 R0 _上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
, _8 T* U* V9 i& j- a
6 j2 O$ t7 L9 q9 `# P( }6 D4 e! `[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|