|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:0 }- S {! o/ ?/ i# k" W: q
1 B. O( F- L% M
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios3 Z& |+ G& u1 P
; M i) `. |8 x( s* f& k6 i6 l
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
; g8 Y$ d2 |9 T; t# s W% n7 W* R6 u; E% p
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
3 L% H3 `. i* D1 Q
t+ E$ X0 i8 h9 q8 u于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身$ v4 B5 G8 _# s
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有$ l# P u9 }7 p* t0 Q1 d
' E. @6 g, @- v) k
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
7 d& z/ K- D2 y+ y1 ~! M/ u6 G/ K$ v: ?8 G
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header" Q- ~7 n R( M1 \; D: \& y
- [( C$ l* d* ^2 }然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
8 F" v' V) v: x" k7 n) l- A+ U
& u' n& v7 |9 M1 J4 E* J6 V如果还有疏漏请提醒 谢谢
- e+ ` Q% f7 d. D' b/ D) x9 f0 c" X& S2 n4 f ?6 J9 d
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻# x* e3 Z: e3 M6 m5 e
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果# m* N& u6 P. k, o
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
- ^. w, y1 y: q( U3 ^7 B2 M4 Z7 Q' C6 F7 [* r5 l! @0 E) y f
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
5 K$ o( Z( O a" ?- |2 m而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor - ~1 a# Z% m, s, o9 U7 S/ K
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
1 E8 X% f, U: E8 ?5 g, d( z引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
& Q( n: a" K4 ]2 m6 S" G. F是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?3 o) \: l8 L" M: q
6 L g6 J1 f3 r; s) s" Y
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
" z/ J U$ S1 [1 D# I( idescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?: ^ y. _. t2 N4 p9 K, f
N4 ~" b. x! g1 d8 A5 K
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
/ p: }5 T! b$ m到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
' ]% A( H" Q2 V, o" ~6 oBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底) k7 v* s/ o' Z: w$ T( d9 E
有什么用处/ B2 N- V" k6 s6 f* \" d
2 U i# m* f% m上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
% L4 M4 e" W6 Q5 R. A2 U0 [
5 b$ t, C1 c+ [/ q: N- J[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|