CN116301972A - 一种微控制单元固件升级方法及系统 - Google Patents

一种微控制单元固件升级方法及系统 Download PDF

Info

Publication number
CN116301972A
CN116301972A CN202310128982.1A CN202310128982A CN116301972A CN 116301972 A CN116301972 A CN 116301972A CN 202310128982 A CN202310128982 A CN 202310128982A CN 116301972 A CN116301972 A CN 116301972A
Authority
CN
China
Prior art keywords
firmware
control unit
micro control
updating
upgrading
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
CN202310128982.1A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310128982.1A priority Critical patent/CN116301972A/zh
Publication of CN116301972A publication Critical patent/CN116301972A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种微控制单元固件升级方法及系统,该方法包括:建立与中央处理器之间的通信通路;通过所述通信通路,获取由所述中央处理器发送的固件更新包;对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。本发明通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。

Description

一种微控制单元固件升级方法及系统
技术领域
本发明涉及固件升级技术领域,尤其涉及一种微控制单元固件升级方法及系统。
背景技术
微控制单元(Microcontroller Unit,简称MCU),又称单片机,凭借着低功耗、控制能力强以及可靠性高等显著优点,被广泛应用在家用电器、医疗设备和工业控制等多个领域。随着边缘服务器行业的兴起,MCU逐渐成为边缘服务器中硬件电路控制中的核心,在各种应用中起到关键作用。
随着MCU功能的不断更新或解决已知问题,难免会存在需要升级MCU固件的需求。而现有方法只能通过烧录器,将新版本的固件烧录至MCU中,其烧录过程需要拆开机器,将烧录器与MCU通过线缆连接才能进行升级,导致现有MCU的固件升级方法效率较低。
因此,现在亟需一种微控制单元固件升级方法及系统来解决上述问题。
发明内容
针对现有技术存在的问题,本发明提供一种微控制单元固件升级方法及系统。
本发明提供一种微控制单元固件升级方法,应用于微控制单元,包括:
建立与中央处理器之间的通信通路;
通过所述通信通路,获取由所述中央处理器发送的固件更新包;
对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
根据本发明提供的一种微控制单元固件升级方法,所述建立与中央处理器之间的通信通路,包括:
获取第一端口信息和第二端口信息,其中,所述第一端口信息为所述中央处理器对应的串口信息,所述第二端口信息为所述微控制单元对应的串口信息;
基于XModem协议和预设波特率,建立所述第一端口信息和所述第二端口信息之间的通信通路。
根据本发明提供的一种微控制单元固件升级方法,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
将所述固件更新包存储至对应的目标存储空间区域中;
获取固件升级标志位;
对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式。
根据本发明提供的一种微控制单元固件升级方法,所述对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式,包括:
若确定所述固件升级标志位中设置有升级信息,直接从所述目标存储空间区域调取所述固件更新包进行固件更新;
若确定所述固件升级标志位中未设置有升级信息,保持固件待升级状态,直到获取到固件升级指令,以根据所述固件升级指令,从所述目标存储空间区域调取所述固件更新包进行固件更新。
根据本发明提供的一种微控制单元固件升级方法,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
通过所述通信通路,获取由所述中央处理器发送的启动装载更新文件;
所述通过所述固件更新包进行固件更新,包括:
基于预设更新方式,通过所述启动装载更新文件和所述固件更新包进行固件更新,其中,所述预设更新方式包括同时更新方式和顺序更新方式。
根据本发明提供的一种微控制单元固件升级方法,在所述通过所述固件更新包进行固件更新之后,所述方法还包括:
在确定固件更新成功之后,生成新的固件版本号;
将所述新的固件版本号发生到所述中央处理器。
本发明还提供一种微控制单元固件升级方法,应用于中央处理器,包括:
建立与微控制单元之间的通信通路;
通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;
获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
本发明还提供一种微控制单元固件升级系统,应用于微控制单元,包括:
第一通信连接模块,用于建立与中央处理器之间的通信通路;
固件更新包接收模块,用于通过所述通信通路,获取由所述中央处理器发送的固件更新包;
固件更新模块,用于对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
本发明还提供一种微控制单元固件升级系统,应用于中央处理器,包括:
第二通信连接模块,用于建立与微控制单元之间的通信通路;
固件更新包发送模块,用于通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;
固件更新结果确认模块,用于获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述微控制单元固件升级方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述微控制单元固件升级方法。
本发明提供的一种微控制单元固件升级方法及系统,通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的微控制单元固件升级方法的流程示意图之一;
图2为本发明提供的微控制单元固件升级方法的整体流程图;
图3为本发明提供的微控制单元固件升级方法的流程示意图之二;
图4为本发明提供的微控制单元固件升级系统的结构示意图之一;
图5为本发明提供的微控制单元固件升级系统的结构示意图之二;
图6为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现在边缘服务器中,MCU会对电路,以及一些温度传感器和电压传感器进行通信和控制;同时,主机中的中央处理器(Central Processing Unit,简称CPU)也需要从MCU中获取相关的数据,以呈现给用户;并且,MCU还与边缘服务器的风扇控制和散热策略关系密切,对于这些功能需求以及一些控制功能上的调整,需要对MCU的固件进行升级。
在对边缘服务器领域中的相关硬件进行固件升级时,对于基板管理控制器(Baseboard Management Controller,简称BMC)和基本输入输出系统(Basic InputOutput System,简称BIOS)的固件,都可以利用BMC的带外接口实现带外升级(即通过外部网络等方式连接进行升级)。但是,现有MCU和其它硬件之间的通信较为单一,无法实现带外升级,并且相较于传统的服务器,边缘服务器正逐渐摒弃BMC、复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)和BIOS等传统硬件,MCU主机成为硬件电路控制的核心部件。然而,在对现有MCU进行固件升级时,传统的方法就是需要通过烧录器烧录升级,对于未出售的产品升级起来还较为简单,需要在产线上生产时通过人工完成升级,严重浪费人力物力财力,而对于已出售的产品,需要将机器拆开才能升级,升级过程十分繁琐耗时。本发明提出了一种基于MCU与CPU之间串口的MCU固件升级方法,相较于现有通过烧录器对MCU固件进行升级,本发明提出的方法无需拆机就可以完成固件升级,可实现批量固件升级,减少了人力物力的浪费,使得产品的可维护性更强。
图1为本发明提供的微控制单元固件升级方法的流程示意图之一,如图1所示,本发明提供了一种微控制单元固件升级方法,应用于微控制单元,包括:
步骤101,建立与中央处理器之间的通信通路。
在本发明中,边缘服务器中的MCU和主机CPU之间是可以进行通信的,为了排除故障(DEBUG),可通过两者之间的串口(串行接口)来通信,在本发明中,可直接通过串口协议直连实现通信通路的建立,也可以通过将MCU和CPU上的USB接口转换为串口再建立通信通路。在本发明中,CPU与MCU之间通过串口连接之后,通过串口通信协议实现通信连接。
步骤102,通过所述通信通路,获取由所述中央处理器发送的固件更新包。
在本发明中,MCU可向CPU发送固件升级请求,判断当前是否存在固件更新包可供更新,也可以由CPU一端直接通过通信通路,将固件更新包发送到MCU。需要说明的是,在本发明中,在CPU通过通信通路将固件更新包发送到MCU之前,可将固件更新包存储在边缘服务器的存储单元中,例如,硬盘存储器。优选地,可以通过边缘服务器上的USB接口,连接外部硬盘,该外部硬盘中存储有固件更新包,使得CPU可以从外部硬盘中将固件更新包发送到MCU,在固件更新完成之后,断开外部硬盘与边缘服务器之间的连接,从而节省边缘服务器中的数据存储空间。
步骤103,对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
在本发明中,MCU会对接收到的固件更新包进行完整性校验,通过对校验码进行校验,判断接收到的数据是否为MCU的固件更新包,并判断是否已传输完成。在确定固件更新包已全部接收后,MCU通过该固件更新包进行更新,从而完成MCU固件升级。
本发明提供的微控制单元固件升级方法,通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。
在上述实施例的基础上,所述建立与中央处理器之间的通信通路,包括:
获取第一端口信息和第二端口信息,其中,所述第一端口信息为所述中央处理器对应的串口信息,所述第二端口信息为所述微控制单元对应的串口信息;
基于XModem协议和预设波特率,建立所述第一端口信息和所述第二端口信息之间的通信通路。
在本发明中,首先必须确定MCU和主机CPU之间待进行通信的串口端口号;然后,在CPU的操作系统(Operating System,简称OS)中,通过Python程序基于之前确定的串口端口号,实现CPU和MCU之间的串口通信,具体地,在本发明中,利用Python的XModem协议和serial库,通过serial.Serial()配置串口,包括端口号和预设波特率等建立通信,其中,预设波特率可根据实际传输需求进行调整。
在本发明中,通过serial.read()和serial.write()的串口读写功能,以及XModem文件传输协议实现对MCU新固件的传输,使得串口通路采用中断的形式,在检测到MCU的固件更新数据传入后,立即开始运行接收程序,期间不会将串口用于其他功能,有效降低了MCU估计升级失败的概率,提高了MCU估计升级时的可靠性;同时,可采用XModem文件传输协议中的校验位,当MCU接收到新固件数据时,在MCU固件升级前,会根据校验位对MCU版本进行校验,判断接收到的数据是否为MCU新固件,并判断是否传输完成,从而避免MCU固件升级过程中出现误刷和恶意刷机等情况,提高了MCU固件升级时的安全性。
在上述实施例的基础上,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
将所述固件更新包存储至对应的目标存储空间区域中;
获取固件升级标志位;
对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式。
在本发明中,当MCU接收到固件更新包之后,将MCU固件更新包代码存储在flash中。在一实施例中,MCU内部flash分为7个区域,其中,1至3区域存储当前固件,开机时自动运行1至3区域的固件,4至6区域用于存储固件更新包,当MCU接收到固件更新包的数据时,会把固件更新包的数据先存放到4至6区域中,最后一个区域(即第7区域)用于存储是否需要升级的固件升级标志位flag。当MCU将固件更新包存储至flash之后,先根据第7区域的固件升级标志位flag判断是否为需要升级,在确定固件升级标志位flag对应为升级指示时,执行固件升级操作。
在上述实施例的基础上,所述对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式,包括:
若确定所述固件升级标志位中设置有升级信息,直接从所述目标存储空间区域调取所述固件更新包进行固件更新;
若确定所述固件升级标志位中未设置有升级信息,保持固件待升级状态,直到获取到固件升级指令,以根据所述固件升级指令,从所述目标存储空间区域调取所述固件更新包进行固件更新。
在本发明中,当CPU将固件更新包传输完成后,MCU需要进行一次复位/重启(Reset)动作。在Reset时,BootLoader程序会根据上述实施例中第7区域中的固件升级标志位flag,判断是否需要升级,如果需要升级,则把4至6区域的数据存放到1至3区域中,然后正常运行MCU,从而完成MCU固件升级。
在上述实施例的基础上,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
通过所述通信通路,获取由所述中央处理器发送的启动装载更新文件;
所述通过所述固件更新包进行固件更新,包括:
基于预设更新方式,通过所述启动装载更新文件和所述固件更新包进行固件更新,其中,所述预设更新方式包括同时更新方式和顺序更新方式。
在本发明中,当边缘服务器获取到MCU固件新的BootLoader程序时,也可将这个新的BootLoader程序,通过MCU与CPU之间的通信通路发送到MCU进行更新,同时,在MCU的flash中添加对应的BootLoader程序升级标志位flag。当MCU接收到BootLoader程序更新数据时,将原有的BootLoader程序直接替换掉即可完成升级;此外,可根据预设更新方式,在固件更新和BootLoader程序同时存在时,可对MCU固件和BootLoader程序的升级次序进行设置,例如,将两部分合并后同时升级,也可将两个升级过程设置先后顺序进行,提供了一种更为高效且稳定的升级方式。
在上述实施例的基础上,在所述通过所述固件更新包进行固件更新之后,所述方法还包括:
在确定固件更新成功之后,生成新的固件版本号;
将所述新的固件版本号发生到所述中央处理器。
在本发明中,当MCU完成本次固件升级重启开机后,可以通过在CPU中执行相关查询命令,利用MCU与CPU之间的通信通路,将MCU的固件版本号发送到CPU,从而查看当前MCU的固件版本号,进而通过CPU对固件版本号进行验证,确定当前固件升级是否成功。
图2为本发明提供的微控制单元固件升级方法的整体流程图,可参考图2所示,在一实施例中,具体步骤如下:
步骤201,首先确定MCU与CPU之间待建立通信通路的串口端口号;
步骤202,根据串口端口号,建立MCU与CPU之间的通信连接;
步骤203,通过串口连接,获取CPU发送的固件数据;
步骤204,MCU读取接收到的新固件数据,同时执行步骤205,设置升级标记;
步骤205,MCU设置升级标记,确定对当前接收到的新固件数据执行更新操作;
步骤206,通过新固件数据,对MCU中的旧固件版本进行替换;
步骤207,MCU执行重启操作;
步骤208,完成MCU固件升级。
图3为本发明提供的微控制单元固件升级方法的流程示意图之二,如图3所示,本发明提供了一种微控制单元固件升级方法,应用于中央处理器,包括:
步骤301,建立与微控制单元之间的通信通路;
步骤302,通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;
步骤303,获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
在本发明中,CPU可直接通过串口协议,与MCU直连实现通信通路的建立。然后,在边缘服务器获取到固件更新包后,CPU直接通过通信通路,将固件更新包发送到MCU;也可以在获取到MCU发送固件升级请求后,判断当前边缘服务器的存储单元中是否存在固件更新包可供更新,再由CPU从存储单元中调取该固件更新包,进而通过通信通路发送到MCU。最后,当MCU完成固件升级之后,CPU通过接收MCU发送的固件版本号,确定固件升级是否成功,从而实现MCU固件的带内升级。
本发明提供的微控制单元固件升级方法,通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。
下面对本发明提供的微控制单元固件升级系统进行描述,下文描述的微控制单元固件升级系统与上文描述的微控制单元固件升级方法可相互对应参照。
图4为本发明提供的微控制单元固件升级系统的结构示意图之一,如图4所示,本发明提供了一种微控制单元固件升级系统,应用于微控制单元,包括第一通信连接模块401、固件更新包接收模块402和固件更新模块402,其中,第一通信连接模块401用于建立与中央处理器之间的通信通路;固件更新包接收模块402用于通过所述通信通路,获取由所述中央处理器发送的固件更新包;固件更新模块403用于对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
在本发明中,第一通信连接模块401直接通过串口协议直连实现通信通路的建立,也可以通过在MCU和CPU上的USB接口转换为串口后再建立通信通路。
在本发明中,MCU可向CPU发送固件升级请求,判断当前是否存在固件更新包可供更新,在确定当前存在新的固件数据时,固件更新包接收模块402通过MCU与CPU之间的通信通路,获取到CPU发送的固件更新包。另外,固件更新包接收模块402也可直接从在CPU一端存在新的固件数据时,无需由MCU发送固件升级请求,此时,CPU主动发送固件更新数据,通过固件更新包接收模块402直接将固件更新包发送到MCU。需要说明的是,在本发明中,在CPU通过通信通路将固件更新包发送到MCU之前,可将固件更新包存储在边缘服务器的存储单元中,例如,硬盘存储器。优选地,可以通过边缘服务器上的USB接口,连接外部硬盘,该外部硬盘中存储有固件更新包,使得CPU可以从外部硬盘中将固件更新包发送到MCU,在固件更新完成之后,断开外部硬盘与边缘服务器之间的连接,从而节省边缘服务器中的数据存储空间。
进一步地,固件更新模块403会对接收到的固件更新包进行完整性校验,通过对校验码进行校验,判断接收到的数据是否为MCU的固件更新包,并判断是否已传输完成。在确定固件更新包已全部接收后,固件更新模块403通过该固件更新包进行更新,从而完成MCU固件升级。
本发明提供的微控制单元固件升级系统,通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。
图5为本发明提供的微控制单元固件升级系统的结构示意图之二,如图5所示,本发明提供了一种微控制单元固件升级系统,应用于中央处理器,包括第二通信连接模块501、固件更新包发送模块502和固件更新结果确认模块503,其中,第二通信连接模块501用于建立与微控制单元之间的通信通路;固件更新包发送模块502用于通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;固件更新结果确认模块503用于获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
在本发明中,通过第二通信连接模块501,在CPU一端向MCU发出连接请求,从而直接通过串口协议,与MCU直连实现通信通路的建立。然后,在边缘服务器获取到固件更新包后,固件更新包发送模块502通过通信通路,将固件更新包发送到MCU,也可以在获取到MCU发送固件升级请求后,判断当前边缘服务器的存储单元中是否存在固件更新包可供更新,再由固件更新包发送模块502从存储单元中调取该固件更新包,进而通过通信通路发送到MCU。最后,当MCU完成固件升级之后,固件更新结果确认模块503通过接收MCU发送的固件版本号,确定固件升级是否成功,从而实现MCU固件的带内升级。
本发明提供的微控制单元固件升级系统,通过微控制单元和中央处理器之间的串口建立通信通路,由中央处理器将固件更新包通过建立好的通信通路发送到微控制单元,实现微控制单元的带内升级,提高了微控制单元的升级效率。
本发明提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
图6为本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(Processor)601、通信接口(Communications Interface)602、存储器(Memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行微控制单元固件升级方法,该方法包括:建立与中央处理器之间的通信通路;通过所述通信通路,获取由所述中央处理器发送的固件更新包;对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新;
或,建立与微控制单元之间的通信通路;通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的微控制单元固件升级方法,该方法包括:建立与中央处理器之间的通信通路;通过所述通信通路,获取由所述中央处理器发送的固件更新包;对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新;
或,建立与微控制单元之间的通信通路;通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的微控制单元固件升级方法,该方法包括:建立与中央处理器之间的通信通路;通过所述通信通路,获取由所述中央处理器发送的固件更新包;对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新;
或,建立与微控制单元之间的通信通路;通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种微控制单元固件升级方法,其特征在于,应用于微控制单元,包括:
建立与中央处理器之间的通信通路;
通过所述通信通路,获取由所述中央处理器发送的固件更新包;
对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
2.根据权利要求1所述的微控制单元固件升级方法,其特征在于,所述建立与中央处理器之间的通信通路,包括:
获取第一端口信息和第二端口信息,其中,所述第一端口信息为所述中央处理器对应的串口信息,所述第二端口信息为所述微控制单元对应的串口信息;
基于XModem协议和预设波特率,建立所述第一端口信息和所述第二端口信息之间的通信通路。
3.根据权利要求1所述的微控制单元固件升级方法,其特征在于,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
将所述固件更新包存储至对应的目标存储空间区域中;
获取固件升级标志位;
对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式。
4.根据权利要求3所述的微控制单元固件升级方法,其特征在于,所述对所述固件升级标志位进行判断,并根据判断结果,确定固件更新执行模式,包括:
若确定所述固件升级标志位中设置有升级信息,直接从所述目标存储空间区域调取所述固件更新包进行固件更新;
若确定所述固件升级标志位中未设置有升级信息,保持固件待升级状态,直到获取到固件升级指令,以根据所述固件升级指令,从所述目标存储空间区域调取所述固件更新包进行固件更新。
5.根据权利要求1所述的微控制单元固件升级方法,其特征在于,在所述通过所述固件更新包进行固件更新之前,所述方法还包括:
通过所述通信通路,获取由所述中央处理器发送的启动装载更新文件;
所述通过所述固件更新包进行固件更新,包括:
基于预设更新方式,通过所述启动装载更新文件和所述固件更新包进行固件更新,其中,所述预设更新方式包括同时更新方式和顺序更新方式。
6.根据权利要求1至5任一项所述的微控制单元固件升级方法,其特征在于,在所述通过所述固件更新包进行固件更新之后,所述方法还包括:
在确定固件更新成功之后,生成新的固件版本号;
将所述新的固件版本号发生到所述中央处理器。
7.一种微控制单元固件升级方法,其特征在于,应用于中央处理器,包括:
建立与微控制单元之间的通信通路;
通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;
获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
8.一种微控制单元固件升级系统,其特征在于,应用于微控制单元,包括:
第一通信连接模块,用于建立与中央处理器之间的通信通路;
固件更新包接收模块,用于通过所述通信通路,获取由所述中央处理器发送的固件更新包;
固件更新模块,用于对所述固件更新包进行校验,在根据校验结果确定所述固件更新包已传输完成之后,通过所述固件更新包进行固件更新。
9.一种微控制单元固件升级系统,其特征在于,应用于中央处理器,包括:
第二通信连接模块,用于建立与微控制单元之间的通信通路;
固件更新包发送模块,用于通过所述通信通路,将固件更新包发送到所述微控制单元,以供所述微控制单元在接收到所述固件更新包之后进行固件更新;
固件更新结果确认模块,用于获取由所述微控制单元发送的固件版本号,并根据所述固件版本号,确定所述微控制单元的固件升级结果。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述微控制单元固件升级方法。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述微控制单元固件升级方法。
CN202310128982.1A 2023-02-17 2023-02-17 一种微控制单元固件升级方法及系统 Pending CN116301972A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310128982.1A CN116301972A (zh) 2023-02-17 2023-02-17 一种微控制单元固件升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310128982.1A CN116301972A (zh) 2023-02-17 2023-02-17 一种微控制单元固件升级方法及系统

Publications (1)

Publication Number Publication Date
CN116301972A true CN116301972A (zh) 2023-06-23

Family

ID=86819594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310128982.1A Pending CN116301972A (zh) 2023-02-17 2023-02-17 一种微控制单元固件升级方法及系统

Country Status (1)

Country Link
CN (1) CN116301972A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130639A (zh) * 2023-10-26 2023-11-28 江苏华鲲振宇智能科技有限责任公司 一种bmc集群管理单板mcu固件升级方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130639A (zh) * 2023-10-26 2023-11-28 江苏华鲲振宇智能科技有限责任公司 一种bmc集群管理单板mcu固件升级方法及系统
CN117130639B (zh) * 2023-10-26 2024-03-08 江苏华鲲振宇智能科技有限责任公司 一种bmc集群管理单板mcu固件升级方法及系统

Similar Documents

Publication Publication Date Title
CN104579719B (zh) 一种固件的升级方法和系统、上位机和光模块
WO2021136200A1 (zh) 引导程序的加载方法、存储介质及嵌入式终端
CN116301972A (zh) 一种微控制单元固件升级方法及系统
CN111901142B (zh) 一种用于嵌入式设备集群的固件静默升级方法及装置
TWI778811B (zh) 升級方法,電腦系統和遠端升級設備
CN113010217A (zh) 一种bios参数设置方法、装置、电子设备及存储介质
CN115658582A (zh) 一种pcie设备扫描方法及服务器
CN110568946A (zh) 一种端口控制方法、设备及介质
CN117289963A (zh) 在线更新服务器平台服务固件的目标区域的方法及设备
CN116700751A (zh) 一种服务器固件的升级方法及计算设备
US20190370008A1 (en) Boot times in an information processing device with externally connected devices
CN107870776B (zh) 一种ipmc在线升级方法及装置
CN110716733A (zh) 一种ont产品软件互升级方法
CN113986357B (zh) 建立通信链路的方法、装置和存储介质
CN112181461B (zh) 升级方法、网络模块、设备、服务器以及升级系统
TW201629757A (zh) 端點伺服器的控制模組及其韌體更新方法
CN113986317A (zh) 一种bmc基于固件升级安全更新主板bios版本的方法
CN109254936B (zh) 插入数据传输队列结构体的方法和装置
CN112771497A (zh) 设备升级的方法、装置及存储介质
CN106445571B (zh) 主机板及开机的方法
CN113886218B (zh) 一种验证bios刷新的方法、装置、设备及可读介质
CN114115955B (zh) 服务器资源盒子fpga固件升级方法、系统、终端及存储介质
CN115951905A (zh) 文件烧录方法、开发板及存储介质
WO2017059599A1 (zh) 升级多住户单元的方法和设备
CN107066277B (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