|
|
我是个软件工程师 没碰过硬件和芯片 我想咨询一个问题:% H, b* n! E* h3 }+ K
" T' j% ~+ g1 x* X1 D7 [首先我的目标是希望架空主板上的bios 让cpu直接执行我自己的bios
2 F0 G) s0 n o8 ?3 A3 Y! n" I$ q2 ~
经过调研(如果有错误请纠正,谢谢),发现有一种bios仿真器可以达成这个目的。
! p0 W) E4 z- j+ }+ @- C- [) }4 Z
3 u" G7 i# f# e我找到一个bios仿真器 这个仿真器应该只能使用lpc和fwh的芯片 为了以防万一我打算买5片lpc/fwh自适应的芯片1 S* g- c9 C/ F# E
. U7 V6 b6 Q* u( _于是就发现需要一款bios编程器 由于自己机器没有并口(太慢也是另外一个原因 不过我想请假一下 是不是lpc和fwh本身& A% D; d5 k' O' G: y' q
也不快 所以就算用了usb接口的也不会太快 而用了并口的也没慢到哪里 对么) 发现usb口的支持Lpc/fwh的bios编程器几乎没有
: q s' W) j/ z7 y0 w7 T; O
/ ~( W) G: _# I! Z( `而bios编程器大都是dip的 所以还需要一个plcc32转dip32的转接座
* \4 j4 h! W1 R, ?* L8 R1 l: A, M- J- ]1 j; ?2 A7 d
最后还得买10跟带插头的杜邦线 用于连接主板上的lpc header和bios仿真器上的lpc header
3 z% `5 ^2 D. M
/ v6 A9 ]4 A5 |) @; }+ b! v然后还得记得买个拔取夹来拔出plcc32的lpc/fwh芯片...9 T* O7 u6 f5 ~4 c: B7 M s
! H. q! W+ N7 s7 x如果还有疏漏请提醒 谢谢% F8 B# W! e! {) O* l6 @/ W" m
: \. s& ^! Q' p; {
然后是boot bios destination的问题 主板上的bios是连接在spi上的 而Boot BIOS Strap引脚内部有2个上拉电阻* `: M2 A: r9 U, { x$ f E0 s! @
根据文档说明 如果Boot BIOS Strap引脚在PWROK的上升沿时是11(2位)则从spi flash抓码 如果是00就从lpc抓码 那如果) |) z! u# N) g( E
按照我的思路 是不是我需要在这2个Boot BIOS Strap引脚焊2个下拉电阻才能从lpc抓吗?6 T, W1 z" H& H4 [4 h7 Z: p
2 h4 r! @* K' n C9 Y' ?另外如果抛开上面的Boot BIOS Strap问题 我看手册上有提到软strap 而且这个软strap会先于bios和软件来决定一些配置9 @$ d" p+ z* @6 ~
而软strap的机制也是依赖于spi flash 如果这个spi flash的signature正确 就会读取其中的descriptor 而descriptor
( @9 [ S3 O9 e又会包含指向PCH Soft Straps区域 那我的问题是如果这个区域的内容包含了Boot BIOS Strap的设置 是不是Boot BIOS Strap( n6 A# u8 g" S( A2 h
引脚的电平是多少也无法影响了 哪怕被我给下拉了结果还是可能会从spi flash抓码? 这里我有点糊涂 因为soft strap的加载
- o+ x0 c8 }" M' d4 {$ L是先于boot BIOS Strap引脚的 那么到底听谁的?还是说soft strap里根本不包含boot BIOS Strap相关的设置?9 J, X+ b, u* t9 ` u9 _
! f l' ^! ~2 b( e. R4 F" [; Q% |如果soft strap里包含boot BIOS Strap相关的设置 那么我是不是应该用什么方法来破坏flash上的signature 这样 v3 F) d1 N4 _1 ?5 b# V+ v7 v
descriptor mode就会无效 这样硬件也就不会去load PCH Soft Straps的设置了 对么?3 e8 ?: H- J) R) Y9 Y; _ t) x7 |" A
1 _. K+ t$ a+ Z. C A7 k
最后 有个GCS—General Control and Status寄存器 这个寄存器是可读写的 读功能明白 写功能是什么意思呢? 如果有代码访问* _: r+ H2 m* u( S! \
到并修改了这个寄存器的值 请问还有什么意义?难道说我可以往spi flash里写入一段程序 这段程序修改这个寄存器 把这里的
7 u& a1 k1 {: C# K% l0 L+ ?: A, S2 aBoot BIOS Strap设置给改成lpc 那么下条指令cpu就会从lpc抓了么 我没弄明白这个寄存器里的Boot BIOS Strap是可写的到底
, Z. n8 O7 c% b3 N9 B有什么用处
! o8 a! J$ C' G0 z+ d
. X7 f3 L( {) X! D上面就是我的全部问题 一方面是硬件上的准备是否齐全 另一方面是我担心焊2个下拉电阻是不是有用8 a& Z! M* Q9 a6 _' L
% l) s4 t0 U, d( j3 R- N: l7 H$ R[ 本帖最后由 growlanser 于 2012-2-27 22:26 编辑 ] |
|