CN1506822A - 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 - Google Patents
基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 Download PDFInfo
- Publication number
- CN1506822A CN1506822A CNA031093701A CN03109370A CN1506822A CN 1506822 A CN1506822 A CN 1506822A CN A031093701 A CNA031093701 A CN A031093701A CN 03109370 A CN03109370 A CN 03109370A CN 1506822 A CN1506822 A CN 1506822A
- Authority
- CN
- China
- Prior art keywords
- hardware
- upgrading
- software
- reserved area
- embedded system
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明是一种基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法。它包括在嵌入式系统中划出一小块专门区域做升级保留区,在升级保留区中保留一张已初始化的可扩充的备选驱动表,在升级保留区存放可升级硬件的驱动信息、说明信息和可升级应用程序的版本,在系统内集成一个专门用于升级并能挂接升级保留区的可执行升级程序,用户使用该升级程序对所选择的硬件或软件进行更新,如果要更新的硬件是备选驱动表中没有的,那么退出系统,直接向系统升级保留区写入全新的驱动文件,同时扩充备选驱动表的步骤。本发明方法可重用性强,具有较高安全保证,拥有对未知硬件的扩展接口,使用一套软件平台可适应多个不同的硬件平台。
Description
技术领域
本发明属于程序控制技术领域,具体地说是一种基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法。
背景技术
嵌入式系统因为考虑到稳定性、可靠性,一般都是封闭的系统,一旦需要更新硬件或应用软件就需要重新建立整个软件系统。陈卫华等在公开的嵌入式操作系统半自动升级方案中采用了每次硬件改动就从外部写入硬件驱动和升级标记,然后由系统完成升级的方法,但是很多时候可能只是有限几种硬件的更换,每次用外部程序写入更新信息完全没有必要,而且作为嵌入式操作系统应当尽量减少以外挂方式向系统写入数据,以保证系统的安全性。
发明内容
为克服上述不足,本发明的目的是提供一种基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法,当发生硬件或软件更新时,它可以尽可能少地从外界获取升级信息,尽量在封闭的环境中完成相应的硬件驱动更新和软件更新。
为完成上述目的,本发明采用的技术方案为:基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法,其步骤包括:
(a)在嵌入式系统中划出一专门区域做升级保留区,在升级保留区中保留一张已初始化的可扩充的备选驱动表;
(b)在升级保留区存放可升级硬件的驱动信息和说明信息、可升级应用程序的版本;
(c)在系统内集成一个专门用于升级的能挂接升级保留区的可执行升级程序;
(d)当需要更新硬件或软件时,用户使用该升级程序对用户所选择的硬件或软件进行更新,如果要更新的硬件是备选驱动表中没有的,则退出系统,直接向系统升级保留区写入全新的驱动文件,同时扩充备选驱动表。
需要更新的硬件驱动和软件必须在其加载前进行升级。
升级程序按以下步骤进行升级:
(a)进行身份校验;
(b)若校验通过,则挂接升级保留区并读取备选驱动表,否则重启动系统;
(c)询问是否升级并显示结果供选择,若升级则按用户选择的结果安装升级包,并按需要进行必要配置文件修改,若不升级则继续下一步骤;
(d)卸载升级保留区;
(e)完成升级,重启动系统。
本发明使用一套软件平台,经过简单选择配置即可适应多个不同的硬件平台,它增强了系统的可重用性,在备选驱动表建立比较充分的情况下,所有操作只是在系统内部完成,无需任何外部数据支持,具有较高的安全保证,同时,备选驱动表的可扩展性使得系统拥有对未知硬件的扩展接口。
附图说明
图1是本发明备选驱动表的分区结构图;
图2是本发明的升级程序的流程图;
图3是实施例操作流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
以X86嵌入式系统实现个人电脑家电化,硬件平台基本元素是普通个人电脑的硬件,但同种类硬件拥有几个不同的型号或者类型,这样排列组合的结果有数十种,如果针对每和组合都设计一套软件平台,显然开发和维护成本过高。
参阅图1,本发明在该嵌入式系统中设有一个分区做升级保留区,该升级保留区在默认情况下不挂接。升级保留区中保留一张已初始化的可扩充的备选驱动表,并存放了可升级硬件的驱动信息和说明信息、可升级应用程序的版本。
在系统内集成一个专门用于升级的能挂接升级保留区的可执行升级程序,当需要更新硬件或软件时,用户使用该升级程序对用户所选择的硬件或软件进行更新,如果要更新的硬件是备选驱动表中没有的,则退出系统,直接向系统升级保留区写入全新的驱动文件,同时扩充备选驱动表。
驱动升级程序为一字符界面程序,在内核启动后即可以用转换键加U键呼出。所有需要更新的驱动必须在其加载前进行升级。以更新显卡驱动为例,我们通过启动时发送键码在系统启动时预置了两种方式:一种是直接启动到操作系统,此种显卡驱动已加载,不能进行更新,正常运行时都是这种情况,高级用户可以启动到字符界面然后手动启动操作系统,对显卡驱动的更新需要在这种情况下才能进行。同样的,对任何其他硬件驱动模块也需要在加载前更新。另一种是呼出驱动升级程序,该程序在高级用户模式下自动挂接上升级保留区,然后它按照备选驱动表的结构分别读取出当前可获得的备选驱动列表并列表显示给用户。
一个可能的界面为:当前显卡和要用的显卡,想换个驱动的方法是:首先定义驱动的名称、路径等,安装当前显卡驱动包,运行附加升级程序,某些硬件需要对相应的配置文件进行一些关键字的修改,升级驱动程序以当前显卡为参数,修改显卡驱动配置说明,包括添加段和修改当前使用驱动为要用显卡等,具体硬件各不相同,需要分别给出附加升级程序,完成功能和手工修改配置文件相同。
系统重启后默认进入正常应用中,驱动更新完成。需要注意的是,所有的驱动包应该在实验平台验证无误后再使用。
如图2所示,升级程序作为隐藏的应用集成在系统中可以由转换键加B键呼出,其操作流程是:先进行身份校验,若校验通过,则挂接升级保留区并读取备选驱动表,询问是否升级,然后按用户选择安装升级包,并按需要进行必要配置文件修改,卸载升级保留区,最后完成升级,重启动系统。若身份校验通不过,则直接启动系统。
下面是一个实例:
1.在X86嵌入式系统中设立一个升级保留分区hda18,其结构如下:
其中:BackupDriverList.tab是《备选驱动表》
/hda18 | BackupDriverList.tab | ||
/Driver | /LX_VGA | Tnt2_nv.rpm tnt2_nv.txtGf2_nv.rpm gf2_nv.txt…… | |
/LX_SOUND | …… | ||
/LX_MOUSE | …… | ||
/LX_MONIT | …… | ||
/LX_NET | …… | ||
/LX_KEYBOARD | …… | ||
…… | …… | ||
/Exe | Applieation1.exe…… |
Tnt2_nv.rpm是驱动程序包,tnt2_nv.txt是驱动版本说明。
Application1.exe是一个应用程序。《备选驱动表》BackupDriverList.tab的单元结构如下:Typedef struct HWInfoUnit{
int HWType; //硬件类型 如LX_VGA或APPLICATION
char HWName[80]; //硬件名称 如tnt2_nv或applicationl
char HWDriverLocat[256];
//升级包或程序的位置如/Driver/LX_VGA/tnt2_nv.rpm
或/Exe/Application1.exe};
2.升级程序Update.exe作为隐藏的应用集成在系统中,其操作流程如图3:
(a)进行身份校验;
(b)若校验通过,则挂接升级保留区并读取备选驱动表,否则重启动系统;
(c)询问是否升级并显示结果供选择,若升级则按用户选择的结果安装升级包,并按需
要进行必要配置文件修改,若不升级则继续下一步骤;
(d)卸载升级保留区;
(e)完成升级,重启动系统。
Claims (3)
1、基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法,其特征在于:它包括以下步骤:
(a)在嵌入式系统中划出一专门区域做升级保留区,在升级保留区中保留一张已初始化的可扩充的备选驱动表;
(b)在升级保留区存放可升级硬件的驱动信息和说明信息、可升级应用程序的版本;
(c)在系统内集成一个专门用于升级的能挂接升级保留区的可执行升级程序;
(d)当需要更新硬件或软件时,用户使用该升级程序对用户所选择的硬件或软件进行更新,如果要更新的硬件是备选驱动表中没有的,则退出系统,直接向系统升级保留区写入全新的驱动文件,同时扩充备选驱动表。
2、根据权利要求1所述的基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法,其特征在于:需要更新的硬件驱动和软件必须在其加载前进行升级。
3、根据权利要求1所述的基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法,其特征在于:升级程序按以下步骤进行升级:
(a)进行身份校验;
(b)若校验通过,则挂接升级保留区并读取备选驱动表,否则重启动系统;
(c)询问是否升级并显示结果供选择,若升级则按用户选择的结果安装升级包,并按需
要进行必要配置文件修改,若不升级则继续下一步骤;
(d)卸载升级保留区;
(e)完成升级,重启动系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031093701A CN100399281C (zh) | 2002-12-09 | 2003-04-08 | 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN02155510 | 2002-12-09 | ||
CN02155510.9 | 2002-12-09 | ||
CNB031093701A CN100399281C (zh) | 2002-12-09 | 2003-04-08 | 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1506822A true CN1506822A (zh) | 2004-06-23 |
CN100399281C CN100399281C (zh) | 2008-07-02 |
Family
ID=34276107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031093701A Expired - Lifetime CN100399281C (zh) | 2002-12-09 | 2003-04-08 | 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100399281C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1315043C (zh) * | 2004-06-24 | 2007-05-09 | 华为技术有限公司 | 一种嵌入式程序的兼容性升级方法 |
CN100403263C (zh) * | 2006-08-16 | 2008-07-16 | 华为技术有限公司 | 按配置下载设备软件的方法 |
CN100474183C (zh) * | 2004-11-19 | 2009-04-01 | Vega格里沙贝两合公司 | 识别设备软件和设备驱动程序间功能不一致的系统和方法 |
CN102402445A (zh) * | 2011-11-21 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 一种程序升级的方法、装置及嵌入式设备 |
US8595713B2 (en) | 2004-07-08 | 2013-11-26 | Andrew Llc | Radio base station and a method of operating a radio base station |
CN104407895A (zh) * | 2014-12-01 | 2015-03-11 | 浪潮集团有限公司 | 一种通过扩展传统桥片使x86新平台支持win2000的方法及装置 |
CN105506918A (zh) * | 2015-11-30 | 2016-04-20 | 海信(山东)冰箱有限公司 | 一种洗衣机及其控制方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487907A (zh) * | 2015-12-07 | 2016-04-13 | 青岛海信电器股份有限公司 | 一种差分包的制作方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566335A (en) * | 1993-03-16 | 1996-10-15 | Hewlett-Packard Company | Method and apparatus for firmware upgrades in embedded systems |
US5812857A (en) * | 1996-08-28 | 1998-09-22 | Extended Systems, Inc. | Field configurable embedded computer system |
SE514840C2 (sv) * | 1999-07-08 | 2001-04-30 | Axis Ab | Metod och apparat för uppgradering av fasta program i ett inbyggt system |
CN1154042C (zh) * | 2000-09-26 | 2004-06-16 | 世纪民生科技股份有限公司 | 用于嵌入式微控制单元的更新程序码方法 |
CN1362667A (zh) * | 2001-01-04 | 2002-08-07 | 财团法人资讯工业策进会 | 可快速更新软件的嵌入式系统及其更新软件的方法 |
US6834384B2 (en) * | 2001-03-14 | 2004-12-21 | General Instrument Corporation | Methods and apparatus for upgrading firmware in an embedded system |
-
2003
- 2003-04-08 CN CNB031093701A patent/CN100399281C/zh not_active Expired - Lifetime
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1315043C (zh) * | 2004-06-24 | 2007-05-09 | 华为技术有限公司 | 一种嵌入式程序的兼容性升级方法 |
US8595713B2 (en) | 2004-07-08 | 2013-11-26 | Andrew Llc | Radio base station and a method of operating a radio base station |
CN100474183C (zh) * | 2004-11-19 | 2009-04-01 | Vega格里沙贝两合公司 | 识别设备软件和设备驱动程序间功能不一致的系统和方法 |
CN100403263C (zh) * | 2006-08-16 | 2008-07-16 | 华为技术有限公司 | 按配置下载设备软件的方法 |
CN102402445A (zh) * | 2011-11-21 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 一种程序升级的方法、装置及嵌入式设备 |
CN104407895A (zh) * | 2014-12-01 | 2015-03-11 | 浪潮集团有限公司 | 一种通过扩展传统桥片使x86新平台支持win2000的方法及装置 |
CN105506918A (zh) * | 2015-11-30 | 2016-04-20 | 海信(山东)冰箱有限公司 | 一种洗衣机及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100399281C (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1273891C (zh) | 最小单位地更新多个文件的方法 | |
US7017004B1 (en) | System and method for updating contents of a flash ROM | |
US6711675B1 (en) | Protected boot flow | |
US6990577B2 (en) | Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image | |
US6845464B2 (en) | Performing operating system recovery from external back-up media in a headless computer entity | |
CN1304946C (zh) | 启动和启动代码更新方法 | |
US7017040B2 (en) | BIOS update file | |
US7721284B2 (en) | Deployment of multiple embedded operating system components | |
US20040205745A1 (en) | Method and system for identifying compatibility between firmware images | |
US7000231B1 (en) | Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system | |
EP1271322A2 (en) | Crash recovery system | |
CN1506813A (zh) | 从海量存储设备中可靠和安全地更新和恢复固件 | |
CN1277214C (zh) | 一种嵌入式系统升级的方法 | |
CN100343807C (zh) | 一种Boot软件升级方法和一种Boot软件恢复方法 | |
CN1200341C (zh) | 嵌入式系统中固件程序在线升级的实现方法 | |
JP2002525701A (ja) | Bios−rom内の不揮発性記憶装置の使用を標準化する方法および装置 | |
JP2012527027A (ja) | ランタイム環境を構築するためのシステムおよび方法 | |
US6427236B1 (en) | Method for installing a patch based on patch criticality and software execution format | |
US20040003265A1 (en) | Secure method for BIOS flash data update | |
CN1506822A (zh) | 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 | |
CN1455336A (zh) | 使用cf卡自动更新嵌入式设备操作系统的方法 | |
CN101739270A (zh) | 电子装置及其系统更新方法 | |
CN113703801A (zh) | 一种车载终端固件升级方法及电子装置 | |
JPH0793276A (ja) | コンピュータの立ち上げ方式 | |
EP3970019A1 (en) | Method for updating an operating system of a computing device |
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: 20080702 |