CN101344853A - 用于空中编程的系统和方法 - Google Patents
用于空中编程的系统和方法 Download PDFInfo
- Publication number
- CN101344853A CN101344853A CNA2008101356874A CN200810135687A CN101344853A CN 101344853 A CN101344853 A CN 101344853A CN A2008101356874 A CNA2008101356874 A CN A2008101356874A CN 200810135687 A CN200810135687 A CN 200810135687A CN 101344853 A CN101344853 A CN 101344853A
- Authority
- CN
- China
- Prior art keywords
- computer
- computer code
- local computer
- code
- application software
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种用于在具有本地计算机的远程平台处编写计算机代码的方法。主设备经由无线发送输送计算机代码到本地计算机,其中计算机代码存储在闪存的备用区域中。一旦在本地计算机识别到了计算机代码的完整副本,则检查计算机代码的完整性并且,如果适当,在本地计算机指定新的引导地址。此时,重引导本地计算机,使得当计算机重新启动时,使用备用计算机代码,从而有效地更新计算机软件。
Description
技术领域
本发明涉及空中编程系统和使用该系统的方法。更具体地,本发明涉及在远程平台处编写计算机代码的方法。
背景技术
用于传送信息到远程或移动设备或车辆的空中编程(OPAP)系统在本领域是已知的。经常,移动设备具有本地计算机,其从主设备(home device)接受无线空中通信。本地计算机具体地包含微控制器、存储系统等,以给用户提供多个功能。具体地,本地计算机具有给用户提供本地计算机的不同的操作模式和功能的多个应用软件、系统、程序等。
本领域中,当应用软件、系统、程序等需要更新时,主设备向远程设备发送信号,远程设备给本地计算机提供包括更新本地计算机中的系统、程序、应用软件等的多个计算机代码包。目前,本领域中,当收到计算机代码时,本地计算机重引导,并且在重引导过程中,检查代码的完整性,以确定更新是否适当。
虽然此过程能够有效地更新本地计算机,但是耗时。具体地,因为必须在重引导过程中分析和检查程序以确定代码的完整性是否适当,用户在能够继续本地计算机的操作之前必须为代码的完整性的检查而等待。时间中的此延迟不仅使用户烦恼而且另外效率低。
从而,本发明的主要目的是提供更新计算机的有效的方式。
本发明的另一目的是提供最大化操作员使用的时间的方法,甚至当计算机在更新时。
从说明书和权利要求,本发明的这些和其它目的、特征或优点将变得明显。
发明内容
用于在具有本地计算机的远程平台处编写计算机代码的方法,所述本地计算机包括闪存。所述方法包括接收多个计算机代码包,其中,所述计算机代码包由无线发送提供。接下来的步骤涉及存储所述多个计算机代码包于所述本地计算机的闪存的备用区域中,其中,所述多个计算机代码包包括计算机代码。本地计算机然后识别所述计算机代码的完整副本的接收并在重引导过程之前检查所述接收的计算机代码的完整性。响应计算机代码的完整性的检查,改变所述本地计算机的引导地址,使得在用户方便的时候,可以在改变引导地址后重引导本地计算机。一旦重引导本地计算机,计算机以备用计算机代码重新启动,其中,不必在重引导过程中检查计算机代码的完整性。
附图说明
图1是用于空中编程的系统的框图;
图2是设计成用于接收空中编程的本地计算机的框图;
图3是闪存的备用(alternate)区域内的代码的框图;
图4是图1的系统中使用的用于传输编程的消息的图示;以及
图5是用于实施空中编程的过程的流程图。
具体实施方式
图1示出了空中编程设备10,其具有主设备12和从主设备12接收空中信号的远程平台14。在优选实施例中,远程设备是诸如车辆的移动设备。主设备12具体地包含被发送到远程平台14的多个计算机代码包16,在远程平台,代码包由本地计算机18接收。
图2中最佳地示出的本地计算机18在其中具有控制本地计算机18的操作的多个操作系统/应用软件/程序等。这些系统/应用软件/程序包括但不限于微控制器20、具有备用区域24的闪存22、管理器控制器26等。具体地,如本领域已知的其它存储器等存在于本地计算机18内。本地计算机18接收来自主设备12的发送,并且在优选实施例中,管理器控制器26接收包括计算机代码的多个计算机代码包16。在此实施例中,计算机代码能够包括可以下载到分布式处理器的多个应用软件,分布式处理器诸如是嵌入式阀部分(valve section)控制器、嵌入式泵处理器、分布式微控制器、I/O模块等。从而,本地计算机18能够在管理器控制器26中接收多个应用软件。
图3示出了闪存22的备用区域24的编程。具体地,备用区域24是包含多个程序元件(component)28的软件,程序元件诸如是引导代码、应用软件装入程序、应用软件、消息处理器、操作系统、燃烧器(burner)代码等。通过使用这些程序元件28,软件能够接收更新并实施该更新。从而,本地计算机18能够接收具有数据30和标题段332(HDR)的更新软件(参照图4)并使用此更新软件或计算机代码包16来更新本地计算机18中的软件。
图5示出了闪存22内的软件34如何操作来更新本地计算机18内的软件。具体地,在框36处,软件正常地操作。在经由多个计算机代码包接收新代码之前,在框38处,软件34监控系统以确定是否提供对备用程序指令的引导。当备用程序尚未备好时,在框40开始正常操作。
在框42处,软件34继续监控以确定是否收到多个计算机代码包以提供新代码。如果未收到,则在框36处开始正常操作。然而,如果在框42处探测到新代码,则在框44处,接收代码并将其传递到备用闪存区域24中。此时,在框46处作出决定,并且如果软件34确定新代码的传递尚未完成,则软件34继续传递代码到备用闪存区域24。如果在框46处,传递完成了,则在框48处确定新代码或程序的完整性。
从而,在框48处,在重引导本地计算机18之前检查新代码的完整性并且软件34容许用户继续操作本地计算机18,甚至当在框48处在检查程序的完整性时。从而,不必在重引导计算机的过程中检查新程序或代码的完整性。
因此,在框50处,决定新的计算机代码是否正确,并且如果不正确,则在框52处,软件34通知本地计算机18文件传递无效。然而,如果新的计算机程序代码正确,则软件34在框54处设置备用程序。一旦在框54处备用程序备好,软件34就在框56处通知本地计算机18传递成功并且在计算机用户另外地继续操作本地计算机18时在框36处的正常操作继续。
此时,提供关于是否引导备用程序26指令的决定38,并且因为在框54处备用程序已经备好,所以在框58处,软件34能够确定备用程序是否备好。如果没有备好,在框50处,通知本地计算机18,而如果在框58处备用程序备好,则软件34再指定或改变本地计算机18的引导地址并在框62处重引导本地计算机18。在重引导过程中,本地计算机18以备用计算机代码重新启动,使得提供更新。
因为软件34能够在本地计算机18的操作过程中确定接收的计算机代码的完整性,所以检查程序的完整性的步骤不必在重引导过程中进行,从而最小化了重引导时间。类似地,这最大化了用户的效率,因为程序的完整性的检查能够在用户操作过程中同时实现。因此,至少所有声明的目的达到了。
本领域技术人员可以理解,能够不脱离本发明的范围中的精神作出多个更改。所有这些更改和变化属于权利要求的范围并且由其涵盖。
Claims (8)
1、一种方法,其用于在具有本地计算机的远程平台上编写计算机代码,所述本地计算机包括闪存,所述方法包括:
接收多个计算机代码包,其中,所述多个计算机代码包是通过无线传输提供的;
将所述多个计算机代码包存储在所述本地计算机的闪存的备用区域中,其中,所述多个计算机代码包包括计算机代码;
识别在所述本地计算机上接收到所述计算机代码的完整副本;
检查所接收的计算机代码的完整性;
响应于该检查,改变所述本地计算机的引导地址;
在改变所述引导地址后,重引导所述本地计算机;以及
响应于重引导所述本地计算机,以备用计算机代码来重新启动所述本地计算机。
2、如权利要求1所述的方法,其中,所述远程平台是移动平台。
3、如权利要求1所述的方法,其中,所述计算机代码包括多个应用软件。
4、如权利要求1所述的方法,其中,管理器控制器接收包括所述计算机代码的所述多个计算机代码包。
5、如权利要求4所述的方法,其中,所述计算机代码包括多个应用软件。
6、如权利要求5所述的方法,其中,所述多个应用软件包括下述中的至少一个:阀部分、嵌入式泵处理器、或微控制器。
7、如权利要求1所述的方法,其中,在检查所接收的计算机代码的完整性的步骤中,所述本地计算机运行先前的应用软件。
8、如权利要求3所述的方法,其中,将所述多个应用软件下载到分布式控制系统结构中的多个处理器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/776,678 | 2007-07-12 | ||
US11/776,678 US20090019435A1 (en) | 2007-07-12 | 2007-07-12 | System and method for over the air programming |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101344853A true CN101344853A (zh) | 2009-01-14 |
Family
ID=40121686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101356874A Pending CN101344853A (zh) | 2007-07-12 | 2008-07-09 | 用于空中编程的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20090019435A1 (zh) |
JP (1) | JP2009020886A (zh) |
CN (1) | CN101344853A (zh) |
DE (1) | DE102008030397A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104624A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 提供软件分发和更新服务而不管端点机的状态或物理位置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980161B (zh) * | 2010-11-01 | 2013-03-13 | 航天东方红卫星有限公司 | 一种星载计算机软件的在轨更新方法 |
ITUB20153843A1 (it) * | 2015-09-24 | 2017-03-24 | Magneti Marelli Spa | Unita' di controllo elettronica per un veicolo stradale e relativo metodo di gestione |
TWI657676B (zh) * | 2017-11-09 | 2019-04-21 | 和碩聯合科技股份有限公司 | 通訊裝置更新系統 |
JP2020017059A (ja) * | 2018-07-25 | 2020-01-30 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
DE102018215011A1 (de) * | 2018-09-04 | 2020-03-05 | Audi Ag | Verfahren zum Installieren eines Programmcodepakets in ein Gerät sowie Gerät und Kraftfahrzeug |
US11256499B2 (en) * | 2019-12-20 | 2022-02-22 | Hewlett Packard Enterprise Development Lp | Hotfix-firmware having updates to a firmware at runtime |
NL2028035B1 (nl) * | 2020-04-21 | 2022-06-16 | Vanmoof Bv | Rijwieldeelsysteemupdatewerkwijze |
JP2022052010A (ja) | 2020-09-23 | 2022-04-04 | キオクシア株式会社 | メモリシステム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568641A (en) * | 1995-01-18 | 1996-10-22 | Hewlett-Packard Company | Powerfail durable flash EEPROM upgrade |
US6212228B1 (en) * | 1997-09-10 | 2001-04-03 | Nortel Networks Limited | Apparatus for modulation and demodulating digital data |
US6640334B1 (en) * | 1999-09-27 | 2003-10-28 | Nortel Networks Limited | Method and apparatus of remotely updating firmware of a communication device |
US6584559B1 (en) * | 2000-01-28 | 2003-06-24 | Avaya Technology Corp. | Firmware download scheme for high-availability systems |
US7065347B1 (en) * | 2001-06-27 | 2006-06-20 | Peoplenet Communications Corporation | System and method for over the air programming |
US6760908B2 (en) * | 2001-07-16 | 2004-07-06 | Namodigit Corporation | Embedded software update system |
JP2004086991A (ja) * | 2002-08-27 | 2004-03-18 | Renesas Technology Corp | 不揮発性記憶装置 |
US20040098715A1 (en) * | 2002-08-30 | 2004-05-20 | Parixit Aghera | Over the air mobile device software management |
US6836657B2 (en) * | 2002-11-12 | 2004-12-28 | Innopath Software, Inc. | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US20040117785A1 (en) * | 2002-12-13 | 2004-06-17 | Samsung Electronics Co., Ltd. | Component download manager for a wireless mobile station and method of operation |
US20050096025A1 (en) * | 2003-10-30 | 2005-05-05 | Iyad Qumei | Open update framework for mobile handsets capable of processing firmware and software update packages based on mime-types |
KR100606052B1 (ko) * | 2004-01-26 | 2006-07-28 | 삼성전자주식회사 | 이동통신 단말기의 오류 데이터 복구 시스템 및 방법 |
JP2006203392A (ja) * | 2005-01-19 | 2006-08-03 | Hitachi Ltd | ソフトウェア無線装置及び車載情報システム |
JP2007219883A (ja) * | 2006-02-17 | 2007-08-30 | Sony Ericsson Mobilecommunications Japan Inc | 移動端末装置およびソフトウェア更新方法 |
-
2007
- 2007-07-12 US US11/776,678 patent/US20090019435A1/en not_active Abandoned
-
2008
- 2008-06-26 DE DE102008030397A patent/DE102008030397A1/de not_active Ceased
- 2008-07-09 CN CNA2008101356874A patent/CN101344853A/zh active Pending
- 2008-07-10 JP JP2008180115A patent/JP2009020886A/ja active Pending
-
2015
- 2015-11-16 US US14/942,366 patent/US20160070562A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104624A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 提供软件分发和更新服务而不管端点机的状态或物理位置 |
US8893112B2 (en) | 2009-12-21 | 2014-11-18 | Intel Corporation | Providing software distribution and update services regardless of the state or physical location of an end point machine |
Also Published As
Publication number | Publication date |
---|---|
DE102008030397A1 (de) | 2009-01-15 |
US20160070562A1 (en) | 2016-03-10 |
JP2009020886A (ja) | 2009-01-29 |
US20090019435A1 (en) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101344853A (zh) | 用于空中编程的系统和方法 | |
US7107482B2 (en) | Program update apparatus and method | |
KR101515198B1 (ko) | 모바일 단말의 펌웨어 업그레이드 장치 및 방법 | |
CN109189445B (zh) | 一种物联网设备程序升级的方法 | |
EP1052571A2 (en) | A method and apparatus for downloading software into an embedded-system | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN108804118B (zh) | 固件升级方法、设备及存储介质 | |
CN112910714B (zh) | 具有主从机结构的物联网终端设备的远程固件升级方法 | |
CN104149717A (zh) | 一种用于整车控制的远程无干扰更新系统和方法 | |
CN101594613A (zh) | 终端设备及其升级的方法、系统 | |
US8036786B2 (en) | On-vehicle control apparatus | |
CN107526574A (zh) | 系统启动模式的控制方法及装置 | |
CN109189500B (zh) | 星载计算机应用软件的下载存储与引导加载方法及系统 | |
CN103744712A (zh) | 一种应用程序的更新方法及装置 | |
US8078861B1 (en) | Remote processor reprogramming | |
CN103577214A (zh) | 应用程序更新方法和装置 | |
CN111142886A (zh) | 数据烧写方法及相关装置 | |
EP3249531B1 (en) | Control means, in-vehicle program rewriting device equipped with same, and in-vehicle program rewriting method | |
CN115113905A (zh) | 固件升级方法和固件升级装置 | |
CN112015447A (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN110908733B (zh) | 工作模式确定方法及装置、控制方法及装置 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
JP2006244269A (ja) | 設備管理装置、プログラム更新システム、設備管理プログラム更新方法、起動プログラム、および設備管理プログラム | |
JP3093541B2 (ja) | プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム | |
JP2016126699A (ja) | 自動車用電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090114 |