操作系統(tǒng)升級方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件技術(shù)領(lǐng)域,特別是涉及一種操作系統(tǒng)升級方法和裝置。
【背景技術(shù)】
[0002]隨著電子技術(shù)的快速發(fā)展,終端操作系統(tǒng)的性能越來越高,用戶可以在其中安裝多種應用。實際應用中,用戶所安裝的應用可能會存在漏洞或者功能單一等問題,因此,應用開發(fā)者會對這些應用進行升級,以修復漏洞或者豐富應用的功能。
[0003]傳統(tǒng)的對操作系統(tǒng)的升級方法,一般是將B0 0 T、系統(tǒng)主程序和M C U(Microcontroller Unit,微控制單元)分開升級。以Android系統(tǒng)的智能平板為例,許多Android系統(tǒng)的智能終端不僅僅擁有單一的Android原生功能,更多攜帶Μ⑶去掛載Rad1,TV(Televis1n,電視機)和BT(Blue Tooth,藍牙)等外設設備,能夠?qū)崿F(xiàn)更強大的功能。現(xiàn)有技術(shù)中,智能平板設備MCU,BOOT,Andro id主程序都是分開升級。
[0004]由此可見,傳統(tǒng)操作系統(tǒng)升級方法,升級效率低,影響了終端使用的便利性。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對現(xiàn)有技術(shù)升級效率低的問題,提供一種操作系統(tǒng)升級方法和
目.ο
[0006]—種操作系統(tǒng)升級方法,包括以下步驟:
[0007]在獲取到BOOT對應的第一升級文件、系統(tǒng)主程序?qū)牡诙壩募蚆CU對應的第三升級文件之后,將升級命令寫入系統(tǒng)對應的備份分區(qū),并設置升級BOOT的第一標志;
[0008]根據(jù)所述第一標志、升級命令和所述第一升級文件對BOOT進行升級,然后設置升級系統(tǒng)主程序的第二標志,并將升級系統(tǒng)主程序所需的第一參數(shù)和升級MCU所需的第二參數(shù)分別傳輸至系統(tǒng)主程序和MCU ;
[0009]響應所述第二標志解析所述第二升級文件,根據(jù)所述升級命令、所述第一參數(shù)和所述第二升級文件對系統(tǒng)主程序進行升級,然后設置升級MCU的第三標志,并將升級MCU所需的第三參數(shù)傳輸至MCU;
[0010]響應所述第三標志解析所述第三升級文件,并根據(jù)所述升級命令、所述第二參數(shù)、第三參數(shù)和所述第三升級文件對MCU進行升級。
[0011]—種操作系統(tǒng)升級裝置,包括:
[0012]寫入模塊,用于在獲取到BOOT對應的第一升級文件、系統(tǒng)主程序?qū)牡诙壩募蚆CU對應的第三升級文件之后,將升級命令寫入系統(tǒng)對應的備份分區(qū),并設置升級BOOT的第一標志;
[0013]第一升級模塊,用于根據(jù)所述第一標志、升級命令和所述第一升級文件對BOOT進行升級,然后設置升級系統(tǒng)主程序的第二標志,并將升級系統(tǒng)主程序所需的第一參數(shù)和升級MCU所需的第二參數(shù)分別傳輸至系統(tǒng)主程序和MCU;
[0014]第二升級模塊,用于響應所述第二標志解析所述第二升級文件,根據(jù)所述升級命令、所述第一參數(shù)和所述第二升級文件對系統(tǒng)主程序進行升級,然后設置升級MCU的第三標志,并將升級MCU所需的第三參數(shù)傳輸至MCU;
[0015]第三升級模塊,用于響應所述第三標志解析所述第三升級文件,并根據(jù)所述升級命令、所述第二參數(shù)、第三參數(shù)和所述第三升級文件對MCU進行升級。
[0016]上述操作系統(tǒng)升級方法和裝置,通過將Β00Τ、Μ⑶和系統(tǒng)主程序?qū)纳壩募懭胂到y(tǒng)對應的備份分區(qū),在對BOOT進行升級之后設置升級系統(tǒng)主程序的第二標志,響應所述第二標志進入系統(tǒng)主程序的升級流程,然后設置升級MCU的第三標志,響應所述第三標志進入MCU的升級流程,能夠一次性對B00T、MCU和系統(tǒng)主程序進行升級,升級效率高,使用便利。
【附圖說明】
[0017]圖1為一個實施例的操作系統(tǒng)升級方法流程圖;
[0018]圖2為一個實施例的BOOT升級流程圖;
[0019]圖3為一個實施例的系統(tǒng)主程序升級流程圖;
[0020]圖4為一個實施例的MCU升級流程圖;
[0021 ]圖5為一個實施例的操作系統(tǒng)升級裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]下面結(jié)合附圖對本發(fā)明的操作系統(tǒng)升級方法的實施例進行描述。
[0023]圖1為一個實施例的操作系統(tǒng)升級方法流程圖。如圖1所示,本發(fā)明的操作系統(tǒng)升級方法可包括以下步驟:
[0024]S1,在獲取到BOOT對應的第一升級文件、系統(tǒng)主程序?qū)牡诙壩募挺菍牡谌壩募?,將升級命令寫入系統(tǒng)對應的備份分區(qū),并設置升級BOOT的第一標志;
[0025]在本步驟中,可先獲取BOOT對應的第一升級文件、系統(tǒng)主程序?qū)牡诙壩募蚆CU對應的第三升級文件??赏ㄟ^兩種方式獲取所述第一升級文件、第二升級文件和第三升級文件。方法一是直接下載所述第一升級文件、第二升級文件和第三升級文件,并將下載的升級文件保存到內(nèi)部存儲設備中。方法二是接入移動存儲設備,并讀取所述移動存儲設備中的所述第一升級文件、第二升級文件和第三升級文件。
[0026]以Android系統(tǒng)為例,可獲取BOOT對應的第一升級文件、Android系統(tǒng)主程序?qū)牡诙壩募蚆CU對應的第三升級文件。可持續(xù)監(jiān)聽0TA( Over —the —AirTechnology,空中下載技術(shù))推送消息,并在接收到OTA推送消息之后,從服務器下載升級文件。或者,可持續(xù)監(jiān)聽移動存儲設備的接入,并在檢測到有移動存儲設備接入之后,掃描所述移動存儲設備中的升級文件。
[0027]然后,可將對MCU,B00T和Android主程序的升級命令寫入Android系統(tǒng)的cache分區(qū)的recovery目錄中。例如,可定義卯8作(16_311命令為對]\1(1],13001'和411(11'0丨(1主程序的三合一升級命令,并將所述upgrade_all命令寫入Android系統(tǒng)的cache分區(qū)的recovery目錄中。所述upgrade_all命令用于記錄升級系統(tǒng)的標志。
[0028]可將boot環(huán)境變量upgrade_boot設為1,并重啟Andro id系統(tǒng),進入引導程序bootloader,檢測環(huán)境變量upgrade_boot。所述boot環(huán)境變量upgrade_boot為升級BOOT的第一標志。
[0029]S2,根據(jù)所述第一標志、升級命令和所述第一升級文件對BOOT進行升級,然后設置升級系統(tǒng)主程序的第二標志,并將升級系統(tǒng)主程序所需的第一參數(shù)和升級MCU所需的第二參數(shù)分別傳輸至系統(tǒng)主程序和MCU ;
[0030]如圖2所示,可根據(jù)如下方式對BOOT進行升級:
[0031]S21,在讀取到所述升級命令之后,讀取所述第一升級文件;
[0032]S22,,對所述第一升級文件進行校驗;
[0033]S23,,若所述第一升級文件是完整和正確的,擦除BOOT存儲區(qū)域,將所述第一升級文件寫入BOOT對應的存儲區(qū)域,并重啟系統(tǒng)。
[0034]仍以Andro id系統(tǒng)為例,可讀取第一升級文件boot.bin,對boot.bin進行校驗,若boot.bin是完整和正確的,可通過SPI Flash擦除相應的存儲區(qū)域,并將boot.bin寫入BOOT對應的存儲區(qū)域。待寫入完畢之后,可重啟系統(tǒng)。
[0035]在完成BOOT升級流程之后,可設置升級系統(tǒng)主程序的第二標志,并將升級系統(tǒng)主程序所需的第一參數(shù)和升級MCU所需的第二參數(shù)分別傳輸至系統(tǒng)主程序和MCU。系統(tǒng)在檢測到所述第二標志之后,可自動執(zhí)行主程序的升級流程。
[0036]S3,響應所述第二標志解析所述第二升級文件,根據(jù)所述升級命令、所述第一參數(shù)和所述第二升級文件對系統(tǒng)主程序進行升級,然后設置升級MCU的第三標志,并將升級MCU所需的第三參數(shù)傳輸至MCU;
[0037]在本步驟中,系統(tǒng)可檢測是否存在所述第二標志,若檢測到,可響應所述第二標志解析所述第二升級文件。然后,可檢測是否存在所述升級命令,若存在,可根據(jù)所述升級命令、所述第一參數(shù)和所述第二升級文件對系統(tǒng)主程序進行升級,然后設置升級MCU的第三標志,并將升級MCU所需的第三參數(shù)傳輸至MCU。其中,根據(jù)所述升級命令