|
|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.
2 }: O; s3 P7 A$ ~) H* `分为两种情况. \$ ?* Q% z5 [ ?4 n6 e8 \
(1):而且EC和SYS合用一个SPI ROM.
! ~8 K: @; W8 t- p& o) U" Z0 z在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.
3 z2 [& z; j4 y/ S, w6 _/ T8 L4 r在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是- d: ^" `- n4 e2 d
留给EC ROM使用,所以不会去flash.0 |) {% z) u" ]# B2 }
反之,如果是flash EC ROM.* ?6 B( O4 C# q9 N
EC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。
3 R7 v8 x1 |* ?8 l/ n! L可以用intel的fpt.exe来实现这种思想。
* U! g, n! P6 f9 R5 sfpt -f file.rom -a 0x80000
7 }( d& [ j5 P. G2 S! Y% y就是跑过前面的512K来刷file.rom到SPI ROM中。
. m8 _' o$ w, ^' |% Vfpt -f ec.rom -a 0x0 -l 0x800003 ?+ u% f9 i+ W9 q7 }8 } @
就是将EC.rom写入SPI开始的地方,长度是512K [( o2 ^/ h: _, O! c
我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC
/ ? P5 T+ x7 r它自已还是会影射到0xFFFFFFF0地方开始执行。
3 }1 [& p" U- C3 t! t7 y& M0 O' E3 yEC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)9 w, @; S6 `/ @; [( ?
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读
( U& e" W: ^# |9 m7 j) K2 } vSYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。
" L3 M5 g+ f# F& T1 D
) f- n0 E" D( Q: G第二种情况:
: U- W) I" x! U3 f9 O$ z- AEC和SYS是分开的。
, c$ J3 m; v1 z) Y那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。
7 `, s5 z v% dcalpella平台就是这样子的(一定要这样子)0 k5 g2 t; j( A. O5 }# V# F
SYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。0 w9 k2 l/ Y5 O o6 A+ K
; }# L* q1 |- j5 DSYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|