一种国产计算机平台烧录ec固件的方法

文档序号:6639131阅读:2454来源:国知局
一种国产计算机平台烧录ec固件的方法
【专利摘要】本发明公开了一种国产计算机平台烧录EC固件的方法,所述方法包括在EC代码中,添加功能接口FlashEC,往上接收ACPI命令,往下按照命令操作SPIFLASH;在EC代码中添加一拷贝函数,在EC片上RAM中找出一片内存,将功能接口函数从FLASH拷贝到EC片上RAM中,拷贝完后,直接跳入EC片上RAM的FlashEC入口处执行;运行一个在EFIShell环境中运行的烧录应用程序,负责与EC通信,与EC中的FashEC()交互,负责读取EC二进制文件,发送命令和发送数据,将其数据传给FlashEC。本发明能够在国产平台下的EFISHELL环境下,将软件烧录工具放在移动磁盘中对EC进行烧录,这样既省去了拆机的麻烦,而且大大节约了烧录EC固件所花费的时间。
【专利说明】一种国产计算机平台烧录EC固件的方法

【技术领域】
[0001]本发明涉及EC固件【技术领域】,具体涉及一种国产计算机平台烧录EC固件的方法。技术背景
[0002]现如今,国产平台的笔记本开始慢慢兴起。在使用龙芯,申威等国产CPU制造笔记本时,会使用一颗叫做EC的芯片。EC芯片是除CPU,南北桥外,主板上另外一颗比较重要的芯片。使用EC可以做内置键盘,触摸板,电池管理,风扇控制,电源时序等功能。
[0003]在X86计算机行业内,EC的软件烧录均在DOS下进行。但因为国产CPU不能运行DOS系统,所以EC厂商提供的软件烧录工具也无法使用。所以只能选择使用烧录器烧录或使用调试工具JTAG烧录。使用烧录器烧录,要首先拆开机壳,然后取出主板上的FLASH,使用相对应的烧录器驱动,配合烧录器来烧写。使用JTAG烧录,要首先将机壳打开,把调试机和目标主板连接好,然后使用EC JTAG的驱动软件来烧写。无论选择使用烧录器还是选择JTAG,在更新EC固件时,都无法避免地要拆开机器,露出主板,然后再烧录。拆机需要对机器机构有所了解,即使了解机器机构,也要花费一定的时间来拆开机壳。这样就造成了人力的浪费和不必要的麻烦。


【发明内容】

[0004]本发明要解决的技术问题是:本发明为了解决这种麻烦,写了一个国产平台下的软件烧录工具,能够在国产平台下的EFI SHELL环境下,将软件烧录工具放在移动磁盘中对EC进行烧录,这样既省去了拆机的麻烦,而且大大节约了烧录EC固件所花费的时间。
[0005]本发明需要两部分功能的实现,一部分要在EC代码中添加接口代码(LPC通信和SPI通信),另一部分要在EFI SHELL下写一烧录应用程序工具。
[0006]本发明所采用的技术方案为:
一种国产计算机平台烧录EC固件的方法,所述方法包括在EC代码中,添加功能接口FlashEC,往上接收ACPI命令,往下按照命令操作SPI FLASH ;
在EC代码中添加一拷贝函数,刷写程序运行时,EC功能接口函数不能运行在EC FLASH中,所以要在EC片上RAM中找出一片内存,将功能接口函数从FLASH拷贝到EC片上RAM中,拷贝完后,直接跳入EC片上RAM的FlashEC入口处执行;
运行一个在EFI Shell环境中运行的烧录应用程序,负责与EC通信,与EC中的FashEC O交互,负责读取EC 二进制文件,发送命令和发送数据,将其数据传给FlashEC。
[0007]所述数据指EC固件内容。
[0008]所述命令包括芯片擦除命令,扇区校验命令,扇区擦除命令,页编程命令以及以CS电平拉低,CS电平拉高等。
[0009]所述方法中,EC烧录接口的流程为:
1)启动EC;
2)进入烧写模式; 3)禁止EC所有中断,将EC烧写代码都FLASH上拷到RAM中,并将程序控制权交给烧写代码;
4)判断是否有命令送达;
5)判断是否结束命令;
6)当选择否时,执行命令并重复步骤4;
7)当选择是时,结束。
[0010]所述烧录应用程序的流程为:
O开始,发送FLASH设备检测领命,读取设备型号;
2)读取配置文件,确定相应指令所对应的指令码;
3)选择打印机功能选项:1、下载FLASH数据,2、快速编程FLASH,3全编程FLASH;
4)选择I,创建信文件,发送命令,并保存至文件中,步骤11)
5)选择2,打开要烧录的文件,并读取文件大小,计算其占用的扇区数,然后从第一个扇区开始校验并烧录;
6)判断扇区全部是否全部烧录完,如是,则步骤11)
7)如否,则进行扇区校验,判断FLASH与文件内容是否一致,如是,则重复步骤6);
8)如否,则进行扇区擦除,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤6);
6)选择3,打开要烧录的文件,并读取文件大小,计算其占用的扇区数;
7)进行芯片擦除;
8)从第一个扇区开始校验并烧录;
9)判断扇区全部是否全部烧录完,如是,则步骤11)
10)如否,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤9);
11)程序结束。
[0011]本发明的有益效果为:本发明能够在国产平台下的EFI SHELL环境下,将软件烧录工具放在移动磁盘中对EC进行烧录,这样既省去了拆机的麻烦,而且大大节约了烧录EC固件所花费的时间。

【专利附图】

【附图说明】
[0012]图1为本发明EC烧录接口流程图;
图2为本发明烧录应用程序流程图。

【具体实施方式】
[0013]下面参照附图所示,通过【具体实施方式】对本发明进一步说明:
一种国产计算机平台烧录EC固件的方法,所述方法包括在EC代码中,添加功能接口FlashEC,往上接收ACPI命令,往下按照命令操作SPI FLASH ;因为EC固件存放在SPI FLASH中,所以在EC代码中,加入操作SPI FLASH的代码,包括芯片的擦除,扇区的校验以及页编程;同时还要加入与HOST端通信的接口(本程序使用0x62/0x66端口)代码。
[0014]为了顺利进行EC固件更新,还要把这两部分功能的代码从SPI FLASH上拷贝到EC片上RAM中,这样可以让这两部分功能代码运行的同时,不影响SPI FLASH的更新。在EC代码中添加一拷贝函数,刷写程序运行时,EC功能接口函数不能运行在EC FLASH中,所以要在EC片上RAM中找出一片内存,将功能接口函数从FLASH拷贝到EC片上RAM中,拷贝完后,直接跳入EC片上RAM的FlashEC入口处执行;
运行一个在EFI Shell环境中运行的烧录应用程序,负责与EC通信,与EC中的FashEC O交互,负责读取EC 二进制文件,发送命令和发送数据,将其数据传给FlashEC。
[0015]所述数据指EC固件内容。
[0016]所述命令包括芯片擦除命令,扇区校验命令,扇区擦除命令,页编程命令以及以CS电平拉低,CS电平拉高等。
[0017]如图1所示,所述方法中,EC烧录接口的流程为:
1)启动EC;
2)进入烧写模式;
3)禁止EC所有中断,将EC烧写代码都FLASH上拷到RAM中,并将程序控制权交给烧写代码;
4)判断是否有命令送达;
5)判断是否结束命令;
6)当选择否时,执行命令并重复步骤4;
7)当选择是时,结束。
[0018]如图2所不,所述烧录应用程序的流程为:
O开始,发送FLASH设备检测领命,读取设备型号;
2)读取配置文件,确定相应指令所对应的指令码;
3)选择打印机功能选项:1、下载FLASH数据,2、快速编程FLASH,3全编程FLASH;
4)选择I,创建信文件,发送命令,并保存至文件中,步骤11)
5)选择2,打开要烧录的文件,并读取文件大小,计算其占用的扇区数,然后从第一个扇区开始校验并烧录;
6)判断扇区全部是否全部烧录完,如是,则步骤11)
7)如否,则进行扇区校验,判断FLASH与文件内容是否一致,如是,则重复步骤6);
8)如否,则进行扇区擦除,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤6);
6)选择3,打开要烧录的文件,并读取文件大小,计算其占用的扇区数;
7)进行芯片擦除;
8)从第一个扇区开始校验并烧录;
9)判断扇区全部是否全部烧录完,如是,则步骤11)
10)如否,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤9);
11)程序结束。
[0019]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种国产计算机平台烧录EC固件的方法,其特征在于:所述方法包括在EC代码中,添加功能接口 FlashEC,往上接收ACPI命令,往下按照命令操作SPI FLASH ;在EC代码中添加一拷贝函数,在EC片上RAM中找出一片内存,将功能接口函数从FLASH拷贝到EC片上RAM中,拷贝完后,直接跳入EC片上RAM的FlashEC入口处执行;运行一个在EFI Shell环境中运行的烧录应用程序,负责与EC通信,与EC中的FashECO交互,负责读取EC 二进制文件,发送命令和发送数据,将其数据传给FlashEC。
2.根据权利要求1所述的一种国产计算机平台烧录EC固件的方法,其特征在于:所述数据指EC固件内容。
3.根据权利要求1所述的一种国产计算机平台烧录EC固件的方法,其特征在于:所述命令包括芯片擦除命令,扇区校验命令,扇区擦除命令,页编程命令以及以CS电平拉低,CS电平拉高。
4.根据权利要求1、2或3所述的一种国产计算机平台烧录EC固件的方法,其特征在于,所述方法中,EC烧录接口的流程为: 1)启动EC; 2)进入烧写模式; 3)禁止EC所有中断,将EC烧写代码都FLASH上拷到RAM中,并将程序控制权交给烧写代码; 4)判断是否有命令送达; 5)判断是否结束命令; 6)当选择否时,执行命令并重复步骤4; 7)当选择是时,结束。
5.根据权利要求1、2或3所述的一种国产计算机平台烧录EC固件的方法,其特征在于,所述烧录应用程序的流程为: 1)开始,发送FLASH设备检测领命,读取设备型号; 2)读取配置文件,确定相应指令所对应的指令码; 3)选择打印机功能选项:1、下载FLASH数据,2、快速编程FLASH,3全编程FLASH; 4)选择1,创建信文件,发送命令,并保存至文件中,步骤11) 5)选择2,打开要烧录的文件,并读取文件大小,计算其占用的扇区数,然后从第一个扇区开始校验并烧录; 6)判断扇区全部是否全部烧录完,如是,则步骤11) 7)如否,则进行扇区校验,判断FLASH与文件内容是否一致,如是,则重复步骤6); 8)如否,则进行扇区擦除,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤6); 6)选择3,打开要烧录的文件,并读取文件大小,计算其占用的扇区数; 7)进行芯片擦除; 8)从第一个扇区开始校验并烧录; 9)判断扇区全部是否全部烧录完,如是,则步骤11) 10)如否,通过PageProgram,将文件内容烧录到当前扇区,然后重复步骤9); 11)程序结束。
【文档编号】G06F9/445GK104461644SQ201410786314
【公开日】2015年3月25日 申请日期:2014年12月18日 优先权日:2014年12月18日
【发明者】赵龙伟, 陈乃阔 申请人:山东超越数控电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1