BIOS升级方法与流程

文档序号:11233881阅读:670来源:国知局

本发明涉及一种软件升级方法,特别是一种bios升级方法。



背景技术:

在通信设备中,所使用的系统通常都是嵌入式系统,在嵌入式系统中,各系统或模块分工完成一个通信设备的功能。在较复杂的嵌入式系统中都存在bios程序及主机业务程序,bios程序用于系统的启动引导,主机业务程序完成特定的业务功能。bios程序是cpu上电启动的第一段程序,一般采用烧片器将bios程序烧写到rom芯片中,然后将rom芯片贴在单板上,因此,由于bios程序被烧写到rom芯片中,所以bios程序具有硬件特性,不便于升级。

随着intel介入平板电脑,导致pc上面的架构引入到消费性电子设计上,那么bios避免不了的也引入进来。但是intel平台上的平板电脑bios是需要单独的存储介质来存储的,要么就是一部分bios在单独的存储芯片上(spinorflash),一部分在pad的存储介质上。在平时的开发中,调试中我们要么将spinorflash吹下来,放在专门的socket座上使用专门的烧录器来反复的烧录bios,要么就是在板子上引出spi引脚(6根)使用转接头连接到专业的烧录器上烧录完成。可见现有技术存在以下两个缺点:1、需要借助专业的烧录软件,烧录器硬件烧录;2、需要飞线,或者是需要将芯片吹下来完成烧录。



技术实现要素:

针对所提到的问题,本发明提供了bios升级方法,步骤包括:

1)检查是否存在u盘;

2)如检查到存在u盘,则继续检查u盘内是否存在bios升级文件,所述bios升级文件包括64bit的升级文件和32bit的升级文件;

3)如检查到u盘存在系统bios升级文件,则系统判定当前的系统是32bit或是64bit;

4)如判断当前的系统是32bit,则系统运行32bit的升级文件,如判断当前的系统是64bit,则系统运行64bit的升级文件;

5)系统进入到相应的升级文件后,读取升级文件内容并写入存储器中;

6)重启系统。

优选方案是:所述bios升级文件是在uefi架构基础上来实现的。

uefi为bios提供了标准化的接口规范,相比于传统bios,具有兼容性好,更容易实现容、纠错,有效缩短了系统研发时间;降低了核心代码与驱动之间的耦合度,具有更好的可扩展性和可移植性等优点。

优选方案是:所述bios升级文件是代码生成的基于insydeuefi架构的spi驱动源码或者带有emmc读和写的driver。

优选方案是:bios升级文件分为第一部分和第二部分,如果承载bios的存储器尺寸可以容纳第一部分和第二部分,则将第一部分和第二部分合并存储到所述存储器内,如果承载bios的所述存储器尺寸不能容纳全部时,那么只将第一部分放在spinorflash里面,第二部分放在emmc中。

优选方案是:步骤5中,系统进入到相应的升级文件后,利用uefi的spi驱动接口或者是emmc驱动接口去读取bios升级文件,然后在写入到相应的spinorflash或者是emmc中。

spi驱动接口是在cpu和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比i2c总线要快,速度可达到几mbps。

emmc(embeddedmultimediacard)为mmc协会所订立的内嵌式存储器标准规格,主要是针对手机产品为主。emmc的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的nand供应商来说,具有同样的重要性。

优选方案是:bios升级文件存储在u盘的根目录下。

本发明通过系统检测到u盘内的bios升级文件,然后从u盘读取bios文件,然后完成升级bios工作。本发明的方法不使用烧录器和不依赖具体硬件实现bios升级方法,使bios程序的升级变得简单有效,从而极大的提高了通信设备的可维护性以及降低了维护成本。

附图说明

图1为本发明实施例的流程示意图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。

本发明提供了一种bios升级方法,步骤包括:

1)检查是否存在u盘;

2)如检查到存在u盘,则继续检查u盘内是否存在bios升级文件,所述bios升级文件包括64bit的升级文件和32bit的升级文件;

3)如检查到u盘存在系统bios升级文件,则系统判定当前的系统是32bit或是64bit;

4)如判断当前的系统是32bit,则系统运行32bit的升级文件,如判断当前的系统是64bit,则系统运行64bit的升级文件;

5)系统进入到相应的升级文件后,读取升级文件内容并写入存储器中;

6)重启系统。

所述bios升级文件是在uefi架构基础上来实现的。

uefi为bios提供了标准化的接口规范,相比于传统bios,具有兼容性好,更容易实现容、纠错,有效缩短了系统研发时间;降低了核心代码与驱动之间的耦合度,具有更好的可扩展性和可移植性等优点。

所述bios升级文件是代码生成的基于insydeuefi架构的spi驱动源码或者带有emmc读和写的driver。

bios升级文件分为第一部分和第二部分,如果承载bios的存储器尺寸可以容纳第一部分和第二部分,则将第一部分和第二部分合并存储到所述存储器内,如果承载bios的所述存储器尺寸不能容纳全部时,那么只将第一部分放在spinorflash里面,第二部分放在emmc中。

在步骤5中,系统进入到相应的升级文件后利用uefi的spi驱动接口或者是emmc驱动接口去读取bios升级文件,然后在写入到相应的spinorflash或者是emmc中。

spi接口是在cpu和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比i2c总线要快,速度可达到几mbps。

emmc(embeddedmultimediacard)为mmc协会所订立的内嵌式存储器标准规格,主要是针对手机产品为主。emmc的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的nand供应商来说,具有同样的重要性。

bios升级文件存储在u盘的根目录下。

实施例

如图1所示,本发明提供了一种bios升级方法,步骤包括:

1)bios升级文件的制作

将64bit的spidriver或者带有emmc读和写的driver包进被升级的bios文件中,bios文件的名称为“usbautoupdate64.efi”,“db64”是usbautoupdate64.efi文件的开头标示,usbautoupdate64.efi是代码生成的基于insydeuefi架构的spi驱动源码或者带有emmc读和写的driver,该部分是在64位编译其环境下编译出来的,因为被升级的系统不确定是64bit的还是32bit的,所以我们在这里将64bit的spidriver或者带有emmc读和写的driver包进被升级的bios文件中,以便在64bit环境下的机器上升级bios。

将32bit的spidriver或者带有emmc读和写的driver包进被升级的bios文件中,bios文件的名称为“usbautoupdate32.efi”,“db32”是usbautoupdate32.efi文件的开头标示,usbautoupdate32.efi跟usbautoupdate64.efi生成的源码一样,只是在32bit编译环境下编译出来的spidriver或者带有emmc读和写的driver;以便在32bit环境下升级32位的bios。

“$db$bios”是升级bios文件的开头标示,“stage1,stage2”是bios的升级文件的2个部分,之所以分1和2只是用来看承载bios的spinorflash尺寸,如果尺寸够大就将两个文件合并在一起放进去;如果norflash不够大,就将bios文件分成2部分将第1部分放在norflash里面,第二部分放在手机的存储器中(emmc)。

2)将bios升级文件存放到u盘的dbbiosupdate目录;

3)检查是否存在u盘;

4)如检查到存在u盘,则继续检查u盘内是否存在dbbiosupdate目录;

5)如果存在再查看该目录下是否存在名称为dbbiosupdatebyusb.fvbios升级文件

6)如果存在,系统将查看当前的系统是32bit还是64bit,然后依据系统运行的环境跳转到相应标示位“db64”或“db32”进入到“usbautoupdate64.efi”或“usbautoupdate32.efi”文件内;

7)系统寻找升级bios文件的开头标示“$db$bios”,然后利用uefi的spi驱动接口或者是emmc的驱动读接口去将文件后面bios的实体部分读取出来,然后在写入到相应的spinorflash或者是emmc中;

8)重启系统。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1