CN1466047A - 一种嵌入式操作系统半开放自动升级的方法 - Google Patents

一种嵌入式操作系统半开放自动升级的方法 Download PDF

Info

Publication number
CN1466047A
CN1466047A CNA021234523A CN02123452A CN1466047A CN 1466047 A CN1466047 A CN 1466047A CN A021234523 A CNA021234523 A CN A021234523A CN 02123452 A CN02123452 A CN 02123452A CN 1466047 A CN1466047 A CN 1466047A
Authority
CN
China
Prior art keywords
upgrade
upgrading
embedded
semi
update
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.)
Granted
Application number
CNA021234523A
Other languages
English (en)
Other versions
CN1266595C (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 02123452 priority Critical patent/CN1266595C/zh
Publication of CN1466047A publication Critical patent/CN1466047A/zh
Application granted granted Critical
Publication of CN1266595C publication Critical patent/CN1266595C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

一种嵌入式操作系统半开放自动升级的方法,它至少包括如下步骤:在嵌入式系统中保留一升级标识信息存储区域,为在硬盘上开设的一区域;在该区域中设置升级标识;系统每次启动时自动读取升级标识;如标识为升级系统,在指定位置获取升级内容,自动完成升级过程;如果标识为不升级,系统维持原状态。升级内容为设置在集成在本机上一存储区内的升级驱动内容或为另一个外挂的操作系统引导上的升级驱动内容。本发明基于一种半开放操作系统架构,升级程序能够自动运行,完成新硬件驱动的安装或软件的升级。采用本发明,可以利用特定工具对已有软件系统进行更新,以几乎零成本实现了系统升级,而且极大地延长了系统的生命周期。

Description

一种嵌入式操作系统半开放自动升级的方法
技术领域
本发明涉及一种嵌入式操作系统的升级方法,尤其是一种嵌入式操作系统半开放自动升级的方法,属于计算机技术领域。
背景技术
随着各种消费电子产品的不断开发,大量的消费电子采用嵌入式系统,因此嵌入式系统得到了广泛的应用。嵌入式系统是指那些为特定功能设计的具有小的尺寸、低的功耗、专用、特定设计的操作系统。为了保证系统的稳定性、可靠性,一般的嵌入式系统都是封闭的系统,即用户不能自己安装软件和驱动,这虽然防止了系统软件被破坏,但同时也增加了系统升级的困难度。一般嵌入式系统要软件升级或更换硬件,都必须重新建立新的系统软件,重新对系统进行软件写入。
例如,以X86嵌入式系统实现PC家电化的应用中,其实现的硬件平台完全是普通PC的硬件,这样面临的一个问题是,PC硬件的更新非常频繁,例如:声卡、显卡。如果每更新一个硬件,嵌入式系统就重新生成一次,会浪费大量的时间和成本,所以采用只更新驱动的方式。
发明内容
本发明的目的在于提供一种嵌入式操作系统半开放自动升级的方法,它基于一种半开放操作系统架构,能够自动运行升级程序,完成新硬件驱动的安装或软件的升级。
本发明的目的是这样实现的:一种嵌入式操作系统半开放自动升级的方法,它至少包括如下步骤:在嵌入式系统中保留一升级标识信息存储区域,为在硬盘上开设的一区域;在该区域中设置升级标识;系统每次启动时自动读取升级标识;如标识为升级系统,在指定位置获取升级内容,自动完成升级过程;如果标识为不升级,系统维持原状态。
指定位置为将升级内容集成在本机上一存储区内的位置或为另一个外挂的集成升级驱动内容的位置。
所述的设置升级标识步骤还进一步包括按照预定协议将升级标识信息存储区域写入数据后,进行合法性校验,并将校验码存储;校验码为合法的,则表示系统升级完成;校验码为非法的,则表示系统升级没有完成;系统每次启动时自动检测升级区域的校验码。
另外,升级标识信息存储区域记录一个或一个以上需要更新的升级驱动内容类型。
所述的升级标识信息存储区域还记录本次升级写入有效数据的扇区数量,用于升级程序正确读取升级数据。
所述的向硬盘写入升级信息步骤包括进行CRC检验,并记录其校验码,对升级数据的正确性和完整性进行确认。
根据上述技术方案分析可知,本发明的方法主要是为那种需要经常更新硬件的嵌入式系统设计的,在通常情况下,嵌入式系统都是针对一套固定硬件平台的软件系统,一旦对硬件更新,只有重新建立新的系统软件,对于用户来说,系统是不可升级的。采用这种方案,可以利用特定工具对已有软件系统进行更新,以几乎零成本实现了系统升级,而且极大地延长了系统的生命周期。
附图说明
图1为本发明写入部分的程序流程图.
图2为本发明自动升级方法流程图。
图3为本发明隐藏分区的结构示意图。
图4为本发明标识区的具体结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步地详细说明。
本发明为一种嵌入式操作系统半开放自动升级的方法,其中“半开放”的含义是指嵌入式操作系统以简单协议来获取信息,决定是否需要进行软件升级或更换硬件,也就是说,系统并不是完全封闭的,由此带来的安全性问题可以采用一些有效的安全机制进行弥补。这种开放实际上是一种内部的开放。基本内容为:在嵌入式系统中保留了一小块区域用于记录升级信息。当需要进行软件升级或者更换硬件时,启动工具软件,按预定协议向升级信息记录区写入必要数据,这中间需要合法性校验。然后退出并进入嵌入式系统。嵌入式系统每次检测升级区域的校验码,如果需要升级,就由嵌入式系统自动完成所有升级过程,这里采用的安全机制是,如果升级失败了,将回到未升级前的状态。
为单功能系统保留了一个“后门”,即系统每次启动时自动到硬盘的指定位置读取升级标识,这个过程并不会给系统带来什么负担。开启后门的唯一钥匙是我们另外开发的一个引导程序:HPASetup.exe。在硬盘上开辟一隐藏分区,HPASetup.exe可以打开隐藏分区。隐藏分区的结构如图3,其中的标识区就是所设定的升级标识。标识区的具体结构见图4,其数据结构是这样的:假设升级标识区的LBA寻址方式地址为UDLBA,UDLBA根据不同的硬盘获得的值不一样。从UDLBA开始,第一个扇区记录扇区的配置信息。该扇区前8个字节为该扇区的标识,第9个字节记录需要更新的硬件驱动的总个数,如果是一个大于0的数N,表示需要更新N个硬件的驱动,例如0:升级包、1:显卡、2:声卡、3:鼠标、4:显示器。如果是0,表示不进行驱动更新(通常情况下该值为0)。第10个字节记录本次升级共向多少扇区写入了有效数据。每次向硬盘写入升级信息均需要进行CRC校验,扇区的最后8个字节用来记录校验码。该扇区的其他字节为保留区域。
升级标识区就是嵌入式系统从外界获取数据的媒介,它存在于隐藏分区中,不会被一般的系统和常用磁盘工具识别。一个实际更新驱动的例子:系统中原来显卡的驱动是针对Sis6323的,现在显卡换成了TNT2 Model 64。
具体实施例一:原来的系统中已经集成了TNT2 Model 64的驱动。用光盘启动PC,自动进入HPASetup.exe程序,进入更换硬件菜单选项,选择更换显卡驱动,选择TNT2 Model 64,确定,重启机器。HPASetup.exe将向从94000000开始的硬盘扇区写入了如表1至表2的结构:表1:
    字节1-8     第9字节     第10字节     字节505-512
    UDBLOCK     1     2     保留     校验码
其中:UDBLOCK扇区为第94000000(UDLBA)扇区。表2:
  第1个字节   第2个字节 字节3-256   第257字节   第258字节 字节259-512
  1   21     /driver/1/tnt2m64.rpm   0   0  0
其中:从第1个字节开始的扇区为第94000001(UDLBA+1)扇区。
具体实施例二:系统中并没有集成过TNT2 Model 64的驱动,但是维护人员手上有新显卡的rpm包。将rpm包放到光盘上,用光盘启动PC,自动进入HPASetup.exe程序,进入升级包安装选项,输入rpm包的绝对路径,确定,退出HPASetup.exe并且重起计算机。HPASetup.exe将向从94000000开始的硬盘扇区写入以下数据,如表3:表3:
    字节1-8     第9字节     第10字节     字节505-512
    UDBLOCK     1     2     保留     校验码
其中:UDBLOCK扇区为第94000000(UDLBA)扇区。表4:
第1个字节   第2个字节 字节3-256   第257字节   第258字节 字节259-512
  1   24     /mnt/cdrom/tnt2m64.rpm   0   0   0
其中:从第1个字节开始的扇区为第94000001(UDLBA+1)扇区。
嵌入式系统完成的工作:检测第94000000扇区开始的第9个字节,如果N=0,正常启动;如果N>0,按照N的大小读取第94000001扇区开始的区域,获得rpm包的类型为显卡,地址为/mnt/cdrom/tnt2m64.rpm,其他相关字节用于校验合法性。然后记录开始升级标记(在其他硬盘保留区域),运行rpm包进行升级,如果成功完成,修改去掉升级标记并把94000000开始的第9字节置0。
以上实施例仅用以说明本发明而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改、变形或者等同替换,而不脱离本发明的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1、一种嵌入式操作系统半开放自动升级的方法,其特征在于:它至少包括如下步骤:在嵌入式系统中保留一升级标识信息存储区域,在该区域中设置升级标识;系统每次启动时自动读取升级标识;如标识为升级系统,在指定位置获取升级内容,自动完成升级过程;如果标识为不升级,系统维持原状态。
2、根据权利要求1所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的指定位置为将升级内容集成在本机上一存储区内的位置或为另一个外挂的集成升级驱动内容的位置。
3、根据权利要求1所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的存储区域为在硬盘上开设的一区域。
4、根据权利要求3所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的区域为隐藏分区。
5、根据权利要求1或2或3或4所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的设置升级标识步骤还进一步包括按照预定协议将升级标识信息存储区域写入数据后,进行合法性校验,并将校验码存储;校验码为合法的,则表示系统升级完成;校验码为非法的,则表示系统升级没有完成;系统每次启动时自动检测升级区域的校验码。
6、根据权利要求1或2或3或4所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的升级标识信息存储区域记录一个或一个以上需要更新的升级驱动内容类型。
7、根据权利要求1或2或3或4所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的升级标识信息存储区域还记录本次升级写入有效数据的扇区数量,用于升级程序正确读取升级数据。
8、根据权利要求5或6或7所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的向硬盘写入升级信息步骤包括进行循环冗余校验(CRC),并记录其校验码,用于对升级数据的正确性和完整性进行确认。
9、根据权利要求8所述的嵌入式操作系统半开放自动升级的方法,其特征在于:所述的向硬盘写入升级信息包括升级标识或写扇区数量或装载升级内容或记录校验码或其组合。
CN 02123452 2002-06-28 2002-06-28 一种嵌入式操作系统半开放自动升级的方法 Expired - Lifetime CN1266595C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02123452 CN1266595C (zh) 2002-06-28 2002-06-28 一种嵌入式操作系统半开放自动升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02123452 CN1266595C (zh) 2002-06-28 2002-06-28 一种嵌入式操作系统半开放自动升级的方法

Publications (2)

Publication Number Publication Date
CN1466047A true CN1466047A (zh) 2004-01-07
CN1266595C CN1266595C (zh) 2006-07-26

Family

ID=34142330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02123452 Expired - Lifetime CN1266595C (zh) 2002-06-28 2002-06-28 一种嵌入式操作系统半开放自动升级的方法

Country Status (1)

Country Link
CN (1) CN1266595C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351786C (zh) * 2004-03-17 2007-11-28 联想(北京)有限公司 计算机帮助系统和实现方法
CN100375026C (zh) * 2005-09-13 2008-03-12 联想(北京)有限公司 快速存储设备软件的安装/更新方法
CN100375959C (zh) * 2004-12-28 2008-03-19 光宝科技股份有限公司 可自动更新嵌入式系统的系统软件的装置及方法
CN100440149C (zh) * 2006-02-13 2008-12-03 株式会社Ntt都科摩 更新启动装置及更新启动控制方法
CN100452724C (zh) * 2006-10-19 2009-01-14 杭州华三通信技术有限公司 自动选择升级时间的方法及装置
US7493612B2 (en) 2004-12-09 2009-02-17 Lite-On Technology Corp. Embedded system and related method capable of automatically updating system software
CN100465893C (zh) * 2006-08-29 2009-03-04 华南理工大学 一种嵌入式操作系统驱动程序动态升级方法
CN100474183C (zh) * 2004-11-19 2009-04-01 Vega格里沙贝两合公司 识别设备软件和设备驱动程序间功能不一致的系统和方法
CN101194228B (zh) * 2005-06-10 2011-10-19 爱特梅尔公司 执行微处理器和微控制器的子例行程序的快速返回的装置
CN103123586A (zh) * 2011-11-17 2013-05-29 英业达股份有限公司 基于Linux嵌入式操作系统的升级装置及方法
CN103246536A (zh) * 2013-04-28 2013-08-14 常州南京大学高新技术研究院 物联定位系统的固件无线升级方法
CN105612496A (zh) * 2013-09-13 2016-05-25 微软技术许可有限责任公司 基于存储的生命周期信息来自动推荐更新
CN106126297A (zh) * 2016-06-30 2016-11-16 西安诺瓦电子科技有限公司 基于Android操作系统的系统升级方法
CN110427200A (zh) * 2019-07-17 2019-11-08 陕西千山航空电子有限责任公司 一种软件在线更新方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351786C (zh) * 2004-03-17 2007-11-28 联想(北京)有限公司 计算机帮助系统和实现方法
CN100474183C (zh) * 2004-11-19 2009-04-01 Vega格里沙贝两合公司 识别设备软件和设备驱动程序间功能不一致的系统和方法
US7493612B2 (en) 2004-12-09 2009-02-17 Lite-On Technology Corp. Embedded system and related method capable of automatically updating system software
CN100375959C (zh) * 2004-12-28 2008-03-19 光宝科技股份有限公司 可自动更新嵌入式系统的系统软件的装置及方法
CN101194228B (zh) * 2005-06-10 2011-10-19 爱特梅尔公司 执行微处理器和微控制器的子例行程序的快速返回的装置
CN100375026C (zh) * 2005-09-13 2008-03-12 联想(北京)有限公司 快速存储设备软件的安装/更新方法
CN100440149C (zh) * 2006-02-13 2008-12-03 株式会社Ntt都科摩 更新启动装置及更新启动控制方法
CN100465893C (zh) * 2006-08-29 2009-03-04 华南理工大学 一种嵌入式操作系统驱动程序动态升级方法
CN100452724C (zh) * 2006-10-19 2009-01-14 杭州华三通信技术有限公司 自动选择升级时间的方法及装置
CN103123586A (zh) * 2011-11-17 2013-05-29 英业达股份有限公司 基于Linux嵌入式操作系统的升级装置及方法
CN103246536A (zh) * 2013-04-28 2013-08-14 常州南京大学高新技术研究院 物联定位系统的固件无线升级方法
CN103246536B (zh) * 2013-04-28 2016-01-06 常州南京大学高新技术研究院 物联定位系统的固件无线升级方法
CN105612496A (zh) * 2013-09-13 2016-05-25 微软技术许可有限责任公司 基于存储的生命周期信息来自动推荐更新
CN105612496B (zh) * 2013-09-13 2019-09-24 微软技术许可有限责任公司 用于基于存储的生命周期信息来自动推荐更新的方法和系统
CN106126297A (zh) * 2016-06-30 2016-11-16 西安诺瓦电子科技有限公司 基于Android操作系统的系统升级方法
CN110427200A (zh) * 2019-07-17 2019-11-08 陕西千山航空电子有限责任公司 一种软件在线更新方法
CN110427200B (zh) * 2019-07-17 2023-06-30 陕西千山航空电子有限责任公司 一种软件在线更新方法

Also Published As

Publication number Publication date
CN1266595C (zh) 2006-07-26

Similar Documents

Publication Publication Date Title
CN1266595C (zh) 一种嵌入式操作系统半开放自动升级的方法
EP1739575B1 (en) File system having inverted hierarchical structure
CA2549694C (en) File system having deferred verification of data integrity
EP1739535B1 (en) File system storing transaction records in flash-like media
US7299463B2 (en) Method for atomically updating a plurality of files
CA2550974C (en) Optimized start-up verification of file system integrity
US7366887B2 (en) System and method for loading programs from HDD independent of operating system
US20060224794A1 (en) Using USB memory device to recover operating system
US20030221093A1 (en) System for displaying information on system start-up
TW200529072A (en) A device which updates firmware by a memory card
CN101075194A (zh) 程序代码执行方法及系统及固件更新方法
CN101788913B (zh) 具有内建双可被隐藏操作装置的计算机系统
CN1122215C (zh) 驱动程序的安装方法
CN102063273B (zh) 硬盘管理方法及管理装置
CN1719412A (zh) 更新部分基本输入输出系统的方法
CN1235147C (zh) 应用装置的装置信息管理系统及方法
CN100367200C (zh) 基本输入输出系统的数据储存方法
CN1177810A (zh) 分区的硬盘驱动器和硬盘驱动器的分区方法
CN101556549A (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060726