|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
& G9 J! X4 G% G9 V m0 i9 I8 v$ P6 u( k: s- v& e
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios- x+ K% V2 Y" F; d* T, x0 z
: }- C0 y3 h. v2 ~4 [; Z: B; x: n经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。9 N/ h1 u$ f5 }' K; V3 s: D( J- b1 F
: ^! `: g: P8 a; x& e
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片. R5 q: c5 p& _# x6 D% n
( d; E) e$ q9 u; b" C' l' D
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身2 J$ |& R' R) x A! Q0 G
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有* o' D0 Q F' E! e$ ^* e
% Z7 v- _0 ?8 Z# y而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座 . W& M- G# t8 j! j5 i
$ H- X/ ]7 b! [0 M- j最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header0 i# M% k0 E& s* W9 Q2 f1 e i
+ k& G% @1 {3 ?4 |; C6 A* x然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
, b9 I" @3 V* j! J& {) i* m, e; t
, ^9 ]6 G# t4 s+ t如果还有疏漏请提醒 谢谢
+ i: q4 V: F6 C1 f$ X6 W7 L# Y6 C* G
4 u, l- a+ q3 w* S7 s1 l+ C然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
& |+ w/ Q4 u- Z* A y根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果: U+ b, |1 x6 A, ?
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
6 f% u, k% E7 S j: W, Q. V
! t& l! w/ t+ p1 a另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
& C. T. V, R+ ^- G& V# X& |, h而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor . x( u% |% V4 N
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap2 v3 K7 R. z. j; m: B
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载7 r6 u( W$ m% \' v p
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
( r( v3 z+ V+ j. G/ m& v* H3 Y
6 B8 L! x0 g% k) |如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样. w+ |+ @9 |% B2 C& b( L4 C
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?; N! G4 m/ [+ \" X
9 g2 Z! W/ y) m最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
5 w* Z" P( J F5 Z1 x% r到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
/ ]0 f" b) f( x" n) H4 |Boot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
5 ^7 H( ~4 I; g+ D- @有什么用处
8 p7 s: _7 K, B% r
2 |& f* V. u$ f, G. s( G上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用/ Y4 e g% H& F- B2 W% M- U3 Z
* O. u( x6 w8 E% x4 D
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|