CN103823688B - 可分段更新程序的电子装置 - Google Patents

可分段更新程序的电子装置 Download PDF

Info

Publication number
CN103823688B
CN103823688B CN201210465292.7A CN201210465292A CN103823688B CN 103823688 B CN103823688 B CN 103823688B CN 201210465292 A CN201210465292 A CN 201210465292A CN 103823688 B CN103823688 B CN 103823688B
Authority
CN
China
Prior art keywords
block
processing unit
program
stand
electronic installation
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.)
Active
Application number
CN201210465292.7A
Other languages
English (en)
Other versions
CN103823688A (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.)
ZHONGXING BAOQUAN CO Ltd
Original Assignee
ZHONGXING BAOQUAN 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 ZHONGXING BAOQUAN CO Ltd filed Critical ZHONGXING BAOQUAN CO Ltd
Priority to CN201210465292.7A priority Critical patent/CN103823688B/zh
Publication of CN103823688A publication Critical patent/CN103823688A/zh
Application granted granted Critical
Publication of CN103823688B publication Critical patent/CN103823688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

一种可分段更新程序的电子装置,包含具有处理单元及快闪记忆体的中央处理器。快闪记忆体包含主程序区块、多个独立程序区块及暂存区块。主程序区块包含主程序及副程序区块,副程序区块包含第一跳跃表及第一副程序区。主程序区块用以供处理单元执行主程序,并呼叫第一跳跃表而连结至第一副程序区。各独立程序区块分别包含第二跳跃表及第二副程序区。独立程序区块用以供处理单元呼叫第二跳跃表而连结至第二副程序区。暂存区块用以存放自远端下载的程序码,并供处理单元将程序码更新至独立程序区块中至少一者或主程序区块。

Description

可分段更新程序的电子装置
技术领域
本发明涉及一种电子装置,特别涉及一种可分段更新的电子装置。
背景技术
目前市面上的电子装置,其需要作更新时,大都可通过远端程序更新的方式为电子装置作更新。在一般的远端程序更新时,为求安全考量以避免更新失败,其电子装置的记忆体容量大小,至少须于记忆体端末保留与主机程序相同大小的记忆体容量,使其执行远端程序更新失败时,尚可以旧有的程序执行。
上述的现有远端程序更新的作法,要保留一定的记忆体容量,用以储存主机上的旧有程序,则主机得另外加大记忆体的容量,其对于成本上来说相对浪费。再者,如果仅是通过主机的CPU其已内附快闪记忆体(快闪内存)(FlashMemory),其容量有限,无法用以容置主机的旧程序。因此,通常需要再外挂记忆体装置,然也因此造成成本过高,体积过大以及维修困难的问题。
发明内容
本发明的目的在于,提供一种可分段更新程序的电子装置,能够考量远端程序更新上的便利性与安全性,以及能够有效率地加以运用,降低成本并缩小整体体积,以及使得维修能更方便。
有鉴于此,本发明一实施例提出一种可分段更新程序的电子装置,适用于远端更新电子装置的内部程序。电子装置包含中央处理器。中央处理器包含处理单元及快闪记忆体。快闪记忆体电性连接于处理单元。快闪记忆体包含主程序区块、多个独立程序区块及暂存区块。
主程序区块包含主程序及副程序区块,副程序区块包含第一跳跃表及第一副程序区。主程序区块用以供处理单元执行主程序,并呼叫第一跳跃表而连结至第一副程序区。
每一独立程序区块包含第二跳跃表及第二副程序区。独立程序区块用以供处理单元呼叫第二跳跃表而连结至第二副程序区。
暂存区块用以存放自远端下载的程序码,并供处理单元将程序码更新至独立程序区块中的至少一者或主程序区块。
在一实施例中,主程序区块及独立程序区块分别更包含不同的识别码,处理单元根据识别码对欲更新的独立程序区块中的至少一者或主程序区块执行更新。
在一实施例中,主程序区块、独立程序区块及暂存区块更分别包含一不可更新区域,用以供存放固定程序。
在一实施例中,快闪记忆体更包含一更新程序,更新程序可储存于前述主程序区块、独立程序区块及暂存区块的其中之一的不可更新区域。
在一实施例中,第一副程序区包含多个第一副程序,处理单元呼叫第一跳跃表而执行对应的第一副程序中的至少一者。第二副程序区亦包含多个第二副程序,处理单元呼叫第二跳跃表而执行对应的第二副程序中的至少一者。
在一实施例中,主程序区块、独立程序区块及暂存区块之中,暂存区块是排列于最后。
在一实施例中,暂存区块所存放的程序码包含检查码(checksum),用以供处理单元根据检查码检查程序码是否正确。
在一实施例中,电子装置更包含网络连接单元。网络连接单元电连接处理单元并信号连接一远端伺服器。处理单元是经由网络连接单元向伺服器下载并存放程序码于暂存区块。
在一些实施例中,于分别对应主程序区块及独立程序区块的程序码均更新完毕后,处理单元经由网络连接单元传送一确认信号至远端伺服器。
在一些实施例中,经处理单元更新的独立程序区块中的至少一者或主程序区块,可与其余的主程序区块或独立程序区块中的程序共同运行。
综上所述,根据本发明实施例的可分段更新程序的电子装置,是可通过区分为多个区块的快闪记忆体,将处理单元所需执行的程序码对应区分为多个区段,以利于分批次对各区块中的程序码更新。如此,可解决现有远端程序更新通常需要再外挂记忆体装置及成本过高、体积过大与维修困难的问题。并且在通讯过程中,电子装置仍可正常运作。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明一实施例的可分段更新程序的电子装置的示意图;
图2为本发明一实施例的快闪记忆体的示意图;
图3为本发明一实施例的主程序区块的示意图;
图4为本发明一实施例的第一独立程序区块的外观图;
图5为本发明一实施例的第二独立程序区块的示意图;
图6为本发明一实施例的电子装置及远端伺服器的示意图;
图7为本发明一实施例的暂存区块的示意图。
其中,附图标记
1 电子装置
2 网络连接单元
10 中央处理器
11 处理单元
20 快闪记忆体
30 主程序区块
31 开机区域
32 主程序
33 副程序区块
331 第一跳跃表
332 第一副程序区
333 第一副程序
40 第一独立程序区块
41 第二跳跃表
42 第二副程序区
421 第二副程序
50 第二独立程序区块
51 第二跳跃表
52 第二副程序区
521 第二副程序
60 暂存区块
70 更新程序
80 不可更新区域
9 远端伺服器
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
请参阅图1所示,图1为本发明一实施例的可分段更新程序的电子装置1的示意图。电子装置1包含中央处理器10。中央处理器10包含处理单元11及快闪记忆体20。于此,电子装置1实质可为保全主机、营业点(Point of sale,POS)装置、环境监测器、监视摄影机或数字视频录影机(Digital video recorder,DVR)等具程序执行能力的装置。
请参阅图2所示,图2为本发明一实施例的快闪记忆体20的示意图。快闪记忆体20是设置于中央处理器10内,且电性连接于处理单元11,快闪记忆体20可为”或非”门快闪记忆体(NOR Type Flash Memory)、”与非”门快闪记忆体(NAND Type Flash Memory)、电子抹除式可复写只读记忆体(EEPROM)或其他不因电力消失而丧失储存数据的非挥发式记忆体等,快闪记忆体20包含主程序区块30、第一独立程序区块40、第二独立程序区块50及暂存区块60。
如图2所示,在主程序区块30、各独立程序区块(如第一独立程序区块40及第二独立程序区块50)及暂存区块60之中,暂存区块60可排列于最后,但本发明非以此为限。
在一些实施例中,快闪记忆体20可具有四个区块(Bank),但本发明非以此为限。举例而言,快闪记忆体20的容量可为128K bytes,而每个区块的容量大小系为32K bytes。上述主程序区块30、第一独立程序区块40、第二独立程序区块50及暂存区块的容量可相同,但本发明非以此为限。
再请参阅图3,为本发明一实施例的主程序区块30的示意图。
主程序区块30具有开机区域31、主程序32及副程序区块33。副程序区块33包含第一跳跃表331及第一副程序区332。开机区域31较佳地是为4Kbytes,用以储存开机程序或是系统I/O设定。此外,开机区域31更可用以储存其他参数设定或是通讯程序,惟开机区域31所储存的内容仅为举例,本发明并非以此为限。
第一副程序区332可储存多个第一副程序333。当处理单元11执行主程序区块30中的主程序32且要呼叫第一副程序区332内特定的第一副程序333时,是先呼叫第一跳跃表331,再由第一跳跃表331连结至第一副程序区332,进而指到第一副程序区332的特定的第一副程序333的储存位址。藉此,处理单元11可执行主程序32并正确呼叫且正确执行第一副程序333。
如图3所示,快闪记忆体20可储存更新程序70。更新程序70系可位于主程序区块30的开机区域31。处理单元11执行更行程序70,以将位于暂存区块60内的程序码写入主程序区块30或任一独立程序区块(如第一独立程序区块40及第二独立程序区块50的其中之一)。
于此,当处理单元11执行更行程序70而将所下载的程序码写入主程序区块30、第一独立程序区块40或第二独立程序区块50时,处理单元11须抑制所有的中断程序,且等待程序码写入完成后,处理单元11的执行程序才可跳出,以避免执行程序发生错误。
图4为本发明一实施例的第一独立程序区块40的示意图。如图4所示,第一独立程序区块40与主程序区块30相似,亦具有第二跳跃表41及第二副程序区42,第二副程序区42可储存多个第二副程序421。当处理单元11要呼叫对应的第二副程序421时,先呼叫第二跳跃表41,再由第二跳跃表41连结至第二副程序区42,进而指到第二副程序区42中对应的第二副程序421的储存位址,藉此,处理单元11得以由主程序32正确呼叫并正确执行第二副程序421。
图5为本发明一实施例的第二独立程序区块50的示意图。如图5所示,第二独立程序区块50具有第二跳跃表51及第二副程序区52。第二副程序区52可储存多个第二副程序521。处理单元11呼叫对应的第二副程序521的原理与处理单元11呼叫对应的第二副程序421雷同,在此不再赘述。
图6为本发明一实施例的电子装置1及远端伺服器9的示意图。请参阅图6,电子装置1更包含与处理单元11电连接的网络连接单元2。网络连接单元2信号连接至远端伺服器9。藉此,处理单元11可经由网络连接单元2下载程序码并存放于暂存区块60。于此,暂存区块60可为空白区块,以储存处理单元11自远端伺服器9所下载的程序码。网络连接单元2可经由如以太网络、GPRS网络、RS-485网络、WI-MAX或3G网络等的网络与远端伺服器9连接。
在一些实施例中,处理单元11自远端伺服器9下载的程序码具有检查码(checksum),以供处理单元11于执行此程序码前可先检查所下载的程序码是否可正确执行。
在一些实施例中,主程序区块30、第一独立程序区块40及第二独立程序区块50,更分别具有不同的一识别码。处理单元11自远端伺服器下载程序码后,处理单元11根据识别码对欲更新的区块(即主程序区块30、第一独立程序区块40或第二独立程序区块50)执行更新。藉此,可避免因通讯误传而将程序码误写入其他区块。
当所有程序码下载完毕后,处理单元11的执行程序将跳到程序的起始位置,使得所下载的程序重新执行。程序重新执行之后,处理单元11产生一确认信号,并将确认信号传送至远端伺服器9,以通知远端伺服器9程序码已更新完毕。
处理单元11将程序码更新至主程序区块30、第一独立程序区块40或第二独立程序区块50后,此经更新的区块可与其余的主程序区块30、第一独立程序区块40或第二独立程序区块50的程序共同运行。例如,当处理单元11将下载的程序码写入主程序区块30后,可配合第一独立程序区块40及第二独立程序区块50中的程序码正常运行。当处理单元11再将另一下载的程序码写入第一独立程序区块40后,可配合主程序区块30及第二独立程序区块50中的程序码正常运行。当处理单元11再将又一下载的程序码写入第二独立程序区块50后,可配合主程序区块30及第一独立程序区块40中的程序码正常运行。也就是说,在更新程序的过程中,电子装置1仍可利用混合于主程序区块30或各独立程序区块(如第一独立程序区块40或第二独立程序区块50)中的新旧程序而正常运作。
图7为本发明一实施例的暂存区块60的示意图。
在一些实施例中,如图3、图4、图5及图7所示,主程序区块30、第一独立程序区块40、第二独立程序区块50及暂存区块60更可分别具有不可更新区域80。不可更新区域80可用以存放一固定程序。例如,每一区块中通常会有些许空间(如1至2bytes)无法完整利用,因此可以利用剩余空间作为不可更新区域80。固定程序可为需要避免被更新的程序。例如,前述更新程序70可位于不可更新区域80内,处理单元11执行远端更新时,不可更新区域80将不会发生任何变更。
综上所述,根据本发明实施例的可分段更新的电子装置1,可通过区分为多个区块的快闪记忆体20将处理单元11所需执行的程序码对应区分为多个区段,以利于分批次对各区块中的程序码更新。如此,可解决现有远端程序更新通常需要再外挂记忆体装置及成本过高、体积过大与维修困难的问题。并且,在通讯过程中,电子装置1仍可正常运作。若电子装置1为保全主机,则在通讯与更新过程中仍可持续提供守护任务,提高保全系统的安全性。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种可分段更新程序的电子装置,其特征在于,包含:
一中央处理器,包含:
一处理单元,执 行一程序码,该程序码区分为多个区段;及
一快闪记忆体,电连接该处理单元,包含:
一主程序区块,储存该程序码的其中一个该区段,该区段包含一主程序及一副程序区块,该副程序区块包含一第一跳跃表及一第一副程序区,供该处理单元执行该主程序,并呼叫该第一跳跃表而连结至该第一副程序区;
多个独立程序区块,各该独立程序区块分别储存该程序码的其中一个该区段,各该区段包含一第二跳跃表及一第二副程序区,供该处理单元呼叫该第二跳跃表而连结至对应的该第二副程序区;及
一暂存区块,存放自远端下载的另一程序码,供该处理单元根据下载的该程序码对该些独立程序区块中的至少一者或该主程序区块所储存的该程序码的该区段进行更新,其中,该处理单元于更新时,抑制所有的中断程序,其中,该处理单元于更新时,维持该主程序区块或多个独立程序区块中的至少一者的该程序码执行。
2.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,该主程序区块及各该独立程序区块更分别包含不同的一识别码,该处理单元根据该些识别码对欲更新的该些独立程序区块中的至少一者或该主程序区块执行更新。
3.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,该主程序区块、各该独立程序区块及该暂存区块分别更包含一不可更新区域,用以存放一固定程序。
4.根据权利要求3所述的可分段更新程序的电子装置,其特征在于,该快闪记忆体更包含一更新程序,储存于该主程序区块、各该独立程序区块及该暂存区块的其中之一的该不可更新区域。
5.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,该第一副程序区包含多个第一副程序,该处理单元呼叫该第一跳跃表而执行对应的该些第一副程序中的至少一者,该第二副程序区包含多个第二副程序,该处理单元呼叫该第二跳跃表而执行对应的该些第二副程序中的至少一者。
6.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,该主程序区块、该些独立程序区块及该暂存区块之中,该暂存区块是排列于最后。
7.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,该暂存区块所存放的该程序码包含一检查码,该处理单元根据该检查码检查该程序码是否正确。
8.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,更包含一网络连接单元,该网络连接单元电连接该处理单元并信号连接一远端伺服器,该处理单元经由该网络连接单元向该远端伺服器下载并存放该程序码于该暂存区块。
9.根据权利要求8所述的可分段更新程序的电子装置,其特征在于,于分别对应该主程序区块及该些独立程序区块的该些程序码均更新完毕后,该处理单元经由该网络连接单元传送一确认信号至该远端伺服器。
10.根据权利要求1所述的可分段更新程序的电子装置,其特征在于,经该处理单元更新的该些独立程序区块中的至少一者或该主程序区块,能够与其余的主程序区块或该些独立程序区块中的程序共同运行。
CN201210465292.7A 2012-11-16 2012-11-16 可分段更新程序的电子装置 Active CN103823688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210465292.7A CN103823688B (zh) 2012-11-16 2012-11-16 可分段更新程序的电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210465292.7A CN103823688B (zh) 2012-11-16 2012-11-16 可分段更新程序的电子装置

Publications (2)

Publication Number Publication Date
CN103823688A CN103823688A (zh) 2014-05-28
CN103823688B true CN103823688B (zh) 2017-08-04

Family

ID=50758773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210465292.7A Active CN103823688B (zh) 2012-11-16 2012-11-16 可分段更新程序的电子装置

Country Status (1)

Country Link
CN (1) CN103823688B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018046085A1 (en) * 2016-09-08 2018-03-15 Huawei Technologies Co., Ltd. Systems and methods for performing a range query on a skiplist data structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620542A (zh) * 2009-07-30 2010-01-06 深圳市蓝韵实业有限公司 一种超声成像设备软件数据的兼容更新方法
CN102662688A (zh) * 2012-03-12 2012-09-12 深圳市开立科技有限公司 一种Nor flash更新方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620542A (zh) * 2009-07-30 2010-01-06 深圳市蓝韵实业有限公司 一种超声成像设备软件数据的兼容更新方法
CN102662688A (zh) * 2012-03-12 2012-09-12 深圳市开立科技有限公司 一种Nor flash更新方法及装置

Also Published As

Publication number Publication date
CN103823688A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
CN103299276B (zh) 嵌入式装置的软件更新过程
CN102163133B (zh) 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置
CN103777972B (zh) 基于现场可编程门阵列的系统、配置方法以及升级方法
CN105930236A (zh) 一种基于BMS Bootloader升级的应用程序版本回退方法
EP3709149A1 (en) Off-board flash memory
CN106980473B (zh) 提升eeprom读写可靠性及速率的方法
CN102662688B (zh) 一种Nor flash更新方法及装置
CN109189434A (zh) 一种电能表的在线升级方法
CN106201640A (zh) 一种升级BootLoader程序的方法及装置
CN110442356A (zh) Dsp固件的升级方法及装置
CN111104173A (zh) 一种引导程序的保护设计方法
CN103823688B (zh) 可分段更新程序的电子装置
CN107341074B (zh) 一种升级异常修复方法、升级异常修复装置及智能终端
CN109375953B (zh) 一种操作系统启动方法及装置
CN105426268B (zh) 一种防止继电保护装置断电时文件系统损坏的方法
CN103514063A (zh) 一种flash数据处理方法以及装置
US9195582B2 (en) Data storing method and apparatus applied to flash memory storage device
CN104346251A (zh) 半导体集成电路设备
CN109766207A (zh) 固件远程升级的恢复方法、装置、监控设备和存储介质
CN107894899B (zh) Rom程序升级系统及升级方法
CN105869309A (zh) 驱动模块内存数据监测方法及装置
CN105279094A (zh) NAND Flash操作处理方法、装置及逻辑器件
CN105988505A (zh) 具有电路防护的电子装置及其组装方法
CN116578322A (zh) 一种cpld芯片固件升级方法
CN101122862B (zh) 后启动补丁式安全升级bios的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant