CN101414264B - 一种软件版本的更新方法 - Google Patents

一种软件版本的更新方法 Download PDF

Info

Publication number
CN101414264B
CN101414264B CN2008101624098A CN200810162409A CN101414264B CN 101414264 B CN101414264 B CN 101414264B CN 2008101624098 A CN2008101624098 A CN 2008101624098A CN 200810162409 A CN200810162409 A CN 200810162409A CN 101414264 B CN101414264 B CN 101414264B
Authority
CN
China
Prior art keywords
version
program
update
zone
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.)
Expired - Fee Related
Application number
CN2008101624098A
Other languages
English (en)
Other versions
CN101414264A (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.)
Hangzhou Normal University
Original Assignee
Hangzhou Normal University
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 Hangzhou Normal University filed Critical Hangzhou Normal University
Priority to CN2008101624098A priority Critical patent/CN101414264B/zh
Publication of CN101414264A publication Critical patent/CN101414264A/zh
Application granted granted Critical
Publication of CN101414264B publication Critical patent/CN101414264B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种高可靠软件版本的更新方法和三种更新方式。该发明将MCU或DSP中的FLASH分为三个区域,区域一用于存储正常版本程序,区域二用于存储更新版本程序,区域三用于存储BOOT程序。更新软件首先将更新版本下载到区域二中,在需要更新时,再将其拷入区域一中,根据实际情况,选择三种更新方式:第一种,在更新程序下载完成后,立即更新软件;第二种,在更新程序下载完成后,根据上位机发送的更新命令来更新软件;第三种,在更新程序下载完成后,并在下一次系统上电复位后,BOOT程序检测到更新版本的有效标志时,才更新软件。本发明具有实现简单、更新方式灵活、程序可靠性高等优点,可应用于数字控制芯片领域。

Description

一种软件版本的更新方法
技术领域
本发明涉及数字控制芯片领域,具体涉及到MCU或DSP的软件更新方法和更新方式。 
背景技术
随着IT技术的迅猛发展,数字化技术已被广泛应用到国民经济的各个领域。而数字化技术的核心包括两个部分,一个是MCU或DSP等数字控制芯片,另一个是相应的软件程序。一般的数字芯片均带有FLASH存储空间,以及丰富的外设模块,其中包括各种常见的通讯接口,例如,I2C、RS232等。同时,为了满足应用需求的不断变化,一般会在相应的软件程序设计中加入Bootloader功能,即利用系统已有的通讯接口,依靠BOOT程序来在线更新MCU或DSP中的软件,在更新软件完成之后,运行更新版本程序来实现系统功能的扩展或升级。 
目前,常用的一种更新方法是直接刷新FLASH中已有的代码来实现软件的升级。虽然该方法实现简单,但是存在意外风险,即当系统在更新软件过程中意外断电时,MCU或DSP中原有的正常版本程序也将被破坏无法运行,而导致系统崩溃。 
为了解决上述更新方法的不足,专利(公开号CN1959635A)提出了另一种更新方法,即在MCU或DSP的FLASH中开辟两个空间A和B,其中A中用于存放正常版本的程序和版本切换程序,而B用于存放更新版本的程序,通过BOOT程序来选择当前运行程序的版本。虽然这种方法提高了软件更新的可靠性,但却增加了程序设计的复杂性。因为MCU或DSP中中断向量表的地址一般是固定的,所以只能依靠复杂的版本切换程序来实现A和B区域中两个版本软件的切换。同时,该专利提供的软件更新方式也比较单一。 
发明内容
本发明为了克服现有技术中的不足,提出了一种新的软件版本更新方法和三种更新方式。其具体内容如下: 
1、将MCU或DSP的FLASH空间分为3个区域,如图1所示。区域一用于存储应用程序正常版本,区域二用于存储应用程序更新版本,区域三用于存储BOOT程序。其中区域一和区域二的分配空间大小相等,因为区域二的主要用途在于存储区域一的运行程序的更新版本软件。 
2、本软件程序设计主要分为两个部分,一部分是应用程序的设计,另一部分是BOOT程序的设计。出厂时,应用程序的正常版本放在区域一中,而BOOT程序放在区域三中;更新时,仅对应用程序进行更新。 
系统上电复位时,软件首先跳转至BOOT程序开始运行。BOOT程序首先检测区域二中的更新版本程序是否是新的和有效的,只有在检测到区域二中的更新版本程序是新的和有效的,BOOT程序才会擦除区域一中的正常版本,再将区域二中的更新版本拷入区域一中,覆盖正常版本后在区域一中设置正常版本有效标志位。否则BOOT程序将终止软件版本的更新,并设置更新失败标志。然后软件将从区域三中BOOT程序跳回区域一中运行应用程序的正常版本。因为只有在更新版本有效时才会擦除正常版本,因此,更新版本和正常版本不会同时无效。 
软件在擦除区域一的过程中如果出现异常,如系统掉电,将导致区域一中的应用程序破坏。然而,此时区域二中的更新软件是有效的,当系统重新上电运行时,BOOT程序会将区域二中的更新软件拷入区域一中,然后从区域一开始运行,从而可以有效地解决常用版本更新方法存在的意外风险问题。 
3、为了进一步提高系统更新软件的可靠性和灵活性,本发明提供了三种更新方式:第一种是在下载更新程序结束后立即执行更新操作;第二种是在下载更新程序结束后,PC机通过通讯发送更新命令才执行更新操作;第三种是在下载更新程序结束后,在系统下一次上电复位后才执行更新操作。 
其中第一种更新方式适用于对可靠性要求不是很严格而且马上需要更新的场合,该方法和公开号  CN1959635A的专利相似,但克服了它存在的不足;第二种更新方式可以让客户根据实际系统的运行需要来选择更新软件的时机,因此可以在合适的时间内进行软件更新,将更新的风险进一步降低。最后一种更新方式适合于对可靠性要求非常严格的场合,在系统断电后重新上电复位后进行更新。 
附图说明
图1是本发明提出的MCU或DSP的FLASH存储分配结构图;图2是本发明提出的系统软件主流程图,包括应用正常版本程序和BOOT程序;图3是BOOT程序中更新版本程序下载流程图。 
具体实施方式
1、系统软件主程序设计具体流程如图2所示。系统上电复位时,软件跳转至BOOT程序开始运行。首先检测区域二中的更新版本程序是否是新的,如果是,则在清除新的标志位后,将更新版本拷入区域一中,覆盖原来的正常版本,再从更新后的正常版本开始运行。如果不是,则检测应用程序的正常版本是否有效,如果有效则运行正常版本的程序。否则,检测应用程序更新版本是否有效,如果有效,则将更新版本拷入区域一中,覆盖原来的正常版本,再从更新后的正常版本开始运行。 
2、BOOT程序中更新版本程序下载流程图如图3所示。如果软件需要更新时,首先将更新版本软件下载到区域二中,在更新版本软件的下载过程中,对更新版本进行校验,如果更新版本下载成功,则在指定的地址中设置更新程序是新的和有效的标志位,反之,则设置无效的标志位。 
3、MCU或DSP的FLASH空间地址典型分配如表1所示,在实际应用中,可以根据FLASH的大小、程序代码长度等因素灵活调节。假设MCU或DSP的FLASH空间范围为0x0000-0xFFFF,每页的大小为0x100。从下表1可见,应用程序更新版本和正常版本的FLASH空间大小都为0x7000。而且,不论是应用程序正常版本和更新版本,其第一个运行的指令都是跳转到BOOT程序,其最后的两组地址都用于存放新和有效的标志位,这样一来,当更新升级程序时,仅需要将区域二中的更新程序整体拷入区域一中即可,而不需区  分其中的标志位、跳转指令和程序本体,因此,简化了BOOT程序的设计。 
表1.MCU或DSP的FLASH空间地址分配 
Figure G2008101624098D00041

Claims (1)

1.一种新的软件版本更新方法,其基本思想是利用区域二作为下载更新版本程序的存储区,当更新版本程序下载成功后,再将其拷入区域一中,从而实现软件版本的更新,具体包括如下几个方面:
(1)将MCU或DSP的FLASH空间分为三个区域,区域一用于存储应用程序正常版本,区域二用于存储应用程序更新版本,区域三用于存储BOOT程序;
(2)系统上电复位时,软件跳至BOOT区域开始运行,首先检测更新版本是否有效,如果有效,才执行擦除区域一中的应用程序,擦除完成后,将更新版本程序拷入区域一中,并在软件更新完成后从区域一中运行升级后的应用程序,而不是在区域一和区域二中之间进行应用程序的切换;
(3)根据实际情况选择三种更新方式中的一种来实现软件更新:
方式一:在更新版本程序下载完成后,立即更新软件;
方式二:在更新版本程序下载完成后,根据上位机发送的更新命令来更新软件;
方式三:在更新版本程序下载完成后,不执行更新操作,但在下一次系统上电复位后,BOOT程序检测到更新版本的新标志位有效时,才自动更新软件。 
CN2008101624098A 2008-11-24 2008-11-24 一种软件版本的更新方法 Expired - Fee Related CN101414264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101624098A CN101414264B (zh) 2008-11-24 2008-11-24 一种软件版本的更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101624098A CN101414264B (zh) 2008-11-24 2008-11-24 一种软件版本的更新方法

Publications (2)

Publication Number Publication Date
CN101414264A CN101414264A (zh) 2009-04-22
CN101414264B true CN101414264B (zh) 2012-05-30

Family

ID=40594803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101624098A Expired - Fee Related CN101414264B (zh) 2008-11-24 2008-11-24 一种软件版本的更新方法

Country Status (1)

Country Link
CN (1) CN101414264B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168824A (zh) * 2017-05-15 2017-09-15 上海与德科技有限公司 一种断电保护方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI448967B (zh) * 2011-07-11 2014-08-11 Wistron Neweb Corp 軟體更新方法與電腦可讀取媒體
CN102880478B (zh) * 2011-07-15 2015-11-25 启碁科技股份有限公司 软件更新方法
CN103106083B (zh) * 2011-11-09 2016-03-23 北京市三希电子科技开发公司 一种固件的加载方法及装置
CN104239092A (zh) * 2014-08-25 2014-12-24 国网电力科学研究院 一种带补包机制的基于远程无线信道的程序在线更新方法
CN105808283A (zh) * 2014-12-31 2016-07-27 海洋王照明科技股份有限公司 一种适用于智能照明设备的程序更新方法及装置
CN105354059A (zh) * 2015-10-29 2016-02-24 珠海格力电器股份有限公司 空调系统的控制器的升级方法及装置
CN105404534B (zh) * 2015-11-27 2018-11-23 北京京仪绿能电力系统工程有限公司 一种逆变器软件在线远程维护方法
CN106886426A (zh) * 2015-12-15 2017-06-23 西安富成防务科技有限公司 一种分块升级的dsp处理系统
CN105677388A (zh) * 2015-12-31 2016-06-15 清华大学苏州汽车研究院(吴江) 电动汽车电机控制器的固件更新方法
CN105912356B (zh) * 2016-03-31 2019-04-09 武汉光迅科技股份有限公司 一种支持版本回退的光模块固件程序在线升级方法
CN107229493A (zh) * 2017-05-18 2017-10-03 宁德时代新能源科技股份有限公司 程序更新方法和装置
CN109240721A (zh) * 2018-08-24 2019-01-18 江苏恒宝智能系统技术有限公司 一种mcu在线升级的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
EP1679599A1 (en) * 2005-01-04 2006-07-12 Pantech&Curitel Communications, Inc. File update system and boot management system of mobile communication terminal, and corresponding methods
CN1959635A (zh) * 2005-11-04 2007-05-09 中兴通讯股份有限公司 一种软件版本更新的方法
CN101078993A (zh) * 2007-03-13 2007-11-28 中兴通讯股份有限公司 一种终端产品不中断业务在线升级版本的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
EP1679599A1 (en) * 2005-01-04 2006-07-12 Pantech&Curitel Communications, Inc. File update system and boot management system of mobile communication terminal, and corresponding methods
CN1959635A (zh) * 2005-11-04 2007-05-09 中兴通讯股份有限公司 一种软件版本更新的方法
CN101078993A (zh) * 2007-03-13 2007-11-28 中兴通讯股份有限公司 一种终端产品不中断业务在线升级版本的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168824A (zh) * 2017-05-15 2017-09-15 上海与德科技有限公司 一种断电保护方法及装置

Also Published As

Publication number Publication date
CN101414264A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN101414264B (zh) 一种软件版本的更新方法
CN1698032B (zh) 从非线性存储器引导
CN100368995C (zh) 一种单片机系统在运行中升级的装置和方法
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
CN100426220C (zh) 在通信系统中利用单片机实现软件下载的装置及其方法
CN100504782C (zh) 避免基本输出入系统程序更新失败的计算机系统
CN101872306B (zh) 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN104102518A (zh) 一种双cpu系统及其程序升级方法
CN106303707A (zh) 一种版本烧录方法、系统及终端
CN102087603A (zh) 一种在单芯片上实现主备版本备份的方法
CN106201608A (zh) 计算机uefi固件更新方法
CN102622257A (zh) 电表在线自更新方法及其装置
CN107783775A (zh) 基于rtos嵌入式远程在线升级函数方法
CN101615129B (zh) 应用于分布式系统中的升级方法及版本管理客户端
CA3073525C (en) Stack safety for independently defined operations
CN109426511B (zh) 软核更新方法和系统
CN103339603A (zh) 计算机重新编程方法、数据存储介质和机动车辆计算机
CN102298531B (zh) 在嵌入式系统中对闪存文件系统进行升级的方法
CN201869296U (zh) 一种电视机
CN104281463A (zh) 一种可选择版本的dsp处理器程序加载方法
EP1514176A2 (en) Method and apparatus for writing data to a non-volatile memory
CN116302122A (zh) 多核异构域控制器、外设适配方法以及存储介质
CN100573450C (zh) 在具有与非闪速存储器的系统执行应用程序的方法和设备
CN102073522A (zh) 面向嵌入式系统的应用程序在线自我更新方法
KR20030060342A (ko) 개인 휴대 정보 단말기의 부팅 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: HANGZHOU NORMAL UNIVERSITY

Free format text: FORMER OWNER: SUN YAPING

Effective date: 20100329

Free format text: FORMER OWNER: ZHOU YUANPING

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 310036 ELECTRICAL ENGINEERING DEPARTMENT,QIANJIANG COLLEGE, HANGZHOU NORMALUNIVERSITY, NO.222, WENYI ROAD, XIHU DISTRICT, HANGZHOU CITY, ZHEJIANG PROVINCE TO: 310036 NO.16, XUELIN STREET, XIASHA HIGHER EDUCATION PARK, HANGZHOU CITY, ZHEJIANG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20100329

Address after: Hangzhou City, Zhejiang province 310036 Xiasha Higher Education Park forest Street No. 16

Applicant after: Hangzhou Normal University

Address before: Department of electrical engineering Hangzhou 310036 Zhejiang province Xihu District Wenyi Road No. 222 Hangzhou Normal University Qianjiang College

Applicant before: Sun Yaping

Applicant before: Zhou Yuanping

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Sun Yaping

Inventor after: Wang Qihui

Inventor after: Ma Baoli

Inventor after: Zhou Yuanping

Inventor before: Sun Yaping

Inventor before: Zhou Yuanping

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SUN YAPING ZHOU YUANPING TO: SUN YAPING WANG QIHUI MA BAOLI ZHOU YUANPING

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: 20120530

Termination date: 20141124

EXPY Termination of patent right or utility model