|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:
6 d% ^( I; d1 `" x. b+ C) O
* E( j r9 A4 O! g首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
8 P5 X$ M. Y) V1 I( P- [
5 \/ e9 m2 c: ? `经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
\" f( T& j5 V% n4 m" x/ [" A; f5 a# f* h% |
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片% g: I* B. c" u3 }2 {
: B8 U: ] C4 F, q6 x' ~
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
. M( [' N# h, M6 ^也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
% P+ r: p1 n! u- u, e% V
9 }2 n- o7 i( w/ B9 y, D而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
1 Y$ g( u. v+ ]+ H( M, o r: A
3 \4 r( f1 Z. q3 y最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header- n1 H$ W0 g- k
5 @7 d+ m) K3 Z2 F: r0 {
然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
) M" O9 \; ]. Q$ ?1 j* E }6 m6 i8 m7 y$ N6 A, r4 h
如果还有疏漏请提醒 谢谢
5 h7 S: q+ {* c2 `2 @
" W) v" r" |2 v# U% W5 c5 }然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻9 ^9 |; V1 g" H" P1 g5 X1 p
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果' N K4 f# L, v7 ~' v
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
8 v: j+ R; `0 b# g) [# v5 O
8 P( R) B2 q' T另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
8 k0 f; m- E1 M. \' K而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor 9 U0 g6 X9 M: X& ^% |. B) e t$ ?) H+ n
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
7 |* B F6 L& x' Z% j引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
& B M$ d" H. h2 w3 y7 H% Z是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?; ?( M( `! Q4 V$ Q. K
2 m, A2 e, L. Y+ n: g如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样, j9 t/ S, S; }8 ~% W
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?2 m3 q& U- p7 s+ E
/ L) h a/ Z0 y. Y最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
! s5 N3 o$ V+ |' u! B; n到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
2 S# K+ |9 [' ^2 j1 n2 Y+ MBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底" B' _' s+ M7 g/ n* \+ S/ g
有什么用处
$ {2 _" Q; G( `6 e: Y8 @$ J% o* @4 H, O7 x$ J
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
4 k. T! {" Q: P/ n# }% Y. }2 L9 l1 w
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|