UFS固件的升级方法、终端及计算机可读存储介质与流程

文档序号:14835376发布日期:2018-06-30 12:10阅读:799来源:国知局
本发明涉及智能终端
技术领域
:,尤其涉及一种UFS固件的升级方法、终端及计算机可读存储介质。
背景技术
::随着存储技术的不断发展,UFS(UniversalFlashStorage,通用闪存存储)作为手机、平板电脑等终端中一种比较新型存储介质,使用频率越来越高。其中存放有固件(也即Firmware),当固件出现漏洞(bug)时,就需要升级该固件到新的版本,以对bug进行修复。如果单独为了UFS,而升级该固件,需要投入大量的人力以及下载固件的工具。而为了节省人力物力,可以把UFS固件新版本合入到手机软件中,通过修改终端软件的方式来对bug进行修复。终端下载完终端软件,在开机时会做UFS的固件升级,但当出现新bug,需要升级固件时,则又需要重新修改软件,编译新的终端软件并测试,需要投入的人力成本大。技术实现要素:本发明的主要目的在于提供一种UFS固件的升级方法、终端及计算机可读存储介质,旨在解决现有技术中UFS固件升级所需要的人力物力成本高的问题。为实现上述目的,本发明提供的一种UFS固件的升级方法,所述UFS固件的升级方法包括以下步骤:获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。可选地,所述获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息的步骤包括:检测终端预设分区中是否存在配置文件,当终端预设分区中存在配置文件时,获取配置文件中的固件配置型号和固件配置版本号,以及终端所使用的当前UFS固件的当前固件型号和当前固件版本号。可选地,所述将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置型号和当前固件型号对比,当固件配置型号和当前固件型号一致时,将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件。可选地,所述将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置版本号和当前固件版本号对比,当固件配置版本号和当前固件版本号不一致时,确定配置文件中所配置的待升级版本号;判断当前固件版本号是否为待升级版本号,若当前固件版本号为待升级版本号时,判定当前UFS固件为待升级UFS固件。可选地,所述若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级的步骤包括:若当前UFS固件为待升级UFS固件,判断预设分区中是否存在升级文件;当预设分区中存在升级文件时,获取所述升级文件,并根据所述升级文件对当前UFS固件进行升级。可选地,所述获取终端预设分区中的配置文件信息的步骤之前包括:接收更新指令,并根据更新指令将配置文件以及升级文件下载到预设分区。可选地,所述根据更新指令将配置文件信息以及升级文件下载到预设分区的步骤之后包括:当检测到终端系统接收到启动指令时,执行获取终端预设分区中的配置文件信息的步骤。可选地,所述对当前UFS固件进行升级的步骤之后包括:判断当前UFS固件升级是否成功,若当前UFS固件升级成功,则终端所使用的当前UFS固件版本升级为新版本;若当前UFS固件升级失败,则终端继续使用当前UFS固件版本。此外,为实现上述目的,本发明还提出一种UFS固件的升级终端,所述UFS固件的升级终端包括:存储器、处理器、通信总线以及存储在所述存储器上的UFS固件的升级程序:所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行所述UFS固件的升级程序,以实现以下步骤:获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。本发明技术方案的UFS固件的升级方法,通过将获取的终端预设分区中的配置文件信息和终端所使用的当前UFS固件的UFS固件信息进行对比,判断当前UFS固件是否为需要进行升级的待升级UFS固件;若当前UFS固件为需要升级的待升级UFS固件时,则获取预设分区中的升级文件,通过此升级文件对当前UFS固件进行升级。本方案将配置文件信息和升级文件设置在预设分区中,当通过配置文件信息判断出当前UFS固件需要升级时,通过升级文件即可进行升级,避免单独为了UFS,对固件或终端软件进行升级,节省了人力和物力成本,提高了升级效率。附图说明图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;图2为如图1所示的移动终端的无线通讯系统示意图;图3为本发明UFS固件的升级方法第一实施例的流程示意图;图4为本发明UFS固件的升级方法第二实施例的流程示意图;图5为本发明UFS固件的升级方法第三实施例的流程示意图;图6为本发明UFS固件的升级方法具体实施例的流程示意图;图7为本发明UFS固件的升级方法场景示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。请参阅图1,其为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:RF(RadioFrequency,射频)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110(例如CPU)、通信总线1002以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如增加用户接口、网络接口、摄像头等。其中用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。下面结合图1对移动终端的各个部件进行具体的介绍:射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA2000(CodeDivisionMultipleAccess2000,码分多址2000)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、TD-SCDMA(TimeDivision-SynchronousCodeDivisionMultipleAccess,时分同步码分多址)、FDD-LTE(FrequencyDivisionDuplexing-LongTermEvolution,频分双工长期演进)和TDD-LTE(TimeDivisionDuplexing-LongTermEvolution,分时双工长期演进)等。WiFi属于短距离无线传输技术,移动终端通过WiFi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块102,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。音频输出单元103可以在移动终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或WiFi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。A/V输入单元104用于接收音频或视频信号。A/V输入单元104可以包括图形处理器(GraphicsProcessingUnit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或WiFi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。移动终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在移动终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(LiquidCrystalDisplay,LCD)、有机发光二极管(OrganicLight-EmittingDiode,OLED)等形式来配置显示面板1061。用户输入单元107可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现移动终端的输入和输出功能,具体此处不做限定。接口单元108用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端100和外部装置之间传输数据。存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器110是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。通信总线1002用于实现处理器110和存储器109之间的连接通信。存储器109可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器109可选的还可以是独立于前述处理器110的存储装置。移动终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管图1未示出,移动终端100还可以包括蓝牙模块等,在此不再赘述。如图1所示,作为一种计算机存储介质的存储器109中可以包括操作系统、网络通信模块以及UFS固件的升级程序。操作系统是管理和控制UFS固件的升级终端硬件和软件资源的程序,支持UFS固件的升级程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器109内部各组件之间的通信,以及与UFS固件的升级终端中其它硬件和软件之间通信。在图1所示的UFS固件的升级终端中,处理器110用于执行存储器109中存储的UFS固件的升级程序,实现以下步骤:获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。进一步地,所述获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息的步骤包括:检测终端预设分区中是否存在配置文件,当终端预设分区中存在配置文件时,获取配置文件中的固件配置型号和固件配置版本号,以及终端所使用的当前UFS固件的当前固件型号和当前固件版本号。进一步地,所述将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置型号和当前固件型号对比,当固件配置型号和当前固件型号一致时,将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件。进一步地,所述将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置版本号和当前固件版本号对比,当固件配置版本号和当前固件版本号不一致时,确定配置文件中所配置的待升级版本号;判断当前固件版本号是否为待升级版本号,若当前固件版本号为待升级版本号时,判定当前UFS固件为待升级UFS固件。进一步地,所述若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级的步骤包括:若当前UFS固件为待升级UFS固件,判断预设分区中是否存在升级文件;当预设分区中存在升级文件时,获取所述升级文件,并根据所述升级文件对当前UFS固件进行升级。进一步地,所述获取终端预设分区中的配置文件信息的步骤之前,处理器110用于执行存储器109中存储的UFS固件的升级程序,实现以下步骤:接收更新指令,并根据更新指令将配置文件以及升级文件下载到预设分区。进一步地,所述根据更新指令将配置文件信息以及升级文件下载到预设分区的步骤之后,处理器110用于执行存储器109中存储的UFS固件的升级程序,实现以下步骤:当检测到终端系统接收到启动指令时,执行获取终端预设分区中的配置文件信息的步骤。进一步地,所述对当前UFS固件进行升级的步骤之后,处理器110用于执行存储器109中存储的UFS固件的升级程序,实现以下步骤:判断当前UFS固件升级是否成功,若当前UFS固件升级成功,则终端所使用的当前UFS固件版本升级为新版本;若当前UFS固件升级失败,则终端继续使用当前UFS固件版本。本发明UFS固件的升级终端具体实施方式与上述UFS固件的升级方法各实施例基本相同,在此不再赘述。为了便于理解本发明实施例,下面对本发明的移动终端所基于的通信网络系统进行描述。请参阅图2,图2为本发明实施例提供的一种通信网络系统架构图,该通信网络系统为通用移动通信技术的LTE系统,该LTE系统包括依次通讯连接的UE(UserEquipment,用户设备)201,E-UTRAN(EvolvedUMTSTerrestrialRadioAccessNetwork,演进式UMTS陆地无线接入网)202,EPC(EvolvedPacketCore,演进式分组核心网)203和运营商的IP业务204。具体地,UE201可以是上述终端100,此处不再赘述。E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。EPC203可以包括MME(MobilityManagementEntity,移动性管理实体)2031,HSS(HomeSubscriberServer,归属用户服务器)2032,其它MME2033,SGW(ServingGateWay,服务网关)2034,PGW(PDNGateWay,分组数据网络网关)2035和PCRF(PolicyandChargingRulesFunction,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。IP业务204可以包括因特网、内联网、IMS(IPMultimediaSubsystem,IP多媒体子系统)或其它IP业务等。虽然上述以LTE系统为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE系统,也可以适用于其他无线通信系统,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络系统等,此处不做限定。基于上述移动终端硬件结构、通信装置结构,提出本发明UFS固件的升级方法各实施例。参照图3,本发明提供一种UFS固件的升级方法,在UFS固件的升级方法第一实施例中,该UFS固件的升级方法包括:步骤S10,获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;本实施例的UFS固件的升级适用于对使用UFS的终端进行UFS固件升级,UFS(UniversalFlashStorage)是通用闪存存储,终端可以是智能手机、平板电脑、数码相机等消费电子产品,其使用UFS存储各类数据。终端通过调用各分区的数据实现其系统功能,如bootloader分区,boot分区,system分区等分区中的数据。本方案预先设置一用于存储配置文件的预设分区,如分区UFS_FW_Partition,配置文件UFS_FW_upgrade_config_file,配置文件中配置有与UFS固件相关的配置文件信息,如UFS型号、UFS固件的最新版本号等。其配置格式如下:Manufacture=供应商名称,PartNumber=型号,StartVersion=开始版本号,EndVersion=结束版本号,UpGradeVersion=新的版本号,FirmwareFile=新版本文件名。其用于说明哪个供应商的哪个型号的UFS,在哪个版本范围内的固件需要升级到哪个新版本,以及新版本的文件名是什么。因UFS固件比较小,从而此预设分区也较小,不会占用较多的存储空间。终端系统启动时,获取此终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息,UFS固件信息为终端当前所使用UFS固件的参数信息,如UFS的厂商、型号以及UFS固件的版本号等;以通过配置文件信息和UFS固件信息判断是否需要对终端当前所使用的UFS固件进行升级。此外,考虑到终端所使用的UFS型号可能出现故障,需要替换成其他型号的UFS,从而通常终端会配置成支持多种类型的UFS,以备当其使用的UFS型号需要替换时,可选择其他型号的UFS进行替换。对于此终端所支持的多种类型的UFS,此多种UFS固件相关信息均配置在配置文件中。在终端系统启动时,获取终端预设分区中与多种UFS相关的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息,通过将UFS固件信息与多个UFS的配置文件信息对比,判断终端当前所使用的UFS固件是否需要升级。步骤S20,将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;进一步地,在获取预设分区中的配置文件信息和当前UFS固件的UFS固件信息后,将此配置文件信息和UFS固件信息对比,以判断当前UFS固件是否为需要升级的待升级UFS固件。在进行配置文件信息和UFS固件信息对比时,需要在两者UFS的供应商和型号一致的基础上进行,即配置文件中所配置UFS的供应商、型号,和终端当前实际所使用UFS的供应商、型号一致,如果不一致,仅对UFS固件版本进行对比将没有意义。从而先进行两者之间UFS的供应商、型号等硬件信息的对比,再进行UFS固件版本的对比,以确定当前UFS固件是否需要进行升级。当终端支持多种类型的UFS,将所支持的多种类型的UFS固件相关信息均配置到配置文件中,以将终端当前所使用UFS固件的UFS固件信息分别和配置文件中的多个配置文件信息对比。如终端所支持的两种类型的USF固件分别为A和B,其中配置文件中将A的配置文件信息配置为P1,将B的配置文件信息配置为P2;获取到的终端当前所使用的UFS固件A的固件信息为Q1,从而在进行配置文件信息和UFS固件信息对比时,将Q1分别和P1、P2对比。为了对配置文件信息P1、P2进行区分,可对A、B设置表征其唯一性的标识符,如a、b,与A相关的所有信息均携带有标识符a,与B相关的所有信息均携带有标识符b。即A的配置文件信息P1及其UFS固件信息Q1中均携带有标识符a,B的配置文件信息P2及其UFS固件信息Q2中均携带有标识符b。在获取P1、P2以及Q1后,根据标识符a、b,将Q1分别和P1、P2进行对比,确定与UFS固件信息Q1所对应的配置文件信息P1,进一步通过Q1和P1的版本号,判断A、B是否为待升级UFS固件。步骤S30,若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。可理解地,终端在销售之前,为了确保终端的正常使用,开发人员根据终端所使用的UFS编写配置文件,将与UFS对应的供应商、型号、版本号等信息配置成配置文件信息中,同时将版本号对应的固件版本下载到UFS中,使终端实际使用的UFS固件信息和预设分区中的配置文件信息一致。后续随着UFS固件版本的升级,将升级文件发布到网络平台,终端从网络平台获取此升级文件,存储到预设分区中。当终端重启时,读取其中的文件和终端所使用的UFS固件信息进行对比。当对比发现终端所使用的UFS固件已经升级到最新版本,即所使用UFS固件的版本号和配置文件信息中所配置UFS固件的最新版本号一致,则说明UFS固件不需要更新。否则当没有升级到最新版本,则需要对终端所使用的当前UFS固件进行升级,即当前UFS固件为待升级UFS固件。当判断出当前UFS固件为需要升级的待升级UFS固件时,则获取预设分区中的升级文件,通过此升级文件对终端当前所使用的UFS固件进行升级。在终端支持多种类型UFS固件的情况下,若判断出其当前所使用的UFS固件需要升级,则获取与此需要升级的UFS固件所对应的升级文件,对其进行升级;其中升级文件与UFS固件的对应性,同样通过UFS标识符确定。此升级文件可根据需要升级内容的数量确定其为全新的文件,还是对原来UFS固件版本进行修正的文件。当UFS固件版本的漏洞较多、且危险性高,需要升级的内容很多,在原来UFS固件版本上进行修正的工作量大,则可将升级文件设置为全新的UFS固件版本。而当UFS固件版本只存在一些简单漏洞,则升级文件为对原来UFS固件版本进行修正的文件。当预设分区中的升级文件为全新文件,则在对当前UFS固件升级时,直接用此全新的升级文件将原有的UFS固件版本替换;而当预设分区中的升级文件为修正文件时,则在对当前UFS固件升级时,用此修正的升级文件对原有的UFS固件版本进行修正。可在用于修正的升级文件中指明原有UFS固件版本中需要修正的位置信息,修正时,根据此位置信息对原有UFS固件版本进行检测,确定其需要修正的位置。将此需要修正的位置,用升级文件进行替换,以进行修正。本发明技术方案的UFS固件的升级方法,通过将获取的终端预设分区中的配置文件信息和终端所使用的当前UFS固件的UFS固件信息进行对比,判断当前UFS固件是否为需要进行升级的待升级UFS固件;若当前UFS固件为需要升级的待升级UFS固件时,则获取预设分区中的升级文件,通过此升级文件对当前UFS固件进行升级。本方案将配置文件信息和升级文件设置在预设分区中,当通过配置文件信息判断出当前UFS固件需要升级时,通过升级文件即可进行升级,避免单独为了UFS,对固件或终端软件进行升级,节省了人力和物力成本,提高了升级效率。进一步地,在本发明UFS固件的升级方法的另一实施例中,所述获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息的步骤包括:检测终端预设分区中是否存在配置文件,当终端预设分区中存在配置文件时,获取配置文件中的固件配置型号和固件配置版本号,以及终端所使用的当前UFS固件的当前固件型号和当前固件版本号。进一步地,在终端启动过程中,对预设分区进行检测,判断其中是否存在配置文件,当预设分区中存在配置文件时,则对配置文件进行读取,获取配置文件中的固件配置型号和固件配置版本号,此获取的固件配置型号和固件配置版本号即为配置文件信息。其中固件配置型号用于表示配置的UFS硬件参数,包括UFS供应商和UFS型号;固件配置版本号则用于表示配置的UFS软件参数,即UFS固件版本号。同时因预设分区中存在配置文件,则说明终端所使用的当前UFS固件的版本号可能与配置文件中所配置的UFS固件版本号不一致,即可能存在对终端当前使用的UFS固件版本号进行升级的情况。从而当检测出预设分区中存在配置文件时,还对终端所使用的当前UFS固件的当前固件型号和当前固件版本号进行获取。其中当前固件型号用于表示终端当前所使用UFS的实际UFS硬件参数,包括UFS供应商和UFS型号;当前固件版本号则用于表示实际的UFS软件参数,即UFS固件实际使用的UFS固件版本号。以通过此配置文件中所配置的固件配置型号、固件配置版本号以及终端当前实际使用UFS固件的当前固件型号、当前固件版本号,确定当前UFS固件是否需要升级。进一步地,在本发明UFS固件的升级方法的另一实施例中,所述将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置型号和当前固件型号对比,当固件配置型号和当前固件型号一致时,将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件。更进一步地,在确定当前UFS固件是否需要升级时,将获取的固件配置型号和当前固件型号对比,即将配置文件中所配置的UFS供应商、UFS型号与终端实际所使用的UFS供应商、UFS型号进行对比,以确定固件配置型号和当前固件型号是否一致。当固件配置型号和当前固件型号一致,即配置文件中所配置的UFS供应商和终端实际所使用的UFS供应商、以及配置文件中所配置的UFS型号和终端实际所使用的UFS型号一致时,则将固件配置版本号和当前固件版本号进行对比。如配置文件的内容为:Manufacture=S,PartNumber=A,StartVersion=00,EndVersion=05,UpGradeVersion=06,FirmwareFile=S_A_UFS_FW_P06.bin;则说明固件配置型号中的UFS供应商和UFS型号分别为S和A,即配置文件信息中所配置的UFS为来自S供应商的A型号的UFS。而对终端中存储其硬件信息的区域进行读取,此存储区域专门用于存储终端上所使用的各种硬件的型号、供应商等信息,通过读取操作确定终端所使用的UFS为来自S供应商的A型号的UFS。将此固件配置信号和当前固件型号进行对比,即可确定两者的UFS供应商和UFS型号均相同,从而可判定固件配置型号和当前固件型号一致,进一步进行固件配置版本号和当前固件版本号之间的对比,以确定当前UFS固件是否为待升级UFS固件。而如果确定终端所使用的UFS为来自S供应商的B型号的UFS,则因固件配置型号和当前固件型号中的UFS型号存在差异,固件配置型号和当前固件型号不一致。两种型号的UFS所使用的固件版本不能通用,从而不需要对将固件配置版本号和当前固件版本号进行对比,判定当前UFS固件为不需要升级的UFS固件。进一步地,在本发明UFS固件的升级方法的另一实施例中,所述将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件的步骤包括:步骤q1,将固件配置版本号和当前固件版本号对比,当固件配置版本号和当前固件版本号不一致时,确定配置文件中所配置的待升级版本号;步骤q2,判断当前固件版本号是否为待升级版本号,若当前固件版本号为待升级版本号时,判定当前UFS固件为待升级UFS固件。在进行固件配置版本号和当前固件版本号的对比,即配置的UFS固件版本号和实际的UFS固件版本号的对比时,判断两者的版本号是否一致,若不一致,则确定配置文件中所配置的待升级版本号。待升级版本号由配置文件信息中的开始版本号StartVersion和结束版本号EndVersion之间的参数决定。如上述中因StartVersion=00,EndVersion=05,从而待升级版本号为00~05之间的版本。在确定配置文件中所配置的待升级版本号后,判断终端所使用的当前固件版本号是否为待升级版本号,即确定当前固件版本号是否落入待升级版本号的范围内,如果当前固件版本号落入待升级版本号的范围内,是待升级版本号时,则判定当前UFS固件为待升级UFS固件。如上述若终端所使用的UFS为来自S供应商的A型号的UFS,且其当前固件版本号为03时,因版本号03在版本号00~05之间,则可判定当前固件版本号为待升级版本号,当前UFS固件为待升级UFS固件。进一步地,在本发明UFS固件的升级方法的另一实施例中,所述若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级的步骤包括:步骤S31,若当前UFS固件为待升级UFS固件,判断预设分区中是否存在升级文件;步骤S32,当预设分区中存在升级文件时,获取所述升级文件,并根据所述升级文件对当前UFS固件进行升级。当固件配置版本号和当前固件版本号不一致,当前UFS固件为待升级UFS固件,需要对其进行升级时,判读预设分区中是否存在升级文件。升级文件以bin文件的形式配置在配置文件中,bin文件为二进制文件;并在配置文件信息中写入升级文件的版本号以及文件名,如上述中的UpGradeVersion=06,FirmwareFile=S_A_UFS_FW_P06.bin;即说明升级文件的版本号为06,文件名为S_A_UFS_FW_P06.bin。当确定当前UFS固件为待升级固件时,通过配置文件信息中的升级文件的文件名,判断预设分区中是否存在与此文件名对应的升级文件。当预设分区中存在与此文件名对应的升级文件时,则获取此升级文件,并根据升级文件对当前UFS固件进行升级。为辅助理解,以一具体实施例加以说明,对于供应商为H、型号为B的UFS,其固件版本为00,需要升级到01版本,01版本固件的文件名为H_B_UFS_FW_P01.bin。则需要将与此文件名对应的升级文件放置到预设分区UFS_FW_Partition中,并将此预设分区中的配置文件UFS_FW_upgrade_config_file配置为:Manufacture=H,PartNumber=B,StartVersion=00,EndVersion=00,UpGradeVersion=01,FirmwareFile=H_B_UFS_FW_P01.bin。用户M持有的手机,所使用的当前UFS的供应商名称为H、型号为B,固件版本号为00。请参照图6,手机系统在启动时,检测预设分区UFS_FW_Partition中是否存在配置文件UFS_FW_upgrade_config_file,当存在此配置文件,则获取手机所使用的当前UFS固件的当前固件型号和当前固件版本号,即供应商名称为H、型号为B,固件版本号为00。因可能配置文件中配置有多种类型的UFS固件的各配置文件信息,将一种类型的UFS固件的配置文件信息作为一行,第i行作为第i种类型UFS固件的配置文件信息。逐行读取配置文件中所配置的信息,以判断配置文件信息和UFS固件信息是否一致,考虑到终端所支持的UFS固件的类型有限,在判断一致性之前,先确定第i行是否存在,即配置文件中是否存在第i个UFS固件的配置文件信息。当第i行存在时,则读取配置文件中的第i行信息,即第i个UFS固件的配置文件信息,将此配置文件信息中的UFS供应商H、型号B和当前固件型号比较,判断两者是否相同,因两者的UFS供应商H及型号B均相同,则判断当前固件版本号是否在待升级版本号的范围内,因当前版本号00在待升级版本号00~00范围内,则进一步判断第i行配置的升级文件H_B_UFS_FW_P01.bin是否在预设分区中,如果在预设分区,则读取升级文件进行升级,将当前版本号00升级到01,完成终端中当前所使用的UFS固件的升级。而在判断过程中,如果存在任意一个条件不成立,则结束此第i行信息的判断,并读取下一行配置信息作为新的第i行信息进行判断。进一步地,请参照图4,在本发明UFS固件的升级方法的第一实施例基础上,提出本发明UFS固件的升级方法的第二实施例,在第二实施例中,所述获取终端预设分区中的配置文件信息的步骤之前包括:步骤S40,接收更新指令,并根据更新指令将配置文件以及升级文件下载到预设分区。进一步地,当UFS固件需要更新时,开发人员开发对UFS固件的更新文件,更新文件包括配置文件以及升级文件,将此作为更新文件的配置文件和升级文件发布到网络平台,并向终端下发提示更新的提示信息。请参照图7,提示信息以对话框的形式显示在终端的显示界面上。终端用户根据显示界面显示的提示信息发送更新指令,当接收到此更新指令时,根据此更新指令将配置文件以及升级文件下载到预设分区。以在检测到终端系统接收到启动指令,需要启动时,获取此预设分区中的配置文件和升级文件,对终端当前所使用的UFS固件进行升级。进一步地,请参照图5,在本发明UFS固件的升级方法的第二实施例基础上,提出本发明UFS固件的升级方法的第三实施例,在第三实施例中,所述对当前UFS固件进行升级的步骤之后包括:步骤S50,判断当前UFS固件升级是否成功,若当前UFS固件升级成功,则终端所使用的当前UFS固件版本升级为新版本;步骤S60,若当前UFS固件升级失败,则终端继续使用当前UFS固件版本。更进一步地,在对当前UFS固件进行升级后,判断对此当前UFS固件的升级操作是否成功,如果升级成功,则终端所使用的当前UFS固件版本升级为新版本。将此升级后的新版本作为当前UFS固件版本,后续以此作为当前UFS固件版本的新版本为基础进行升级。而如果当前UFS固件升级失败,为了终端的正常使用,则继续使用此当前UFS固件版本,以确保终端功能的正常使用,并在后续接收到系统启动指令时,再次进行升级操作,以使当前UFS固件升级到最新版本。本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息;将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件;若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级。进一步地,所述获取终端预设分区中的配置文件信息,以及终端所使用的当前UFS固件的UFS固件信息的步骤包括:检测终端预设分区中是否存在配置文件,当终端预设分区中存在配置文件时,获取配置文件中的固件配置型号和固件配置版本号,以及终端所使用的当前UFS固件的当前固件型号和当前固件版本号。进一步地,所述将所述配置文件信息和UFS固件信息对比,判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置型号和当前固件型号对比,当固件配置型号和当前固件型号一致时,将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件。进一步地,所述将固件配置版本号和当前固件版本号进行对比,以判断当前UFS固件是否为待升级UFS固件的步骤包括:将固件配置版本号和当前固件版本号对比,当固件配置版本号和当前固件版本号不一致时,确定配置文件中所配置的待升级版本号;判断当前固件版本号是否为待升级版本号,若当前固件版本号为待升级版本号时,判定当前UFS固件为待升级UFS固件。进一步地,所述若当前UFS固件为待升级UFS固件时,获取预设分区中的升级文件,以对当前UFS固件进行升级的步骤包括:若当前UFS固件为待升级UFS固件,判断预设分区中是否存在升级文件;当预设分区中存在升级文件时,获取所述升级文件,并根据所述升级文件对当前UFS固件进行升级。进一步地,所述获取终端预设分区中的配置文件信息的步骤之前,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:接收更新指令,并根据更新指令将配置文件以及升级文件下载到预设分区。进一步地,所述根据更新指令将配置文件信息以及升级文件下载到预设分区的步骤之后,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:当检测到终端系统接收到启动指令时,执行获取终端预设分区中的配置文件信息的步骤。进一步地,所述对当前UFS固件进行升级的步骤之后,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:判断当前UFS固件升级是否成功,若当前UFS固件升级成功,则终端所使用的当前UFS固件版本升级为新版本;若当前UFS固件升级失败,则终端继续使用当前UFS固件版本。本发明计算机可读存储介质具体实施方式与上述UFS固件的升级方法各实施例基本相同,在此不再赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1