|
|
发表于 2009-6-17 21:28:27
|
显示全部楼层
你所指的BIOS应该是SYS BIOS吗.% R* V' F1 x, y- @
分为两种情况
: ^% d3 _) H5 }4 I% k4 B/ E$ z# k U q(1):而且EC和SYS合用一个SPI ROM.$ Q3 ]4 |% Q( u- A# y: f
在flash sys bios时EC什么也不用做,虽然EC和SYS共用一个SPI ROM.
2 A! \' p# L" Y: ]在BIOS是有定义要flash的SPI ROM的位置,事先BIOS已经知道那几个Block是
; O+ t: s% z7 H6 N @/ Y0 R/ R( O: y留给EC ROM使用,所以不会去flash.
3 ]& a$ C. A; j0 p; l% K0 M反之,如果是flash EC ROM.
# M3 O1 z9 B% xEC的flash tool也知道自已应该把Code写到那个block的SPI ROM中。) r9 @# O; N, [( v
可以用intel的fpt.exe来实现这种思想。8 u6 r2 ^, r0 l' p! e" S0 e
fpt -f file.rom -a 0x80000
. Q9 t' y* p/ Q0 `- z就是跑过前面的512K来刷file.rom到SPI ROM中。
$ \2 Q* J. u2 v, Qfpt -f ec.rom -a 0x0 -l 0x80000
& [, S# j- G* T5 j1 Q' c- |就是将EC.rom写入SPI开始的地方,长度是512K
: A9 y$ D( t6 E) }7 P' R) i我看到的SYSBIOS是在开始的地方,地址0x0留64KB的空间给EC9 Q- |6 f' |$ G& x6 R
它自已还是会影射到0xFFFFFFF0地方开始执行。8 w2 O9 x' o" A( L
EC ROM可以当然SYS BIOS中的一个PCI设备的ROM来看待(当然不会被enum)" M; E7 I$ p2 v) ?+ [( g+ r8 d+ D
如果EC的位置不会在第一位,ITE的也不知道自已要跑到什么地方去读
7 [7 p p ^. e' I3 qSYS是从BIOS最后的地方开始执行,EC是从最头开始执行,各取所需。
* B7 T3 e9 N- D; |$ L- u4 s# o# B( O( ~" {4 |+ M
第二种情况:, K& t' {+ A& I( [& B
EC和SYS是分开的。
! l2 k( R: _$ h2 G那就是各玩各的,你想怎么刷就怎么刷,两者是独立的。2 {7 B) Z- s- W8 N# z
calpella平台就是这样子的(一定要这样子): }$ m7 v0 @% }8 g: o, f
SYSBIOS要留出512K的ME和descriptor空间,没有多少空间给EC用了。
5 J) V9 f( e* f: ?/ ~! n1 F- ?6 [2 k9 h, |0 n, X2 V* T
SYS怎么知道要从SPI来读SYSBIOS rom,是由PCH的硬联线决定的。 |
|