|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:0 \) b0 u5 s% z! V
6 M+ r; Y1 q- B4 G- S
首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios2 z- Q6 M l! c$ u0 L' M& y
: c3 ^. ?8 i! p' m, `! `经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
8 w0 [6 j7 j) F9 [
. {5 V* M+ u% | k l+ Y) {, \我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
( w O6 K, `1 B0 y* h* b) `7 F- U' I3 b" E' l u/ C0 M, g# ~7 n: t
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
$ ?) |& E( {' u: Z/ W+ r- ~: }也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有3 k( I. j0 ^& x' F
9 m! G, l; r) C( j; S而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
2 y6 Z+ d7 Z! e- a; Z+ h- p( w8 K5 ~; B* @/ e5 }
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header; {- g) e( i* X' z& J! j
/ R7 I1 l# W8 y6 ~然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
e0 p: g. v- K) e
" j' S& o) T0 k6 m如果还有疏漏请提醒 谢谢
& E( U% r- s& V3 c' `+ Z
$ ]) N# S( `- H2 ]然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻
1 Y/ Y$ q" X) F& |- k. ^" x x根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果
' M d. J) F2 f按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?: F6 K( x+ @/ Q) O j3 Z; @: ]
9 t$ g% l3 s4 i. [7 }. r) a. i
另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
7 G! I6 b1 v. S3 N5 J- J2 V而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor + F2 R+ F% W1 G ?* g& i, p: Q# D
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
$ w& Y6 ]; N. e( o引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
7 C. O% t/ ~, t/ h是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
2 y ]7 q' D$ I5 s' n e6 g& g& R" [( N$ `1 L [
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
( O6 q, q' e, p# y9 ddescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
% d8 k% B) \7 z+ n6 f0 ]1 S5 R; I6 \; g Q6 b
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
: c I5 Q! i. I( ~- |到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的- e' t- H$ h! K
Boot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
1 j! d. V. _! Y有什么用处
7 F0 `9 C, L6 f( J& V7 ^ J: r$ g$ U+ s. ^/ S- @/ x
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
1 f) Z; I2 b% D4 S, ^" _/ P& H6 L- @! [. R
[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|