|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:& o0 q5 M2 D3 n" x- _7 H
0 C! _# Z4 B7 j7 I8 k* v
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
3 k8 L Z- R/ L8 l& S/ A/ J5 _- @7 `/ H& ?( s, l2 p7 }
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
* W2 P. I. t' \: I+ w7 w
3 v( K, B1 `6 m9 n- _- l6 X6 F0 p我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
# b4 M5 R, d. H7 h" y2 a# T4 ]1 [( Z" A% k% i u9 q1 _
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
7 i+ N5 l/ T m; R8 m' m5 I6 g也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
& z6 n( q/ q, B1 [2 [+ e; @
8 v- D, p0 G4 T- h而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 . [, _, p2 f" |! V
( J7 x. z) S$ y
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header
5 e. ~% p# x' u& w: @6 h+ S/ \- g& G& }5 t1 E
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...' l9 `# n+ I) U+ |; S8 Q6 Z
+ L4 k' U8 U6 w$ j! @
如果还有疏漏请提醒 谢谢
% ], V3 I3 h7 p' H# ~( k# y! G3 {- U( F% E, ]/ Q
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻- y4 n+ y, _9 H( i
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果& S9 L" p! Y. o E0 |8 L
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
- p) `! S% [2 ~) M7 E% a: D# ^# z9 ?* k/ n! s* ]: @
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
; y1 R. _# X S& } r而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
+ K. D0 w( p5 P/ w' Q5 F! y又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
6 M* d" k+ i% j2 M$ w; \引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
5 Z: X% L' |- Q" S L$ n5 F是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?; U5 C" d$ E4 E3 s2 O* x( b
1 B- Q8 Z7 u4 I% ^7 A如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样. Y6 k3 r) } w! d! C7 }
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?2 m/ m4 G k0 i
# Q6 V4 O+ {9 m" g
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问, u! H+ c" Z" b& |" C( x
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
2 Z% R$ N$ I, y: I$ yBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底# k& S7 W; }) y8 a0 Q1 ~% N; k% C
有什么用处
# B7 h! q4 C" ~2 S X+ T( H
% v8 N' i2 v% U上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用, x3 A; {. ? J- z' g, r
( Y1 I& Y7 o" G M. v
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|