操作系统升级方法和装置的制造方法
【技术领域】
[0001]本发明涉及软件技术领域,特别是涉及一种操作系统升级方法和装置。
【背景技术】
[0002]随着电子技术的快速发展,终端操作系统的性能越来越高,用户可以在其中安装多种应用。实际应用中,用户所安装的应用可能会存在漏洞或者功能单一等问题,因此,应用开发者会对这些应用进行升级,以修复漏洞或者丰富应用的功能。
[0003]传统的对操作系统的升级方法,一般是将B0 0 T、系统主程序和M C U(Microcontroller Unit,微控制单元)分开升级。以Android系统的智能平板为例,许多Android系统的智能终端不仅仅拥有单一的Android原生功能,更多携带Μ⑶去挂载Rad1,TV(Televis1n,电视机)和BT(Blue Tooth,蓝牙)等外设设备,能够实现更强大的功能。现有技术中,智能平板设备MCU,BOOT,Andro id主程序都是分开升级。
[0004]由此可见,传统操作系统升级方法,升级效率低,影响了终端使用的便利性。
【发明内容】
[0005]基于此,有必要针对现有技术升级效率低的问题,提供一种操作系统升级方法和
目.ο
[0006]—种操作系统升级方法,包括以下步骤:
[0007]在获取到BOOT对应的第一升级文件、系统主程序对应的第二升级文件和MCU对应的第三升级文件之后,将升级命令写入系统对应的备份分区,并设置升级BOOT的第一标志;
[0008]根据所述第一标志、升级命令和所述第一升级文件对BOOT进行升级,然后设置升级系统主程序的第二标志,并将升级系统主程序所需的第一参数和升级MCU所需的第二参数分别传输至系统主程序和MCU ;
[0009]响应所述第二标志解析所述第二升级文件,根据所述升级命令、所述第一参数和所述第二升级文件对系统主程序进行升级,然后设置升级MCU的第三标志,并将升级MCU所需的第三参数传输至MCU;
[0010]响应所述第三标志解析所述第三升级文件,并根据所述升级命令、所述第二参数、第三参数和所述第三升级文件对MCU进行升级。
[0011]—种操作系统升级装置,包括:
[0012]写入模块,用于在获取到BOOT对应的第一升级文件、系统主程序对应的第二升级文件和MCU对应的第三升级文件之后,将升级命令写入系统对应的备份分区,并设置升级BOOT的第一标志;
[0013]第一升级模块,用于根据所述第一标志、升级命令和所述第一升级文件对BOOT进行升级,然后设置升级系统主程序的第二标志,并将升级系统主程序所需的第一参数和升级MCU所需的第二参数分别传输至系统主程序和MCU;
[0014]第二升级模块,用于响应所述第二标志解析所述第二升级文件,根据所述升级命令、所述第一参数和所述第二升级文件对系统主程序进行升级,然后设置升级MCU的第三标志,并将升级MCU所需的第三参数传输至MCU;
[0015]第三升级模块,用于响应所述第三标志解析所述第三升级文件,并根据所述升级命令、所述第二参数、第三参数和所述第三升级文件对MCU进行升级。
[0016]上述操作系统升级方法和装置,通过将Β00Τ、Μ⑶和系统主程序对应的升级文件写入系统对应的备份分区,在对BOOT进行升级之后设置升级系统主程序的第二标志,响应所述第二标志进入系统主程序的升级流程,然后设置升级MCU的第三标志,响应所述第三标志进入MCU的升级流程,能够一次性对B00T、MCU和系统主程序进行升级,升级效率高,使用便利。
【附图说明】
[0017]图1为一个实施例的操作系统升级方法流程图;
[0018]图2为一个实施例的BOOT升级流程图;
[0019]图3为一个实施例的系统主程序升级流程图;
[0020]图4为一个实施例的MCU升级流程图;
[0021 ]图5为一个实施例的操作系统升级装置的结构示意图。
【具体实施方式】
[0022]下面结合附图对本发明的操作系统升级方法的实施例进行描述。
[0023]图1为一个实施例的操作系统升级方法流程图。如图1所示,本发明的操作系统升级方法可包括以下步骤:
[0024]S1,在获取到BOOT对应的第一升级文件、系统主程序对应的第二升级文件和Μ⑶对应的第三升级文件之后,将升级命令写入系统对应的备份分区,并设置升级BOOT的第一标志;
[0025]在本步骤中,可先获取BOOT对应的第一升级文件、系统主程序对应的第二升级文件和MCU对应的第三升级文件。可通过两种方式获取所述第一升级文件、第二升级文件和第三升级文件。方法一是直接下载所述第一升级文件、第二升级文件和第三升级文件,并将下载的升级文件保存到内部存储设备中。方法二是接入移动存储设备,并读取所述移动存储设备中的所述第一升级文件、第二升级文件和第三升级文件。
[0026]以Android系统为例,可获取BOOT对应的第一升级文件、Android系统主程序对应的第二升级文件和MCU对应的第三升级文件。可持续监听0TA( Over —the —AirTechnology,空中下载技术)推送消息,并在接收到OTA推送消息之后,从服务器下载升级文件。或者,可持续监听移动存储设备的接入,并在检测到有移动存储设备接入之后,扫描所述移动存储设备中的升级文件。
[0027]然后,可将对MCU,B00T和Android主程序的升级命令写入Android系统的cache分区的recovery目录中。例如,可定义卯8作(16_311命令为对]\1(1],13001'和411(11'0丨(1主程序的三合一升级命令,并将所述upgrade_all命令写入Android系统的cache分区的recovery目录中。所述upgrade_all命令用于记录升级系统的标志。
[0028]可将boot环境变量upgrade_boot设为1,并重启Andro id系统,进入引导程序bootloader,检测环境变量upgrade_boot。所述boot环境变量upgrade_boot为升级BOOT的第一标志。
[0029]S2,根据所述第一标志、升级命令和所述第一升级文件对BOOT进行升级,然后设置升级系统主程序的第二标志,并将升级系统主程序所需的第一参数和升级MCU所需的第二参数分别传输至系统主程序和MCU ;
[0030]如图2所示,可根据如下方式对BOOT进行升级:
[0031]S21,在读取到所述升级命令之后,读取所述第一升级文件;
[0032]S22,,对所述第一升级文件进行校验;
[0033]S23,,若所述第一升级文件是完整和正确的,擦除BOOT存储区域,将所述第一升级文件写入BOOT对应的存储区域,并重启系统。
[0034]仍以Andro id系统为例,可读取第一升级文件boot.bin,对boot.bin进行校验,若boot.bin是完整和正确的,可通过SPI Flash擦除相应的存储区域,并将boot.bin写入BOOT对应的存储区域。待写入完毕之后,可重启系统。
[0035]在完成BOOT升级流程之后,可设置升级系统主程序的第二标志,并将升级系统主程序所需的第一参数和升级MCU所需的第二参数分别传输至系统主程序和MCU。系统在检测到所述第二标志之后,可自动执行主程序的升级流程。
[0036]S3,响应所述第二标志解析所述第二升级文件,根据所述升级命令、所述第一参数和所述第二升级文件对系统主程序进行升级,然后设置升级MCU的第三标志,并将升级MCU所需的第三参数传输至MCU;
[0037]在本步骤中,系统可检测是否存在所述第二标志,若检测到,可响应所述第二标志解析所述第二升级文件。然后,可检测是否存在所述升级命令,若存在,可根据所述升级命令、所述第一参数和所述第二升级文件对系统主程序进行升级,然后设置升级MCU的第三标志,并将升级MCU所需的第三参数传输至MCU。其中,根据所述升级命令