|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:9 }' M5 ~! I0 B
! f2 x7 I8 U( m5 n2 C首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
/ H6 C L) \0 K& [+ ]
( W+ J& q- P( C! s3 Y经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
- J+ G4 |4 i# V# u0 ?+ V' Q
A, x, k. f* O# Y5 P7 A3 P) x9 V. s我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片
$ Z' `1 n" g D& R) l* M3 v+ b8 x( X7 p" D2 D6 |0 [8 M
于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身
: b( N U: X1 E, T/ H, z* S2 y8 Z也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
/ B* G4 f/ j _! m |& e4 ^+ [* |: d1 N
而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
" ^0 O5 R5 i& L+ d3 M0 S x7 e$ Z; {
8 d- z; G2 n* i( d6 [' H% l; u0 [最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header8 W9 [1 j; _* ~! Q& i
3 x5 {' c1 J. b" o然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...
* A7 k3 w7 U, C3 \" r0 T
" O. y; L$ F0 W* U如果还有疏漏请提醒 谢谢3 N0 w& }& q% @) J- L3 W' {! C8 F
( B7 o& w" U- q0 c3 Z: O1 r
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻1 q% q# H7 S% K5 w" H
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果
0 w. n1 ~# T5 B% C; I3 r/ \" w按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?
; D+ ? ], s5 Q! X+ y5 ~
) S4 ^6 K8 o; q7 I另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置
2 \( j9 {0 c; N) b- h而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
6 j6 w: }" s6 j又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap
( t! X9 F6 q0 }, t+ b X: F6 q V引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载# i. L8 ]- x1 }
是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?
8 [* P' u( g3 a% i" d3 Y, K; ~
0 E% A! e) R# z( t$ d2 e如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样
5 K0 w" ]6 G5 _1 U5 Q# z' Fdescriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?
0 q; C7 F3 o" z2 t- H2 c4 G0 k2 |
1 b; x) K; Z) u, a最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问
7 R+ y2 d2 k6 C- V5 R& { U8 X到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
0 T+ s! C2 {; Z9 x% VBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
$ X/ x6 V) P& |2 c: }有什么用处) R: i& O7 m1 X# s* [' e
2 I5 _7 c+ _' h% L) V+ k上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用+ i! @, B; T. }8 g: `
# J+ I# D( n: M" C& b[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|