一种嵌入式系统升级方法及系统技术方案

技术编号:11687026 阅读:102 留言:0更新日期:2015-07-06 19:43
本发明专利技术公开一种嵌入式系统升级方法及系统,升级方法包括有如下步骤:S10,接收到Bootloader启动的状态信号后,扫描嵌入式系统的存储分区,若所述存储分区已存储升级文件包,则读取所述升级文件包的标识信息;步骤S20,读取嵌入式系统环境分区所存储的当前系统信息,若所述标识信息与所述当前系统信息不同,则校验所述升级文件包;S30,若校验升级文件包成功,则解析并获取升级文件包中的升级子文件;S40,将升级子文件覆盖到待升级分区,并将所述标识信息写入嵌入式系统环境分区。本发明专利技术先缓冲升级文件到嵌入式设备中,再升级,有利于全面检测校验升级包,相比传统升级方法,可指定升级特定分区数据,做到产品的最小化升级,大大提高速度跟安全性。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统处理领域,具体涉及一种嵌入式系统升级方法及系统
技术介绍
嵌入式系统由硬件和软件两部分组成,软件部分,参照图1所示,依层次分主要包括Bootloader、kernel内核、rootfs根文件系统、disk存储分区和data用户应用程序数据。Bootloader是硬件系统加电所运行的第一段软件代码,但在嵌入式系统中一般没有像PC中的B1S那样的固件,因此整个系统的加载过程全部由Bootloader来完成的。系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Bootloader。Bootloader的主要任务包括:初始化最基本的硬件;将Bootloader本身拷贝到RAM中运行;将内核拷贝到RAM中并调用内核等。文件系统,包括根文件系统和建立于Flash内存设备之上的文件系统,通常用ramdisk来作为rootfs。通常在嵌入式系统中,首先通过JTAG接口将Bootloader烧写到目标板的Flash中,然后再Bootloader中,将内核映像文件和文件系统映像文件通过串口和网络下载并烧写到Flash中。若需对内核或文件系统升级,则按照上述方法重新烧写新的映像文件,直接覆盖原来的映像文件。上述方法中,一方面必须对目标板和PC端通过串口线和网线相连接并下载映像文件,需要PC端软件进行控制操作,操作步骤复杂;另一方面,大部分移动设备还另外提供外部SD卡缓存映像文件进行刷机,但耗时长,操作步骤繁多;最后,以上述两种升级方法均从Bootloader层次对系统进行升级,容易导致系统损坏,需要返厂维修,风险性高。
技术实现思路
本专利技术的目的在于针对上述现有技术中存在的问题,提出一种嵌入式系统升级方法,可实现定制分区内容升级,即便于升级操作,又提高了系统升级的安全性。为达到上述专利技术的目的,本专利技术通过以下技术方案实现:一种嵌入式系统升级方法,包括如下步骤:步骤S10,接收到Bootloader启动的状态信号后,扫描嵌入式系统的存储分区,若所述存储分区已存储升级文件包,则读取所述升级文件包的标识信息;步骤S20,读取嵌入式系统环境分区所存储的当前系统信息,若所述标识信息与所述当前系统信息不同,则校验所述升级文件包;步骤S30,若校验升级文件包成功,则解析并获取升级文件包中的升级子文件;步骤S40,将升级子文件覆盖到待升级分区,并将所述标识信息写入嵌入式系统环境分区。进一步,所述步骤S20对升级文件包的校验采用MD5校验,或是采用循环冗余校验,或是SHA校验,或是RIPEMD算法校验。所述升级文件包中包括有文件识别头信息、升级信息头、内核升级子文件和根文件系统升级子文件,文件识别头信息用于指定待升级分区以及与该待升级分区所需的升级子文件,升级信息头包括有内核升级子文件和根文件系统升级子文件的各自对应的头文件信息。所述步骤S30解析并获取升级文件包中升级子文件的方法是,根据升级信息头的头文件信息从升级文件包中读取内核升级子文件和根文件系统升级子文件;所述步骤S40则将内核升级子文件和根文件系统升级子文件分别覆盖到文件识别头信息指向的内核分区和根文件系统分区,或者仅将内核升级子文件覆盖到内核分区,或者仅将根文件系统升级子文件覆盖到根文件系统分区。所述存储分区通过嵌入式系统具有的usb端口从外部获取升级文件包。本专利技术还涉及一种嵌入式系统升级系统,其包括:读取单元,接收到Bootloader启动的状态信号后,扫描嵌入式系统的存储分区,若所述存储分区已存储升级文件包,则读取所述升级文件包的标识信息;校验单元,读取嵌入式系统环境分区所存储的当前系统信息,若所述标识信息与所述当前系统信息不同,则校验所述升级文件包;解析单元,用于解析所述校验成功的升级文件包并获取其中的升级子文件;升级单元,用于将升级子文件覆盖到待升级分区,并将所述标识信息写入嵌入式系统环境分区。进一步,所述校验单元对升级文件包的校验采用MD5校验,或是采用循环冗余校验,或是SHA校验,或是RIPEMD算法校验。所述升级文件包中包括有文件识别头信息、升级信息头、内核升级子文件和根文件系统升级子文件,文件识别头信息用于指定待升级分区以及与该待升级分区所需的升级子文件,升级信息头包括有内核升级子文件和根文件系统升级子文件的各自对应的头文件信息。所述解析单元对升级文件包的解析,是根据升级信息头的头文件信息从升级文件包中读取内核升级子文件和根文件系统升级子文件;升级单元则将内核升级子文件和根文件系统升级子文件分别覆盖到文件识别头信息指向的内核分区和根文件系统分区,或者仅将内核升级子文件覆盖到内核分区,或者仅将根文件系统升级子文件覆盖到根文件系统分区。所述存储分区通过嵌入式系统具有的usb端口从外部设备获取升级文件包。本专利技术的一种嵌入式系统升级方法及系统,是在Bootloader挂载的文件系统中进行升级操作,避免升级Bootloader错误导致系统损坏;自身系统中的disk分区作为存储设备进行存放升级文件,同时采用升级信息头来记录内核升级子文件和根文件系统升级子文件的各自对应的头文件信息,采用文件识别头信息可以起到校验升级子文件的数据完整和指引升级子文件准确覆盖到特定分区的作用,因此提高了升级系统的安全性;异步升级,即先缓冲升级文件到嵌入式设备中,再升级,有利于全面检测校验升级包,相比传统升级方法,可指定升级特定分区数据,可以做到产品的最小化升级,大大提高速度跟安全性。【附图说明】图1为嵌入式系统分区结构及当先系统信息示意图。图2为本专利技术的嵌入式系统升级方法中升级文件包的组成结构图。图3为本专利技术的嵌入式系统升级方法步骤图。图4为本专利技术实现的简便操作步骤图。【具体实施方式】下面结合附图和实施例对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。请参阅图1至图3,图1为嵌入式系统分区结构及当先系统信息示意图。图2为本专利技术的嵌入式系统升级方法中升级文件包的组成结构图。图3为本专利技术的嵌入式系统升级方法步骤图。对系统进行升级,目前通常的实现方法是通过jtag升级方式或是存储卡卡刷升级系统,如图1所示的嵌入式系统分区结构图,以上两者方式对系统的升级均包括了Bootloader、内核分区和根系统文件分区,由于Bootloader负责系统启动的硬件上电初始化,一旦升级错误将导致嵌入式系统损坏,而不得不返回厂家处理,本专利技术的方法和系统实现了只升级内核分区和根系统文件分区,使得消费者能够安全便捷的对电子产品嵌入式当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种嵌入式系统升级方法,其特征在于,包括如下步骤:步骤S10,接收到Bootloader启动的状态信号后,扫描嵌入式系统的存储分区,若所述存储分区已存储升级文件包,则读取所述升级文件包的标识信息;步骤S20,读取嵌入式系统环境分区所存储的当前系统信息,若所述标识信息与所述当前系统信息不同,则校验所述升级文件包;步骤S30,若校验升级文件包成功,则解析并获取升级文件包中的升级子文件;步骤S40,将升级子文件覆盖到待升级分区,并将所述标识信息写入嵌入式系统环境分区。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓维爱陈家翔
申请(专利权)人:广州快飞计算机科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1