BIOS实战之EC MIRROR

本文探讨了SPI ROM在EC和BIOS中的共用设计方案,包括EC与BIOS的存储位置规则,SMT自动镜像EC的过程,以及如何确认EC固件在BIOS ROM中的正确位置。同时,文章提及了ENE和ITE EC在BIOS刷新时的自动镜像流程。
摘要由CSDN通过智能技术生成

一、SPI ROM HW 设计方案
当前EC FW与BIOS基本上是共用一颗SPI ROM的设计方案,如下电路图所示,SPI ROM的CS0_N,MISO,MOSI,CLK分别连接到了CPU(Page 5)和EC(Page 50)上。还有一种方案就是EC与BIOS单独放在不同的SPI ROM中,此种方案当前基本不采用,因此就不做介绍了。

 

二、BIOS包EC规则
不可以破坏BIOS本身的基本结构,如不可以包在一头一尾,不可以占用TXE FW,NV,BOOT Block。

 

 需要注意ENE EC FW放在ROM的位置需要能够整除16K。

需要注意ITE EC FW放在ROM的位置需要能够整除 4K。

三、SMT Auto Mirror EC
SMT时打在板子上的EC Chip会自带一个默认的EC FW(如ENE的叫Search.bin),但此EC并不提供完整的功能,主要目的就是用于从SPI ROM中Mirror正确的EC FW。因此SMT的板子第一次上电首先就是先Mirror EC,然后才会开机。故提供给SMT生产用的BIOS一定得包了EC FW,并且需要确认EC FW在BIOS ROM的位置无误。

四、如何确认EC FW在BIOS ROM位置正确
在BIOS ROM中搜索EC FW的开头关键字,如ENE EC FW开头是80 0E 13 00或搜索关键词ENE,就可以定位到对应的位置,如下左图为BIOS ROM的,并且EC FW位置为0x280000,并且0x280000是可以整除0x4000,因此位置无误。如下右图为EC FW开头部分。

五、刷BIOS时Auto Mirror EC(ENE)
代码省略。。。。。。

六、刷BIOS时Auto Mirror EC(ITE)
目前ITE的EC mirror流程基本和ENE差不多,都是在刷BIOS前或刷完BIOS最后一步给EC下一个Command(即给EC置一个Flag,具体会需要EC给出相应方案),刷完BIOS就做关机动作,此时EC就会去执行Mirror EC的动作。
————————————————
版权声明:本文为CSDN博主「潇洒Anthony」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011397314/article/details/111252938

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支持当前流行的八脚SPI Flash, 特别适用于主板BIOS的DIY,无需购买昂贵的专业的编程器.本人刚刚用它恢复了我的华硕本本的BIOS,感觉比较方便,特此分享.只需稍微懂一些电路知识,不要把引脚弄错,任何人都可以DIY,再也不用担心主板不启动.该编程器只需连接四只200-400欧姆的电阻(图中为150ohm,但是不是很稳定,我是用四只270ohm的电阻成功的),一个并口连接公头,电源直接用普通干电池,3.3V的Flash系列用两节1.5V的干电池串联即可省去原理图中的1000µF电容,5V系列3节电池即可,连接前测一下,保证电压没有超过datasheet中的允许值.连接时最好能够使用转DIP的卡座,这样会省很多时间,而且也容易接错引脚.终端程序使用打印机接口模拟SPI,可以识别并支持下列SPI芯片: Atmel: AT26DF041 (512kB) AT26DF081 (1MB) AT26DF081A (1MB) AT26DF161 (2MB) AT26DF161A (2MB) AT26DF321 (4MB) Intel: QB25F016S33B8 (2MB) QB25F032S33B8 (4MB) QB25F064S33B8 (8MB) Macronix: MX25L1005 (128kB) MX25L2005 (256kB) MX25L4005 (512kB) MX25L8005 (1MB) MX25L1605 (2MB) MX25L3205 (4MB) MX25L6405 (8MB) Spansion: S25FL004A (512kB) S25FL008A (1MB) S25FL016A (2MB) S25FL032A (4MB) S25FL064A (8MB) S25FL128P (16MB) SST: SST25VF010 (128kB) SST25VF020 (256kB) SST25VF040 (512kB) SST25VF040B (512kB) SST25VF080A (1MB) SST25VF080B (1MB) SST25VF016 (2MB) SST25VF032 (4MB) SST25VF064 (8MB) SST25VF128 (16MB) SST26VF016 (2MB) SST26VF032 (4MB) SST26VF064 (8MB) ST Microelectronic: M25P10 (128kB) M25P20 (256kB) M25P40 (512kB) M25P80 (1MB) M25P16 (2MB) M25P32 (4MB) M25P64 (8MB) M25P128 (16MB) Winbond: W25X10 (128kB) W25X20 (256kB) W25X40 (512kB) W25X80 (1MB) W25X16 (2MB) W25X32 (4MB) W25X64 (8MB) 但是终端程序运行于DOS模式或者W2K, XP, Vista下的模拟DOS环境. 几个重要的命令行参数说明(方便不懂e文的)> 1. *** /i (如果芯片连接正确就会显示芯片的型号等信息,验证正确与否) 2. *** /d amibios.bin (自动备份SPI芯片中的内容到当前文件夹中的amibios.bin文件中,以备不时之需) 3. *** /e (清空芯片内容) 4. *** /p ami.bios (把名为ami.bios的文件写入SPI芯片中) 顺便罗嗦一句,操作时别忘了防静电,小心永久损坏芯片.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值