|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.
1 b( ?- U+ q8 B P: b0 w$ |分为两种情况
, p; g) _: U, Q4 z(1):而且EC和SYS合用一个SPI ROM.
5 V; Z: }2 g1 ]8 O6 h5 G在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.7 R7 y1 H# l2 e! g9 l5 {7 S9 E
在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是$ ^3 y% h/ a% D% _& i
留给EC ROM使用,所以不会去flash.$ t+ \8 u$ h5 [- G( o
反之,如果是flash EC ROM.3 @3 T. L. x* b) h% H
EC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。( F: Z% F$ s! H0 `/ o0 F9 }8 Z
可以用intel的fpt.exe来实现这种思想。# l3 \+ ?' E7 {: k6 Y7 O+ q
fpt -f file.rom -a 0x80000; I" H0 i- b5 y- e! E5 ?$ Q
就是跑过前面的512K来刷file.rom到SPI ROM中。
& r/ A! {$ [' M. D. Ffpt -f ec.rom -a 0x0 -l 0x80000: q5 ^5 {% T* q( {( K# f
就是将EC.rom写入SPI开始的地方,长度是512K% I7 g& n# ~0 d: m
我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC
* V, L4 }! k" u% N: h9 p它自已还是会影射到0xFFFFFFF0地方开始执行。' S: q L1 d e, @# B# v! v
EC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)1 D8 F+ @" d; y( O
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读
9 D4 t. ]3 N) E/ c! V; A1 PSYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。
5 I' R% W% X9 q+ _8 ?
6 C0 x: a( E; Y第二种情况:
: n; F8 u" s( C& ~EC和SYS是分开的。
0 W4 a7 V N9 ]; x) x" v0 K+ X- V那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。
. G6 X7 `6 e+ U* H" Gcalpella平台就是这样子的(一定要这样子)1 Z; l" r, q. v) d6 K. d \% {
SYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。
, p- u) W9 {( |+ m' P9 R. V+ a, x4 n. @5 N+ F; {
SYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|