|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:, b$ q" `, s! l! K3 v; d( L N0 F' f
~3 B3 C; w: _9 c. a( _, q首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios4 t3 g$ x. T5 Z8 ^2 r0 ~$ \9 O: X
5 b- y% |0 H9 c( B9 t经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。( V! U6 p9 q7 b, r) v: h( ~
3 c6 { c: f6 K! c% Q0 a! ^
我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片! f0 D; @1 e! M6 h2 {8 L
8 \/ R/ {) [/ S/ O8 O2 |/ T/ H0 _于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
# N, z5 p8 A" `. x ]+ m. Q也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有0 Q( N5 b3 u! l+ ~/ y, {: b& L! ~
- p( ~+ ^- s' X而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
2 {; E/ V( V: c
E' ~3 H: \3 n3 \8 H) G最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header5 r) G: s" m* m3 a
- T6 e+ M' t! o. T1 k* `然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
& @' J% l, |0 ` r, k& K$ {( t) ^) j O1 F+ F5 p
如果还有疏漏请提醒 谢谢3 @7 b2 j+ ~' o
/ b) z: i3 e! k0 O. O( R3 J0 Z* c
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻$ U% R& i. S# @9 ~
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果
1 [% D) N" P" h0 ]按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?8 N: V# `+ V# ]# f/ H5 f
. N1 X3 y& m5 U! D% |另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置0 d& ?7 B: C7 v! n
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor ) \5 f2 u+ j0 A! Z
又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
9 o% T3 [; Y5 D# t8 G引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
$ r5 _* O+ r8 i5 h0 I* T& K是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?' O+ |0 w9 `% Y( A- I6 p2 W
( w \' C0 W$ O$ T
如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
% @. Q+ S1 j. q1 @2 @/ x/ ~& c& rdescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?) Q, ^5 b5 d- l" p7 J
6 @$ X$ t* N- k& m" L# K
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问# L# a. P- c( A! n' S7 B- _. {% Y
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
6 d ~5 t# `- WBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底, l% c0 ^1 a% |2 s
有什么用处% d: y" E& X7 ?0 m! L) V0 }' g s
2 C3 g' N: c0 }
上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用
& n) u. w; Z5 }7 ]5 ?" l' F
" N0 f' ?% g, G2 g1 A6 k) D! u" L, x[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|