|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.' R: W; [7 O3 O
分为两种情况
5 z) _. d0 m# w. q& e* U! c# P" B(1):而且EC和SYS合用一个SPI ROM.
0 o9 X* O7 h" `! y, J( c6 _' X9 }在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.
: n9 l& e* c5 e. p2 C& T* {在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是 Z, V1 X( a# Y( ~) S
留给EC ROM使用,所以不会去flash.
& D$ q. E7 X$ u4 u. I! b反之,如果是flash EC ROM.- J5 N: @" t6 [# Y9 a" g+ g* F
EC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。8 z, S2 o5 ~) N4 t: z
可以用intel的fpt.exe来实现这种思想。* F) H! w( _2 W: i2 n! p- q" H
fpt -f file.rom -a 0x800005 f6 @9 O& g# J; @
就是跑过前面的512K来刷file.rom到SPI ROM中。
6 p( ~2 ?. F* g3 \' ~fpt -f ec.rom -a 0x0 -l 0x80000" E) g' X* }8 H* ^, c# Z$ G8 c" H
就是将EC.rom写入SPI开始的地方,长度是512K' Y) n$ u! K- [- Z4 X; t& S0 N2 ~
我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC% n) X8 {7 m# }
它自已还是会影射到0xFFFFFFF0地方开始执行。/ Q! @& q: q' r6 v+ V/ C
EC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)+ V2 m. A+ T: a% X6 p& Y% r6 w
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读
# G2 |0 c$ o. z- ]4 m0 YSYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。
m- C/ W5 T* Y6 V$ d5 d( @
+ K, {# K6 n) h5 P& @5 ~2 p第二种情况:+ K5 z. _& t5 T0 S
EC和SYS是分开的。
$ F! f2 n- _& v. j& Q那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。
2 p& O, T+ |9 b# C4 j: {5 Kcalpella平台就是这样子的(一定要这样子)
, P5 k; a+ G$ F+ ?) Y: R# b9 i/ NSYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。
( g) n% i# u* ]% Q* @; Y1 y. v
, D! c1 A( y- T) x CSYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|