CN106775588A - 一种基于主从处理器架构的固件升级方法 - Google Patents
一种基于主从处理器架构的固件升级方法 Download PDFInfo
- 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
Links
Classifications
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
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校验通过后,所述服务器将升级指令传送至主处理器的缓冲区,并按照自上而下的顺序进行保存,此时从处理器按照指令先进先出的原则对主处理器缓冲区中的升级指令进行接收,主处理器与从处理器对于升级指令的接收彼此独立,互不干扰。
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)
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 | 广东亿云智控技术有限公司 | 一种基于多单片机并行处理及自我升级的方法 |
CN114911499A (zh) * | 2022-05-07 | 2022-08-16 | 芯海科技(深圳)股份有限公司 | 一种升级方法及电子设备 |
Citations (7)
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 | 国网重庆市电力公司电力科学研究院 | 一种基于操作系统的电能表软件在线升级方法及系统 |
-
2016
- 2016-11-30 CN CN201611079713.7A patent/CN106775588A/zh active Pending
Patent Citations (8)
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 (7)
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 | 广东亿云智控技术有限公司 | 一种基于多单片机并行处理及自我升级的方法 |
CN114911499A (zh) * | 2022-05-07 | 2022-08-16 | 芯海科技(深圳)股份有限公司 | 一种升级方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
CN106775588A (zh) | 一种基于主从处理器架构的固件升级方法 | |
US20160350097A1 (en) | Method for updating firmware and configuration file and a firmware-configuration file management system therefor | |
CN103744784A (zh) | 手机应用自动化测试方法及系统 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN103763351A (zh) | 基于上位机与下位机的软件在线升级方法 | |
CN103678105A (zh) | 一种页面代码的测试方法和装置 | |
CN103297517A (zh) | 一种状态监测系统的分布式数据传输方法 | |
US20150074179A1 (en) | Smartphone-assisted maintenance of a self-service terminal | |
CN108958772A (zh) | 一种多板卡设备的批量升级方法及系统 | |
CN109240971A (zh) | 通信方法、装置及系统 | |
US9800994B1 (en) | Systems and methods for cloud-based device configuration management of heterogeneous devices | |
CN109560996A (zh) | 物联网终端自动化测试系统及方法 | |
CN110377590A (zh) | 基于物联网的数据采集系统、方法及计算机可读存储介质 | |
CN104123496A (zh) | 一种流氓软件的拦截方法及装置、终端 | |
CN108469961A (zh) | 一种基于微型化嵌入式平台远程升级系统及方法 | |
CN104703741B (zh) | 焊接电源管理系统及其管理方法 | |
CN102546341B (zh) | 多联空调机组中地址冲突的检测方法 | |
CN107817962B (zh) | 一种远程控制方法、装置、控制服务器及存储介质 | |
EP2973462B1 (en) | Surveillance system with intelligently interchangeable cameras | |
US20150137940A1 (en) | Device, system and method for non-contact security information interaction | |
CN113852610B (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
CN107404535B (zh) | 设备的远端升级方法和装置 | |
CN102640129B (zh) | 用于多核系统的直接存储器存取装置及其操作方法 | |
CN112527678A (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 |