本申請提供一種固件升級方法及終端,涉及終端技術領域,可以解決一些操作系統上的固件升級不能生效的問題,該方法包括:終端接收來自服務器的第一升級指令;第一升級指令用于指示將終端的操作系統由當前版本升級至目標版本;基于第一升級指令,進入終端的啟動流程;其中,終端的啟動流程包括快速啟動fastboot階段,fastboot階段的程序代碼中包括目標程序代碼,目標程序代碼用于對目標固件進行固件升級;目標固件包括在至少一個固件中;在進入終端的啟動流程中的fastboot階段時,終端基于目標程序代碼,獲取目標固件匹配的升級文件;終端基于升級文件,對目標固件進行版本升級。對目標固件進行版本升級。對目標固件進行版本升級。
【技術實現步驟摘要】
一種固件升級方法及終端
[0001]本申請涉及終端
,尤其涉及一種固件升級方法及終端。
技術介紹
[0002]采用安卓(Android)系統的終端(如手機)逐漸成為終端市場的主流。當前Android系統通常使用嵌入式多媒體存儲卡(embedded multi media card,eMMC)或通用閃存存儲(universal flash storage,UFS)作為閃存存儲器件。其中,閃存存儲器件通過運行閃存存儲器件內部的固件(firmware)算法,可以實現相應的功能。隨著終端操作系統的頻繁更新,閃存存儲器件的固件也需要進行升級以修復問題或增加功能。
[0003]目前,閃存存儲器件的固件升級是終端在啟動操作系統內核(kernel)時進行的。但是,由于kernel權限的限制,一些版本的操作系統需要具有kernel權限才能對閃存存儲器件的固件進行升級,導致這些版本的操作系統因不具備kernel權限,不能實現在啟動kernel時對閃存存儲器件的固件進行版本升級,因此在這些版本的操作系統上的固件升級不能生效。
技術實現思路
[0004]本申請實施例提供一種固件升級方法及終端,用于解決一些操作系統上的固件升級不能生效的問題。
[0005]為達到上述目的,本申請的實施例采用如下技術方案:
[0006]第一方面,提供一種固件升級方法,應用于具有存儲器件的終端中,存儲器件包括至少一個固件;該方法包括:終端接收來自服務器的第一升級指令;第一升級指令用于指示將終端的操作系統由當前版本升級至目標版本;基于第一升級指令,進入終端的啟動流程;其中,終端的啟動流程包括快速啟動fastboot階段,fastboot階段的程序代碼中包括目標程序代碼,目標程序代碼用于對目標固件進行固件升級;目標固件包括在至少一個固件中;在進入終端的啟動流程中的fastboot階段時,終端基于目標程序代碼,獲取目標固件匹配的升級文件;終端基于升級文件,對目標固件進行版本升級。
[0007]基于第一方面,當終端接收到來自服務器的操作系統升級指令(即第一升級指令)時,終端進入終端的啟動流程,終端的啟動流程包括快速啟動fastboot階段,由于fastboot階段的程序代碼中包括目標程序代碼,目標程序代碼用于對目標固件進行固件升級,目標固件包括在至少一個固件中,因此在進入終端的啟動流程中的fastboot階段時,終端可以基于目標程序代碼獲取目標固件匹配的升級文件,并基于升級文件對目標固件的版本進行升級,從而能夠解決一些操作系統上的固件升級不能生效的問題。
[0008]在第一方面的一種實現方式中,終端獲取目標固件匹配的升級文件,包括:終端獲取與存儲器件的器件信息相匹配的固件升級包;其中,固件升級包包括至少一個固件對應的至少一個升級文件,至少一個升級文件中的每個升級文件對應一個偏移地址;終端基于目標固件匹配的升級文件的偏移地址,從至少一個升級文件中獲取目標固件匹配的升級文
件。
[0009]在該實現方式中,終端可以基于存儲器件的器件信息,獲取與存儲器件的器件信息相匹配的固件升級包,而由于固件升級包包括至少一個固件對應的至少一個升級文件,至少一個升級文件中的每個升級文件對應一個偏移地址,因此終端可以基于目標固件匹配的升級文件的偏移地址,從至少一個升級文件中獲取目標固件匹配的升級文件,能夠確保獲取到的升級文件的準確性。
[0010]在第一方面的一種實現方式中,終端獲取與存儲器件的器件信息相匹配的固件升級包,包括:終端獲取固件升級數據;固件升級數據包括多個固件升級包,多個固件升級包對應多種類型的存儲器件,不同固件升級包對應不同類型的存儲器件;終端基于存儲器件的器件信息,從多個固件升級包中選取與存儲器件的器件信息相匹配的固件升級包;其中,存儲器件的器件信息用于指示所存儲器件的類型。
[0011]在該實現方式中,終端首先獲取固件升級數據,由于固件升級數據包括多個固件升級包,多個固件升級包對應多種類型的存儲器件,不同固件升級包對應不同類型的存儲器件;也就是說,該固件升級數據包括多種類型的存儲器件對應的固件升級包,因此終端可以從多個固件升級包中選取與存儲器件的器件信息相匹配的固件升級包,即選取該存儲器件的類型對應的固件升級包,從而能夠確保獲取到的固件升級包的準確性。
[0012]在第一方面的一種實現方式中,該方法還包括:終端基于預先存儲的數據信息進行升級校驗;數據信息包括固件升級數據的數據標識、固件升級數據包括的固件升級包的數量以及固件升級數據的數據大小中的一種或多種;其中,終端獲取固件升級數據,包括:在校驗成功后,終端獲取固件升級數據。
[0013]在該實現方式中,終端可以先基于預先存儲的數據信息,校驗固件升級數據,即終端基于預先存儲的固件升級數據的數據標識、固件升級數據包括的固件升級包的數量以及固件升級數據的數據大小,校驗固件升級數據;在校驗成功后,終端獲取固件升級數據,從而能夠確保獲取到的固件升級數據的準確性。
[0014]在第一方面的一種實現方式中,固件升級數據中的多個固件升級包以鏡像文件的格式預先加載至存儲器件的第一分區中;其中,終端獲取固件升級數據,包括:終端從第一分區中獲取固件升級數據。
[0015]在該實現方式中,由于固件升級數據中的多個固件升級包以鏡像文件的格式預先加載至存儲器件的第一分區中,因此終端可以從第一分區中獲取固件升級數據,降低了終端獲取固件升級數據的復雜性,提高了通信效率。
[0016]在第一方面的一種實現方式中,升級文件用于將目標固件由當前版本升級至目標版本,目標版本與當前版本之間還包括中間版本;終端基于升級文件,對目標固件進行版本升級,包括:終端從固件升級包中獲取中間文件;中間文件用于將目標固件由當前版本升級至所述中間版本;在目標固件由當前版本升級至中間版本之后,終端基于升級文件,將目標固件由中間版本升級至目標版本。
[0017]在該實現方式中,由于目標版本與當前版本之間還包括中間版本,因此終端可以先從固件升級包中獲取中間文件,由于中間文件用于將目標固件由當前版本升級至中間版本,因此終端可以基于中間文件將目標固件由當前版本升級至第一版本后,再基于升級文件,將目標固件由中間版本升級至目標版本,從而能夠實現目標固件的版本進行連續升級。
[0018]在第一方面的一種實現方式中,升級文件通過空中下載技術得到;或者,升級文件通過fastboot的方式得到。
[0019]第二方面,提供一種終端,該終端具有實現上述第一方面所述的功能;該功能可以通過硬件實現,也可以通過硬件執行相應的軟件實現。該硬件或軟件包括一個或多個與上述功能相對應的模塊。
[0020]第三方面,提供一種終端,包括存儲器件以及一個或多個處理器,存儲器件包括至少一個固件;存儲器件與處理器耦合,存儲器件用于存儲計算機程序代碼,計算機程序代碼包括計算機指令;當處理器執行計算機指令時,使得終端執行如下步驟:終端接收來自服務器的第一升級指令;第一升級指令用于指示將終端的操作系統由當本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種固件升級方法,其特征在于,應用于具有存儲器件的終端,所述存儲器件包括至少一個固件;所述方法包括:所述終端接收來自服務器的第一升級指令;所述第一升級指令用于指示將所述終端的操作系統由當前版本升級至目標版本;基于所述第一升級指令,進入所述終端的啟動流程;其中,所述終端的啟動流程包括快速啟動fastboot階段,所述fastboot階段的程序代碼中包括目標程序代碼,所述目標程序代碼用于對目標固件進行固件升級;所述目標固件包括在所述至少一個固件中;在進入所述終端的啟動流程中的所述fastboot階段時,所述終端基于所述目標程序代碼,獲取所述目標固件匹配的升級文件;所述終端基于所述升級文件,對所述目標固件進行版本升級。2.根據權利要求1所述的方法,其特征在于,所述終端獲取目標固件匹配的升級文件,包括:所述終端獲取與所述存儲器件的器件信息相匹配的固件升級包;其中,所述固件升級包包括所述至少一個固件對應的至少一個升級文件,所述至少一個升級文件中的每個升級文件對應一個偏移地址;所述終端基于所述目標固件匹配的所述升級文件的偏移地址,從所述至少一個升級文件中獲取所述目標固件匹配的升級文件。3.根據權利要求2所述的方法,其特征在于,所述終端獲取與所述存儲器件的器件信息相匹配的固件升級包,包括:所述終端獲取固件升級數據;所述固件升級數據包括多個固件升級包,所述多個固件升級包對應多種類型的存儲器件,不同固件升級包對應不同類型的存儲器件;所述終端基于所述存儲器件的器件信息,從所述多個固件升級包中選取與所述存儲器件的器件信息相匹配的固件升級包;其中,所述存儲器件的器件信息用于指示所述存儲器件的類型。4.根據權利要求3所述的方法,其特征在于,所述方法還包括:所述終端基于預先存儲的數據信息進行升級校驗;所述數據信息包括所述固件升級數據的數據標識、所述固件升級數據包括的固件升級包的數量以及所述固件升級數據的數據大小中的一種或多種;其中,所...
【專利技術屬性】
技術研發人員:陳銳,
申請(專利權)人:榮耀終端有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。