|
|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.9 E. E1 l6 j$ @3 P' i
分为两种情况
1 P7 N, d. d- R(1):而且EC和SYS合用一个SPI ROM.
4 [3 z8 N, H7 g9 R3 J/ P" x3 k在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.5 |) B6 F; ?. x7 v! Z
在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是! X6 `' x& g# Z4 W9 H: o
留给EC ROM使用,所以不会去flash.& E& {# r; {8 l0 r2 V6 U7 T* Q& l
反之,如果是flash EC ROM.
5 G- ~ Q0 H7 f& U3 ^EC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。
% E6 H" ?; i3 w7 L' {0 b) U可以用intel的fpt.exe来实现这种思想。
. f# P4 V# R4 L' a' G3 C8 Efpt -f file.rom -a 0x80000/ O% l& ?4 m2 N" w7 X$ v
就是跑过前面的512K来刷file.rom到SPI ROM中。
5 t1 F! d8 O. k+ `7 Tfpt -f ec.rom -a 0x0 -l 0x80000
& @9 F9 ^( k7 ?, ~" _& W$ v* g' W就是将EC.rom写入SPI开始的地方,长度是512K, B+ c7 i, Y) t( d1 h
我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC
' c4 G: j: U/ u; `+ [* P% ~% e它自已还是会影射到0xFFFFFFF0地方开始执行。
: Z2 P' B& J/ \! W( gEC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)
3 ~, G/ O- W: M如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读3 N1 K4 h; h' |: [2 ^
SYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。2 Q3 F& [# C/ U& s+ W
" S2 }! O4 O0 Q& _8 }第二种情况:
S0 D7 U/ W+ P8 u- ?) e) ~0 ZEC和SYS是分开的。
/ r( C+ t) q V' d; O那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。3 S9 W, P! u! f
calpella平台就是这样子的(一定要这样子)
8 _- m: p" m( ?' ^6 FSYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。* n9 q# }' b# [' T+ X9 r
/ H! B3 @7 e, J+ ?. }5 X* c- @
SYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|