嵌入式系统中基于系统引导文件的自动升级方法

文档序号:9524038阅读:361来源:国知局
嵌入式系统中基于系统引导文件的自动升级方法
【技术领域】
[0001]本发明涉及嵌入式领域,尤其涉及系统升级,具体是指一种嵌入式系统中基于系统引导文件的自动升级方法。
【背景技术】
[0002]随着社会的进步,科技的发展,多元化设备也是日新月异,用户对嵌入式产品的需求越来越复杂。
[0003]嵌入式系统的启动流程大体分为boot (系统引导文件)的启动,转入kernel的启动,再转入文件系统的启动。在项目开发尤其是嵌入式开发的过程中,必然会遇到boot下的升级问题;在工厂大量返工时,也必然会遇到boot下升级的问题。boot下升级文件是嵌入式开发过程中不可绕过的问题。
[0004]目前嵌入式系统中boot下升级文件的通用做法有两种:软件的方法和硬件的方法。软件方法通过串口手动进入命令行,远程PC端通过tftp或web等网络协议手动实现boot下镜像的升级。硬件的方法是通过在主板上添加对应的外设(sd卡或usb),上电时通过拨码开关的选择来切换启动模式,从而运行sd卡或usb设备中的boot,来实现boot, kernel, fs 等的升级。
[0005]软件的方法需要接主板带有串口,在成品设备上一般不会带有串口,对boot下升级会带来不便,用硬件的方法虽然解决了问题,但对于不需要usb或sd的设备来说,添加对应外设,增大了主板的面积同时成本增加,也不可取。本发明可以不需要增加外设的情况下,通过网口或在串口实现boot下自动升级的功能,给嵌入式开发阶段和工厂的返工带来极大方便,减少开发成本,缩短项目开发周期,减少返工费用。

【发明内容】

[0006]本发明的目的是克服了上述现有技术的缺点,提供了一种能够解决boot下用软件方法升级效率低,硬件方法升级成本高的问题的嵌入式系统中基于系统引导文件的自动升级方法。
[0007]为了实现上述目的,本发明的嵌入式系统中基于系统引导文件的自动升级方法具有如下构成:
[0008]该嵌入式系统中基于系统引导文件的自动升级方法,其主要特点是,所述的方法包括以下步骤:
[0009](1)系统上电,并开始启动系统引导文件;
[0010](2)在启动系统引导文件的Delay阶段,从网络接收特定的报文;
[0011](3)系统判断接收特定的报文是否成功;
[0012](4)如果接收特定的报文成功,则存储器标志位置位后,并进入自动升级模式;
[0013](5)如果接收特定的报文未成功,则从所述的存储器读取升级信息;
[0014](6)系统判断从所述的存储器读取升级信息是否成功,
[0015](7)如果从所述的存储器读取升级信息成功,则继续步骤(4);
[0016](8)如果从所述的存储器读取升级信息不成功,则系统进入操作系统内核Kernel ο
[0017]进一步地,所述的进入自动升级模式,具体包括以下步骤:
[0018](4.1)所述的系统从网络获取一特定格式的脚本文件并验证该脚本文件;
[0019](4.2)如果所述的脚本文件验证成功,则执行该脚本文件;
[0020](4.3)系统判断所述的脚本文件是否执行完成;
[0021](4.4)如果所述的脚本文件执行完成,则修改存储器标志位,并提示用户升级成功;
[0022](4.5)如果所述的脚本文件执行未完成,则继续步骤(4.2);
[0023](4.6)如果所述的脚本文件验证失败,则系统复位。
[0024]更进一步地,所述的执行该脚本文件,具体为:
[0025]逐行解析所述的脚本文件以获得脚本命令,并逐行执行该脚本命令。
[0026]再进一步地,所述的步骤(4.3)具体包括以下步骤:
[0027](4.3.1)每执行一个脚本命令,系统判断该脚本命令是否执行成功;
[0028](4.3.2)如果该脚本命令执行成功,则判断该脚本命令是否为最后一个脚本命令;
[0029](4.3.3)如果该脚本命令为最后一个脚本命令,则返回所述的脚本文件执行完成的结果;
[0030](4.3.4)如果该脚本命令不为最后一个脚本命令,则返回所述的脚本文件未执行完成的结果;
[0031](4.3.5)如果该脚本命令未执行成功,则系统复位。
[0032]再进一步地,所述的提示用户升级成功,具体为:
[0033]通过提示灯以提示用户升级成功。
[0034]进一步地,所述的步骤(2)具体为:
[0035]在启动系统引导文件的Delay阶段,通过网卡或串口从网络接收特定的报文。
[0036]采用了该发明中的嵌入式系统中基于系统引导文件的自动升级方法,与现有技术相比,具有以下的有益的技术效果:
[0037]本发明的嵌入式系统中基于系统引导文件的自动升级方法解决了硬件方法升级成本高的问题,减少了用软件升级的时间,适合开发阶段和工厂的批量升级,从而在不增加成本的情况下,提高了升级的效率,对开发和工厂返工都带来巨大的方便。
【附图说明】
[0038]图1为本发明的嵌入式系统中基于系统引导文件的自动升级方法的步骤流程图。
【具体实施方式】
[0039]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0040]本发明的目的是为了解决boot下用软件方法升级效率低,硬件方法升级成本高的问题,设计了用网卡或在存储器上添加对应标志位的方法实现boot阶段自动进入命令行模式,在boot启动的某个阶段,通过查看标志位或通过收取固定信息的报文,自动进入命令行模式,自动向固定的ip获取一个脚本文件,通过解析脚本文件,实现对boot (系统引导文件)、kernel (操作系统内核)、filesystem(文件系统)等的任意升级。
[0041]本发明的嵌入式系统中基于系统引导文件的自动升级方法包括以下步骤:
[0042](1)系统上电,并开始启动系统引导文件;
[0043](2)在启动系统引导文件的Delay阶段,从网络接收特定的报文;
[0044](3)系统判断接收特定的报文是否成功;
[0045](4)如果接收特定的报文成功,则存储器标志位置位后,并进入自动升级模式;
[0046](5)如果接收特定的报文未成功,则从所述的存储器读取升级信息;
[0047](6)系统判断从所述的存储器读取升级信息是否成功,
[0048](7)如果从所述的存储器读取升级信息成功,则继续步骤(4);
[0049](8)如果从所述的存储器读取升级信息不成功,则系统进入操作系统内核Kernel ο
[0050]在一种优选的实施方式中,所述的进入自动升级模式,具体包括以下步骤:
[0051](4.1)所述的系统从网络获取一特定格式的脚本文件并验证该脚本文件;
[0052](4.2)如果所述的脚本文件验证成功,则执行该脚本文件;
[0053](4.3)系统判断所述的脚本文
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1