CN106775588A - 一种基于主从处理器架构的固件升级方法 - Google Patents

一种基于主从处理器架构的固件升级方法 Download PDF

Info

Publication number
CN106775588A
CN106775588A CN201611079713.7A CN201611079713A CN106775588A CN 106775588 A CN106775588 A CN 106775588A CN 201611079713 A CN201611079713 A CN 201611079713A CN 106775588 A CN106775588 A CN 106775588A
Authority
CN
China
Prior art keywords
processor
upgrade
upgrade command
primary processor
command
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
Application number
CN201611079713.7A
Other languages
English (en)
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.)
HEFEI COMATE INTELLIGENT SENSOR TECHNOLOGY Co Ltd
Original Assignee
HEFEI COMATE INTELLIGENT SENSOR TECHNOLOGY 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 HEFEI COMATE INTELLIGENT SENSOR TECHNOLOGY Co Ltd filed Critical HEFEI COMATE INTELLIGENT SENSOR TECHNOLOGY Co Ltd
Priority to CN201611079713.7A priority Critical patent/CN106775588A/zh
Publication of CN106775588A publication Critical patent/CN106775588A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

本发明公开了一种基于主从处理器架构的固件升级方法,所述方法包括以下步骤:处理器符合升级标准后服务器向主处理器发送升级指令,主处理器接收到升级指令后,主处理器对所述升级指令进行CRC校验,主处理器正确接收并保存所有升级指令后,告知已有新的升级指令到达,主处理器向从处理器发送升级指令,从处理器正确接收并保存所有升级指令后,进入升级程序阶段,并在程序更新后重新复位运行。本发明通过主处理器作为服务器与从处理器之间的升级程序传送介质,实现了从处理器固件的远程升级,有效保证了固件升级包的完整性,摆脱了现有升级技术只针对于单一处理器升级的局限性,升级方法简单,固件升级效率高,可靠性与安全性强。

Description

一种基于主从处理器架构的固件升级方法
技术领域
本发明属于物联网领域,尤其涉及一种基于主从处理器架构的固件升级方法。
背景技术
随着科学信息技术的发展,物联网远程监测逐渐的广泛应用于各个领域,通过物联网技术可以随时随地的监测现场设备的工作状态,无需现场查看,作为方便快速的通讯方式已逐渐被广泛应用。同时由于技术的发展和更新,无人职守的现代化的监测模式已逐渐受到客户的青睐,可是对于这些系统而言都需要进行定期升级维护,可是现场的升级会损耗时间和人力上的浪费,特别是一些工作强度大、难度高导致施工困难,而远程自动升级则很好的解决了这个问题。
在目前的远程升级中,主要是针对于单一处理器进行升级,可是随着科技的发展,产品功能的多样化、智能化导致产品已不再是单一处理器架构,而远程升级的对象也将偏向于多处理器架构,针对这样的需求现状,本发明很好的提出了此类问题的解决方案。
发明内容
本发明的目的在于克服现有技术存在的以上问题,提供一种基于主从处理器架构的固件升级方法,解决现有升级技术只针对于单一处理器升级的局限性。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于主从处理器架构的固件升级方法,所述方法包括以下步骤:
步骤S1:检测处理器是否符合升级标准,处理器符合升级标准后进入步骤S2;
步骤S2:服务器向主处理器发送升级指令,主处理器接收到升级指令后进入步骤S3;
步骤S3:主处理器对所述升级指令进行CRC校验,校验通过后进入步骤S4;
步骤S4:将所述升级指令写入主处理器的FRAM并同时在主处理器的FRAM另外一段地址建立表格,所述升级指令写入完成后将主处理器的FRAM中的数据按照顺序写入到主处理器的Flash中,并反馈主接收完成指令至服务器,所述主接收完成指令用于通知服务器发送下一条升级指令;
步骤S5:主处理器正确接收并保存所有升级指令后,发送通知指令给从处理器,告知已有新的升级指令到达;
步骤S6:主处理器向从处理器发送升级指令,从处理器接收到升级指令后进入步骤S7;
步骤S7:从处理器对所述升级指令进行CRC校验,校验通过后进入步骤S8;
步骤S8:将所述升级指令写入从处理器的FRAM并同时在从处理器的FRAM另外一段地址建立表格,所述升级指令写入完成后将从处理器的FRAM中的数据按照顺序写入到从处理器的Flash中,并反馈从接收完成指令至主处理器,所述从接收完成指令用于通知主处理器发送下一条升级指令;
步骤S9:从处理器正确接收并保存所有升级指令后,进入升级程序阶段,并在程序更新后重新复位运行。
进一步地,所述步骤S1中对处理器是否符合升级标准进行检测包括以下步骤:服务器先向处理器发送握手操作,用于查询处理器的软件、硬件版本号,所述服务器通过此查询判断处理器是否支持远程更新;若处理器支持远程升级,则服务器向处理器发送可允许升级指令,处理器回应可升级指令。
进一步地,所述升级指令为升级分包程序的指令,包括Flash地址、N个字节、数据内容。
进一步地,所述步骤S4与步骤S8中每次写入Flash均对数据进行读取并进行CRC校验,若CRC校验成功则进行下个Flash地址的写入操作。
进一步地,所述步骤S9中的升级程序阶段包括以下步骤:将从处理器的FRAM中的代码写入到对应的Flash中,并且写入前对Flash进行擦除。
进一步地,所述步骤S3中CRC校验通过后,所述服务器将升级指令传送至主处理器的缓冲区,并按照自上而下的顺序进行保存,此时从处理器按照指令先进先出的原则对主处理器缓冲区中的升级指令进行接收,主处理器与从处理器对于升级指令的接收彼此独立,互不干扰,保障了系统升级的效率、准确性和连续性。
本发明的有益效果是:
本发明通过主处理器作为服务器与从处理器之间的升级程序传送介质,实现了从处理器固件的远程升级,有效保证了固件升级包的完整性,摆脱了现有升级技术只针对于单一处理器升级的局限性,升级方法简单,固件升级效率高,可靠性与安全性强。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的升级流程图;
图2是本发明中服务器端与处理器端的数据通讯方式示意图;
图3是本发明中缓冲区的升级指令传递图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
如图1和图2所示的一种基于主从处理器架构的固件升级方法,方法包括以下步骤:
步骤S1:检测处理器是否符合升级标准,服务器先向处理器发送握手操作,用于查询处理器的软件、硬件版本号,服务器通过此查询判断处理器是否支持远程更新;若处理器支持远程升级,则服务器向处理器发送可允许升级指令,处理器回应可升级指令,处理器符合升级标准后进入步骤S2;
步骤S2:服务器向主处理器发送升级指令,主处理器接收到升级指令后进入步骤S3,其中升级指令为升级分包程序的指令,包括Flash地址、N个字节、数据内容;
步骤S3:主处理器对升级指令进行CRC校验,校验通过后进入步骤S4;
步骤S4:将升级指令写入主处理器的FRAM并同时在主处理器的FRAM另外一段地址建立表格,升级指令写入完成后将主处理器的FRAM中的数据按照顺序写入到主处理器的Flash中,并反馈主接收完成指令至服务器,主接收完成指令用于通知服务器发送下一条升级指令,每次写入Flash均对数据进行读取并进行CRC校验,若CRC校验成功则进行下个Flash地址的写入操作;
步骤S5:主处理器正确接收并保存所有升级指令后,发送通知指令给从处理器,告知已有新的升级指令到达;
步骤S6:主处理器向从处理器发送升级指令,从处理器接收到升级指令后进入步骤S7;
步骤S7:从处理器对升级指令进行CRC校验,校验通过后进入步骤S8;
步骤S8:将升级指令写入从处理器的FRAM并同时在从处理器的FRAM另外一段地址建立表格,升级指令写入完成后将从处理器的FRAM中的数据按照顺序写入到从处理器的Flash中,并反馈从接收完成指令至主处理器,从接收完成指令用于通知主处理器发送下一条升级指令,每次写入Flash均对数据进行读取并进行CRC校验,若CRC校验成功则进行下个Flash地址的写入操作;
步骤S9:从处理器正确接收并保存所有升级指令后,进入升级程序阶段,将从处理器的FRAM中的代码写入到对应的Flash中,并且写入前对Flash进行擦除,并在程序更新后重新复位运行。
如图3所示,本发明在升级从处理器过程中,为了保障系统升级的效率以及准确性,步骤S3中CRC校验通过后,服务器首先将升级指令传送至主处理器的缓冲Botterload区,并按照自上而下的顺序进行保存,此时从处理器按照指令先进先出的原则,对主处理器缓冲区中的升级指令进行接收,主处理器与从处理器对于升级指令的接收彼此独立,互不干扰,这样的传递方式既保证指令传递的效率,又保证了指令的连续性。
本发明通过主处理器作为服务器与从处理器之间的升级程序传送介质,实现了从处理器固件的远程升级,有效保证了固件升级包的完整性,摆脱了现有升级技术只针对于单一处理器升级的局限性,升级方法简单,固件升级效率高,可靠性与安全性强。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

Claims (6)

1.一种基于主从处理器架构的固件升级方法,其特征在于:所述方法包括以下步骤:
步骤S1:检测处理器是否符合升级标准,处理器符合升级标准后进入步骤S2;
步骤S2:服务器向主处理器发送升级指令,主处理器接收到升级指令后进入步骤S3;
步骤S3:主处理器对所述升级指令进行CRC校验,校验通过后进入步骤S4;
步骤S4:将所述升级指令写入主处理器的FRAM并同时在主处理器的FRAM另外一段地址建立表格,所述升级指令写入完成后将主处理器的FRAM中的数据按照顺序写入到主处理器的Flash中,并反馈主接收完成指令至服务器,所述主接收完成指令用于通知服务器发送下一条升级指令;
步骤S5:主处理器正确接收并保存所有升级指令后,发送通知指令给从处理器,告知已有新的升级指令到达;
步骤S6:主处理器向从处理器发送升级指令,从处理器接收到升级指令后进入步骤S7;
步骤S7:从处理器对所述升级指令进行CRC校验,校验通过后进入步骤S8;
步骤S8:将所述升级指令写入从处理器的FRAM并同时在从处理器的FRAM另外一段地址建立表格,所述升级指令写入完成后将从处理器的FRAM中的数据按照顺序写入到从处理器的Flash中,并反馈从接收完成指令至主处理器,所述从接收完成指令用于通知主处理器发送下一条升级指令;
步骤S9:从处理器正确接收并保存所有升级指令后,进入升级程序阶段,并在程序更新后重新复位运行。
2.根据权利要求1所述的一种基于主从处理器架构的固件升级方法,其特征在于:所述步骤S1中对处理器是否符合升级标准进行检测包括以下步骤:服务器先向处理器发送握手操作,用于查询处理器的软件、硬件版本号,所述服务器通过此查询判断处理器是否支持远程更新;若处理器支持远程升级,则服务器向处理器发送可允许升级指令,处理器回应可升级指令。
3.根据权利要求1所述的一种基于主从处理器架构的固件升级方法,其特征在于:所述升级指令为升级分包程序的指令,包括Flash地址、N个字节、数据内容。
4.根据权利要求1所述的一种基于主从处理器架构的固件升级方法,其特征在于:所述步骤S4与步骤S8中每次写入Flash均对数据进行读取并进行CRC校验,若CRC校验成功则进行下个Flash地址的写入操作。
5.根据权利要求1所述的一种基于主从处理器架构的固件升级方法,其特征在于:所述步骤S9中的升级程序阶段包括以下步骤:将从处理器的FRAM中的代码写入到对应的Flash中,并且写入前对Flash进行擦除。
6.根据权利要求1所述的一种基于主从处理器架构的固件升级方法,其特征在于:所述步骤S3中CRC校验通过后,所述服务器将升级指令传送至主处理器的缓冲区,并按照自上而下的顺序进行保存,此时从处理器按照指令先进先出的原则对主处理器缓冲区中的升级指令进行接收,主处理器与从处理器对于升级指令的接收彼此独立,互不干扰。
CN201611079713.7A 2016-11-30 2016-11-30 一种基于主从处理器架构的固件升级方法 Pending CN106775588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611079713.7A CN106775588A (zh) 2016-11-30 2016-11-30 一种基于主从处理器架构的固件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611079713.7A CN106775588A (zh) 2016-11-30 2016-11-30 一种基于主从处理器架构的固件升级方法

Publications (1)

Publication Number Publication Date
CN106775588A true CN106775588A (zh) 2017-05-31

Family

ID=58899002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611079713.7A Pending CN106775588A (zh) 2016-11-30 2016-11-30 一种基于主从处理器架构的固件升级方法

Country Status (1)

Country Link
CN (1) CN106775588A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475191A (zh) * 2020-04-04 2020-07-31 东风越野车有限公司 基于多核技术的汽车控制器软件升级系统及方法
CN112312374A (zh) * 2020-11-06 2021-02-02 国网江苏省电力有限公司电力科学研究院 基于nfc升级单片机固件的装置及方法
CN113608769A (zh) * 2021-08-16 2021-11-05 广东亿云智控技术有限公司 一种基于多单片机并行处理及自我升级的方法
CN113608769B (zh) * 2021-08-16 2024-05-03 广东亿云智控技术有限公司 一种基于多单片机并行处理及自我升级的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014161986A1 (de) * 2013-04-04 2014-10-09 Phoenix Contact Gmbh & Co.Kg Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung
CN104809006A (zh) * 2014-01-24 2015-07-29 福特全球技术公司 车辆和移动装置之间的软件实现的设备和方法
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化系统远程升级方法
CN105224362A (zh) * 2015-09-18 2016-01-06 深圳市新产业生物医学工程股份有限公司 上位机对下位机进行程序升级的方法及系统
CN105573794A (zh) * 2015-12-18 2016-05-11 中国电子科技集团公司第三研究所 一种嵌入式系统软件远程更新方法及系统
CN105700906A (zh) * 2014-11-29 2016-06-22 海思光电子有限公司 一种光模块的软件升级方法、相关设备和系统
CN105930193A (zh) * 2016-05-05 2016-09-07 国网重庆市电力公司电力科学研究院 一种基于操作系统的电能表软件在线升级方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014161986A1 (de) * 2013-04-04 2014-10-09 Phoenix Contact Gmbh & Co.Kg Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung
CN104809006A (zh) * 2014-01-24 2015-07-29 福特全球技术公司 车辆和移动装置之间的软件实现的设备和方法
US20160255185A1 (en) * 2014-01-24 2016-09-01 Ford Global Technologies, Llc Apparatus and Method of Software Implementation Between a Vehicle and Mobile Device
CN105700906A (zh) * 2014-11-29 2016-06-22 海思光电子有限公司 一种光模块的软件升级方法、相关设备和系统
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化系统远程升级方法
CN105224362A (zh) * 2015-09-18 2016-01-06 深圳市新产业生物医学工程股份有限公司 上位机对下位机进行程序升级的方法及系统
CN105573794A (zh) * 2015-12-18 2016-05-11 中国电子科技集团公司第三研究所 一种嵌入式系统软件远程更新方法及系统
CN105930193A (zh) * 2016-05-05 2016-09-07 国网重庆市电力公司电力科学研究院 一种基于操作系统的电能表软件在线升级方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475191A (zh) * 2020-04-04 2020-07-31 东风越野车有限公司 基于多核技术的汽车控制器软件升级系统及方法
CN111475191B (zh) * 2020-04-04 2023-06-06 东风越野车有限公司 基于多核技术的汽车控制器软件升级系统及方法
CN112312374A (zh) * 2020-11-06 2021-02-02 国网江苏省电力有限公司电力科学研究院 基于nfc升级单片机固件的装置及方法
CN112312374B (zh) * 2020-11-06 2022-09-06 国网江苏省电力有限公司电力科学研究院 基于nfc升级单片机固件的装置及方法
CN113608769A (zh) * 2021-08-16 2021-11-05 广东亿云智控技术有限公司 一种基于多单片机并行处理及自我升级的方法
CN113608769B (zh) * 2021-08-16 2024-05-03 广东亿云智控技术有限公司 一种基于多单片机并行处理及自我升级的方法

Similar Documents

Publication Publication Date Title
US9823920B2 (en) Method for updating firmware and configuration file and a firmware-configuration file management system therefor
CN110166462B (zh) 访问控制方法、系统、电子设备及计算机存储介质
CN109587018A (zh) 设备配置的方法、装置、网络系统以及移动终端
CN103744784A (zh) 手机应用自动化测试方法及系统
CN105224362A (zh) 上位机对下位机进行程序升级的方法及系统
US20150074179A1 (en) Smartphone-assisted maintenance of a self-service terminal
CN103678105A (zh) 一种页面代码的测试方法和装置
CN103763351A (zh) 基于上位机与下位机的软件在线升级方法
CN103297517A (zh) 一种状态监测系统的分布式数据传输方法
CN102279756A (zh) Cpld固件更新方法
CN109240971A (zh) 通信方法、装置及系统
CN108958772A (zh) 一种多板卡设备的批量升级方法及系统
CN108469961A (zh) 一种基于微型化嵌入式平台远程升级系统及方法
CN112835616A (zh) 一种版本升级方法、装置、电子设备及存储介质
WO2015062217A1 (zh) 虚拟桌面系统中外设的接入处理方法及装置
CN106775588A (zh) 一种基于主从处理器架构的固件升级方法
CN104125218A (zh) 一种设备识别方法、装置以及系统
CN107861765B (zh) 产品配置方法、设备和计算机可读存储介质
EP2973462B1 (en) Surveillance system with intelligently interchangeable cameras
US9779037B2 (en) Establishing connectivity of modular nodes in a pre-boot environment
CN107404535B (zh) 设备的远端升级方法和装置
CN102546341A (zh) 多联空调机组中地址冲突的检测方法
US20150137940A1 (en) Device, system and method for non-contact security information interaction
CN112527678A (zh) 用于测试协议的方法、装置、设备以及存储介质
CN107147719A (zh) 一种硬件更新方法、主节点、从节点以及服务器集群

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531