|
|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.
/ m9 q, Z* }5 c- x/ U分为两种情况
7 L+ f* S7 s- b; M/ B \(1):而且EC和SYS合用一个SPI ROM.
- q6 i4 ~+ z! X% r9 c( t" _: o在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.6 }! A# v# O# Q& J) }8 L
在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是& d$ m* A5 N$ P5 u
留给EC ROM使用,所以不会去flash.: p$ R# D( Y' }, P9 i3 ?
反之,如果是flash EC ROM.
R) `# X% H+ x1 E% A4 m/ GEC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。
* u* e7 R- c! Z3 k- [ `, A可以用intel的fpt.exe来实现这种思想。
# u! e+ @9 h5 o) X, c0 Sfpt -f file.rom -a 0x80000
( I6 f! }* d. e1 C1 L就是跑过前面的512K来刷file.rom到SPI ROM中。
2 C) f, F. o @! V0 tfpt -f ec.rom -a 0x0 -l 0x80000# \4 ?) T# n+ N4 p
就是将EC.rom写入SPI开始的地方,长度是512K
, l$ C3 i2 G0 ~! i! L我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC$ G; J7 m# \& u2 G2 w5 _8 x. _
它自已还是会影射到0xFFFFFFF0地方开始执行。
5 k/ K; q1 u; n. u. c/ kEC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum): h9 y1 ^3 R% [* o
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读& G, Z. G9 q( R) `5 `" z- ?
SYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。 J. a' F4 \" ^, W
: B% c* X/ c/ v: i+ v u
第二种情况:
, N# l3 {! T- J0 i! V; E/ qEC和SYS是分开的。 p6 z- z6 x0 Q9 C
那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。
) T/ n8 y- S8 \3 a! ^calpella平台就是这样子的(一定要这样子)# i8 r# r' ?# e: i) U& e+ `9 {
SYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。
+ V: q* Q3 c1 X, W- I9 ~
+ q+ z/ u( Y: w% hSYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|