CN101299190B - 一种只读文件系统下的软件升级方法、系统及嵌入式设备 - Google Patents

一种只读文件系统下的软件升级方法、系统及嵌入式设备 Download PDF

Info

Publication number
CN101299190B
CN101299190B CN200810068092.1A CN200810068092A CN101299190B CN 101299190 B CN101299190 B CN 101299190B CN 200810068092 A CN200810068092 A CN 200810068092A CN 101299190 B CN101299190 B CN 101299190B
Authority
CN
China
Prior art keywords
file destination
upgrading
data
software
upgrading file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200810068092.1A
Other languages
English (en)
Other versions
CN101299190A (zh
Inventor
张国伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Coship Electronics Co Ltd
Original Assignee
Shenzhen Coship Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Coship Electronics Co Ltd filed Critical Shenzhen Coship Electronics Co Ltd
Priority to CN200810068092.1A priority Critical patent/CN101299190B/zh
Publication of CN101299190A publication Critical patent/CN101299190A/zh
Application granted granted Critical
Publication of CN101299190B publication Critical patent/CN101299190B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明适用于软件升级领域,提供了一种只读文件系统下的软件升级方法、系统及嵌入式设备,所述方法包括以下步骤:获取升级数据;调用存储器的底层驱动写函数将升级数据写入存储器中。在本发明中,在获取到升级数据时,调用存储器的底层驱动写函数将升级数据写入存储器中。这样,不仅能够实现只读文件系统下的软件升级而且升级方法操作较为简单,实用。

Description

一种只读文件系统下的软件升级方法、系统及嵌入式设备
技术领域
本发明属于软件升级领域,尤其涉及一种只读文件系统下的软件升级方法、系统及嵌入式设备。
背景技术
随着嵌入式设备的广泛使用,用户经常需要对嵌入式设备的应用程序进行升级。目前,嵌入式设备的软件升级方法有串口升级、网口升级、以及空中下载(Over The Air,OTA)升级。
由于串口升级方法、网口升级方法是在嵌入式设备的操作系统启动之前进行升级,其升级操作较为复杂,不仅需要专业的人员实施,还需要专业的串口升级工具。
而OTA升级方法虽然升级比较方便,但是需要前端提供升级流,并且在前端提供升级流时,嵌入式设备必须处于开机状态。
发明内容
本发明实施例的目的在于提供一种只读文件系统下的软件升级方法,旨在解决现有的升级方法操作较为复杂,不仅需要专业的人员实施,而且还需要专业的设备的问题。
本发明实施例是这样实现的,一种只读文件系统下的软件升级方法,所述方法包括以下步骤:
获取升级数据;
调用存储器的底层驱动写函数将升级数据写入存储器中,所述存储器被划分为两个存储分区,一个存储分区存储需要升级的软件的数据,而另一个存储分区存储其它不需要升级的文件的数据;
所述升级数据写入至存储需要升级的软件的数据的存储分区;
所述获取升级数据的步骤具体包括以下步骤:
获取升级目标文件;
读取所述升级目标文件中的升级数据。
本发明实施例的另一目的在于提供一种只读文件系统下的软件升级系统,所述软件升级系统包括:
升级数据获取模块,用于获取升级数据;以及
写函数调用模块,用于调用存储器的底层驱动写函数将升级数据写入存储器中,所述存储器被划分为两个存储分区,一个存储分区存储需要升级的软件的数据,而另一个存储分区存储其它不需要升级的文件的数据;
所述升级数据写入至存储需要升级的软件的数据的存储分区;
所述升级数据获取模块具体包括:
升级目标文件获取模块,用于获取升级目标文件;以及
升级数据读取模块,用于读取所述升级目标文件中的升级数据。
本发明实施例的另一目的在于提供一种嵌入式设备,所述嵌入式设备包括一只读文件系统下的软件升级系统,所述系统包括:
升级数据获取模块,用于获取升级数据;以及
写函数调用模块,用于调用存储器的底层驱动写函数将升级数据写入存储器中,所述存储器被划分为两个存储分区,一个存储分区存储需要升级的软件的数据,而另一个存储分区存储其它不需要升级的文件的数据;
所述升级数据写入至存储需要升级的软件的数据的存储分区;
所述升级数据获取模块具体包括:
升级目标文件获取模块,用于获取升级目标文件;以及
升级数据读取模块,用于读取所述升级目标文件中的升级数据。
在本发明的实施例中,在获取到升级数据时,调用存储器的底层驱动写函数将升级数据写入存储器中。这样,不仅能够实现只读文件系统下的软件升级而且升级方法操作较为简单,实用。
附图说明
图1是本发明实施例提供的只读文件系统下的软件升级方法的实施流程图;
图2是本发明实施例提供的只读文件系统下的软件升级系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的实施例中,在获取到升级数据时,调用存储器的底层驱动写函数将升级数据写入存储器中。这样,不仅能够实现只读文件系统下的软件升级而且升级方法操作较为简单,实用。
图1示出了本发明实施例提供的只可读文件系统下的软件升级方法的实施流程,详述如下:
在步骤S101中,获取软件的升级目标文件。
为了方便快捷的获取软件的升级目标文件,作为本发明的实施例,可定期检测该软件相关的发布网站上是否有可用的升级目标文件,检测到可用的升级目标文件时,下载该升级目标文件。当然,用户也可以手动去获取该软件的升级目标文件,例如通过打开相关网站的网页寻找升级目标文件,并下载到移动硬盘,U盘等存储介质中,或者,直接从运营商、厂商处获得软件升级文件。
在步骤S102中,验证该软件的升级目标文件是否正确。
一般来讲,软件的升级目标文件具有软件版本号、所适用的硬件版本号等描述信息。对于不同硬件型号的嵌入式设备,其硬件环境也可能不同,作为本发明的实施例,可以验证该软件的升级目标文件的所适用的硬件版本号是否正确,即验证所适用的硬件版本号与需要安装的嵌入式设备的硬件环境是否一致。
为了确保升级目标文件的软件版本号的正确性,作为本发明的实施例,可以验证该软件的升级目标文件的软件版本号是否正确。
为了确保升级目标文件数据的完整性,作为本发明的实施例,可以在升级目标文件中增加一校验码,通过验证校验码来验证升级目标文件的数据完整性。
在升级目标文件的验证过程中,可以对升级目标文件的软件版本号、所适用的硬件版本号及数据完整性均进行验证,也可以仅对其中一个或两个进行验证。
在步骤S103中,读取升级目标文件中的升级数据。
在步骤S104中,调用存储器的底层驱动写函数将升级数据写入存储器中。
对于只读文件系统来讲,其只读特性只能体现在高层的文件操作上,对于底层的设备节点读写函数是不起作用的,而通过存储器的底层驱动写函数实现数据的写入时,会损坏已有的文件系统。由于需要经常升级的软件与其它一些不需要升级的文件存放于一个存储分区中,因此,为了保证存储分区的数据完整性,不仅需要将软件的升级数据写入该存储分区中,同时还需要写入其它不需要升级的文件的数据,因此,不仅使得升级的时间较长,而且需要获取存储分区中的其它数据。为避免上述情况,作为本发明的实施例,可以从存储分区中独立出需要升级的软件的数据,即将该存储分区划分为两个存储分区,一个存储需要升级的软件的数据,而另一个则存储剩余的数据。因此,在升级的时候,只需要将软件的升级数据写入存储需要升级的软件的数据的那个分区即可。
图2示出了本发明实施例提供的只读文件系统下的软件升级系统的结构,该软件升级系统可以为内置于嵌入式设备中的软件单元、硬件单元或软硬结合的单元。该系统包括升级数据获取模块21及写函数调用模块22。升级数据获取模块具备包括升级目标文件获取模块211以及升级数据读取模块215。而升级目标文件获取模块211又包括升级目标文件检测模块2111及升级目标文件下载模块2112。
升级数据获取模块21获取升级数据,写函数调用模块22调用存储器的底层驱动写函数将升级数据写入存储器中。其中,升级数据获取模块21获取升级数据的过程为:升级目标文件获取模块211获取升级目标文件,升级数据读取模块215读取该升级目标文件中的升级数据。为了保证获取的升级目标文件的准确性,在数据获取模块21中还可以增加硬件版本号验证模块212、软件版本号验证模块213、数据完整性验证模块214中至少一个。由硬件版本号验证模块212验证升级目标文件的硬件版本号,由软件版本号验证模块213验证升级目标文件的软件版本号,以及,由数据完整性验证模块214验证升级目标文件的数据是否完整。升级目标文件获取模块211获取升级目标文件的过程为:升级目标文件检测模块2111检测软件相关的发布网站上是否有升级目标文件,当检测到升级目标文件时,升级目标文件下载模块2112下载该升级目标文件。
综上所述,在获取到升级数据时,调用存储器的底层驱动写函数将升级数据写入存储器中。这样,不仅能够实现只读文件系统下的软件升级而且升级方法操作较为简单,实用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种只读文件系统下的软件升级方法,其特征在于,所述方法包括以下步骤:
获取升级数据;
调用存储器的底层驱动写函数将升级数据写入存储器中,所述存储器被划分为两个存储分区,一个存储分区存储需要升级的软件的数据,而另一个存储分区存储其它不需要升级的文件的数据;
所述升级数据写入至存储需要升级的软件的数据的存储分区;
所述获取升级数据的步骤具体包括以下步骤:
获取升级目标文件,所述升级目标文件具有软件版本号、所适用的硬件版本号;
读取所述升级目标文件中的升级数据。
2.如权利要求1所述的方法,其特征在于,所述获取升级目标文件的步骤包括:
检测软件相关的发布网站上是否有升级目标文件;
当检测到升级目标文件时,下载所述升级目标文件。
3.如权利要求1所述的方法,其特征在于,在所述读取所述升级目标文件中的升级数据的步骤之前,所述方法还包括以下步骤中的一个或多个:
验证升级目标文件的硬件版本号;
验证升级目标文件的软件版本号;
验证升级目标文件的数据是否完整。
4.一种只读文件系统下的软件升级系统,其特征在于,所述软件升级系统包括:
升级数据获取模块,用于获取升级数据;以及
写函数调用模块,用于调用存储器的底层驱动写函数将升级数据写入存储器中,所述存储器被划分为两个存储分区,一个存储分区存储需要升级的软件的数据,而另一个存储分区存储其它不需要升级的文件的数据;
所述升级数据写入至存储需要升级的软件的数据的存储分区;
所述升级数据获取模块具体包括:
升级目标文件获取模块,用于获取升级目标文件,所述升级目标文件具有软件版本号、所适用的硬件版本号;以及
升级数据读取模块,用于读取所述升级目标文件中的升级数据。
5.如权利要求4所述的系统,其特征在于,所述升级目标文件获取模块又包括:
升级目标文件检测模块,用于检测软件相关的发布网站上是否有升级目标文件;以及
升级目标文件下载模块,用于当检测到升级目标文件时,下载所述升级目标文件。
6.如权利要求4所述的系统,其特征在于,所述升级数据获取模块还包括以下至少一个模块:
硬件版本号验证模块,用于验证升级目标文件的硬件版本号;
软件版本号验证模块,用于验证升级目标文件的软件版本号;以及
数据完整性验证模块,用于验证升级目标文件的数据是否完整。
CN200810068092.1A 2008-06-30 2008-06-30 一种只读文件系统下的软件升级方法、系统及嵌入式设备 Expired - Fee Related CN101299190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810068092.1A CN101299190B (zh) 2008-06-30 2008-06-30 一种只读文件系统下的软件升级方法、系统及嵌入式设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810068092.1A CN101299190B (zh) 2008-06-30 2008-06-30 一种只读文件系统下的软件升级方法、系统及嵌入式设备

Publications (2)

Publication Number Publication Date
CN101299190A CN101299190A (zh) 2008-11-05
CN101299190B true CN101299190B (zh) 2014-09-03

Family

ID=40079023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810068092.1A Expired - Fee Related CN101299190B (zh) 2008-06-30 2008-06-30 一种只读文件系统下的软件升级方法、系统及嵌入式设备

Country Status (1)

Country Link
CN (1) CN101299190B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853190B (zh) * 2010-06-04 2012-07-04 华中科技大学 一种适用于嵌入式处理器的数据完整性验证方法
CN102981871A (zh) * 2012-11-06 2013-03-20 深圳市同洲电子股份有限公司 应用程序的安装方法、装置和终端
CN103761126B (zh) * 2014-01-07 2017-03-15 中国神华能源股份有限公司 应用程序的升级方法和装置
CN104298532B (zh) * 2014-11-04 2018-05-01 上海斐讯数据通信技术有限公司 一种软件升级方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
CN1991761A (zh) * 2005-12-30 2007-07-04 北京华旗资讯数码科技有限公司 一种固件程序在线升级的方法及硬件设备
CN101021797A (zh) * 2007-04-06 2007-08-22 中兴通讯股份有限公司 一种用于嵌入式系统的软件修复和升级方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
CN1991761A (zh) * 2005-12-30 2007-07-04 北京华旗资讯数码科技有限公司 一种固件程序在线升级的方法及硬件设备
CN101021797A (zh) * 2007-04-06 2007-08-22 中兴通讯股份有限公司 一种用于嵌入式系统的软件修复和升级方法

Also Published As

Publication number Publication date
CN101299190A (zh) 2008-11-05

Similar Documents

Publication Publication Date Title
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
US8423991B2 (en) Embedded network device and firmware upgrading method
CN103677947B (zh) 基于linux的设备双系统保护及升级方法
CN106020861B (zh) 一种智能手表的fota升级方法及系统
CN103324507A (zh) 一种终端预置应用程序更新的方法和装置
CN102541676B (zh) 一种nand flash的状态检测及映射方法
CN102880495A (zh) 移动终端及其软件升级方法
CN103150231A (zh) 计算机开机的方法与计算机系统
CN104123153A (zh) 用于使用usb升级固件的装置与方法
WO2016078263A1 (zh) 升级控制设备、终端、终端升级方法及系统、存储介质
US9710340B2 (en) Replacement of a corrupt driver variable record
CN107402776A (zh) 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法
CN102163155A (zh) 存储设备的升级方法及升级控制装置
CN101169729A (zh) 嵌入式系统及其更新应用程序的方法
CN101299190B (zh) 一种只读文件系统下的软件升级方法、系统及嵌入式设备
CN103106095A (zh) 一种工业照相机远程升级的方法及照相机
CN102650949A (zh) 一种存储设备的固件升级的方法及装置
CN108205446A (zh) 固件修复方法及装置
CN102609290B (zh) 电子产品的软件升级方法
CN105637521A (zh) 一种数据处理方法及智能终端
CN105700903A (zh) 一种用户终端的升级方法和用户终端
CN101330695A (zh) 一种移动终端及其系统升级的方法和装置
CN102662688A (zh) 一种Nor flash更新方法及装置
CN101667133B (zh) 固件更新方法和使用该方法更新固件的芯片
CN106201584B (zh) 版本升级方法及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140903

CF01 Termination of patent right due to non-payment of annual fee