|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.: a% l# M* Z- {$ \. Z( z
分为两种情况
9 Q: s3 N+ b8 x5 [" n(1):而且EC和SYS合用一个SPI ROM.5 t* \4 a9 o$ L- ?/ I- O* x
在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.3 r# j& Y) Q, O; V' Y1 M* i
在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是
4 h. [+ H6 L- H& x1 ?6 ^留给EC ROM使用,所以不会去flash./ R$ E1 ?1 {6 I
反之,如果是flash EC ROM.
* w9 R/ _$ W% w+ j3 l6 yEC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。
& a- L/ ]& }; _2 M0 N可以用intel的fpt.exe来实现这种思想。& Z' a# ~# L9 B4 [( ^* f
fpt -f file.rom -a 0x80000
+ u/ Q% S1 b- D1 Y/ H6 w, ]9 O就是跑过前面的512K来刷file.rom到SPI ROM中。- H( J( k8 u# B3 O
fpt -f ec.rom -a 0x0 -l 0x80000
. m6 U) b' W& i就是将EC.rom写入SPI开始的地方,长度是512K
/ n5 _' H2 L. W7 I; K# U6 o5 l我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC/ A+ A8 V9 _7 {2 s( ?' P- F
它自已还是会影射到0xFFFFFFF0地方开始执行。
+ C' [% ?# g' R5 Z3 ]% J+ j, h N! ^& c! xEC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)) T. m' e0 A7 Y" a8 {9 U0 y; j' P
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读5 B6 ?$ J$ o5 Q9 I8 Y5 Y
SYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。6 L; U! t3 I; c$ e5 T
3 J: k- m) Y3 | _2 s, T+ o: z7 A第二种情况:- l! m2 [! t' u6 K. b4 g
EC和SYS是分开的。
- h9 i' |3 \* E- s那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。# l3 N: L) m* G, U
calpella平台就是这样子的(一定要这样子)
# [ e9 ~8 y2 o; hSYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。/ U# i0 H2 J/ A& H
( u* g) j6 ~2 KSYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|