|
|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.8 N0 g8 g( \2 e% p5 @$ D- K. D, I+ H
分为两种情况! Q5 o2 f. z2 ]3 W( R* k1 c
(1):而且EC和SYS合用一个SPI ROM.
9 T# d, r4 J* Z" b+ w6 E3 R5 l在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.
' m: t h, C1 t2 s* |2 \" Q在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是4 P3 j8 J! K( q5 s2 U9 e( Q
留给EC ROM使用,所以不会去flash." g. A* \& ~4 e2 n/ ^& ?# s7 a/ ^
反之,如果是flash EC ROM.
/ Y) i1 I' B6 o3 I6 HEC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。
7 l! P/ g- v3 r6 Z可以用intel的fpt.exe来实现这种思想。/ w$ }- H! b4 h/ q q
fpt -f file.rom -a 0x80000
; L6 H' b' k# Z# z8 n- @就是跑过前面的512K来刷file.rom到SPI ROM中。
1 Q/ E0 `3 t) {' ffpt -f ec.rom -a 0x0 -l 0x80000% t, \5 Y- t" t7 o3 U
就是将EC.rom写入SPI开始的地方,长度是512K
8 ~, \) X! x6 }8 R1 |$ M我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC! f7 b c' P4 @5 U9 [. ~- q+ a
它自已还是会影射到0xFFFFFFF0地方开始执行。& U% J# K6 w9 T6 h; i A
EC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum): A4 t/ C/ O% u0 \
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读( D$ E& ~" {6 v+ v! i8 c
SYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。
6 Y1 f; G& f4 s8 Y9 J6 Z$ ?% m4 e8 p! p }
第二种情况:5 R" K8 h8 y; u
EC和SYS是分开的。
. i1 q0 W- D: N+ q1 Q" M那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。1 g1 H; E2 v$ L: F: [9 y( h% A8 A& S* W
calpella平台就是这样子的(一定要这样子)
5 ^" F/ K5 S0 d9 j/ w/ T, E% gSYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。
5 V$ I! ]* l& T% i+ _
$ Z( k5 x. h9 p' v# F4 nSYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|