CN112040476A - 物联网终端的升级方法及装置 - Google Patents

物联网终端的升级方法及装置 Download PDF

Info

Publication number
CN112040476A
CN112040476A CN202010847808.9A CN202010847808A CN112040476A CN 112040476 A CN112040476 A CN 112040476A CN 202010847808 A CN202010847808 A CN 202010847808A CN 112040476 A CN112040476 A CN 112040476A
Authority
CN
China
Prior art keywords
firmware
app
storage area
address
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.)
Granted
Application number
CN202010847808.9A
Other languages
English (en)
Other versions
CN112040476B (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.)
Beijing Sany Zhinong Data Technology Co ltd
Original Assignee
Beijing Sany Zhinong Data 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 Beijing Sany Zhinong Data Technology Co ltd filed Critical Beijing Sany Zhinong Data Technology Co ltd
Priority to CN202010847808.9A priority Critical patent/CN112040476B/zh
Publication of CN112040476A publication Critical patent/CN112040476A/zh
Application granted granted Critical
Publication of CN112040476B publication Critical patent/CN112040476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种物联网终端的升级方法及装置,包括Boot固件存储区,App固件存储区,App固件备份区;MCU连接外部Flash;MCU上电后,进入Boot固件存储区,Boot固件进行初始化,执行相应操作后跳转至App地址。App进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。本发明通过分块管理Flash配合启动程序的判断,在远程升级失败的情况终端固件自动回滚,支持本地升级和在线升级,解决升级时由于发生意外错误导致的终端死机问题。在更新固件失败时,Boot程序通过判断标志位,自动完成固件回滚操作,保证设备的正常运行。

Description

物联网终端的升级方法及装置
技术领域
本发明属于物联网技术领域,具体涉及一种物联网终端的升级方法及装置。
背景技术
物联网(The Internet of things)是新一代信息技术的综合运用和高度集成,是当前经济发展和科技创新的战略高点。物联网终端作为整个系统里的基础单元已经广泛的应用在人们的生产和生活中。随着5G技术的进一步普及、物联网终端成本的大幅下降,加上AI和大数据等辅助技术加持,物联网真正能够对下游客户产生降本增效的作用。未来物联网有望复制互联网时代的光辉,产生新一代的物联网领军企业。
目前各大云服务企业如阿里云,华为云,腾讯云,京东云等,不单提供了支持公有协议和私有协议的云服务,而且也都提供了各自的OTA远程升级协议。物联网终端是物联网中连接传感网络层和传输网络层的媒介,它担负着数据采集、初步处理、加密、传输等多种功能。物联网各类终端设备总体上可以分为情景感知层、网络接入层、网络控制层以及应用/业务层。它的另一特点是分布广泛,数量巨大,尤其是在工业和农业的应用中,如果在使用过程中需要升级终端固件,那么通过OTA是最优且最便捷的方案。但是一旦升级发生意外错误,终端将无法使用。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种物联网终端的升级方法及装置,以解决现有技术中物联网终端升级时候发生错误就会导致终端无法使用的问题。
为实现以上目的,本发明采用如下技术方案:一种物联网终端的升级方法,包括:将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;所述MCU连接外部Flash,所述外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
进一步的,所述Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从所述App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至APP地址执行业务任务。
进一步的,所述根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务,包括:
置位标志位,并将当前固件版本号上传至服务器,根据服务器回复的指令确定是否升级。
进一步的,所述根据服务器回复的指令确定是否升级,包括:
如果所述指令为是,则执行OTA下载升级固件并存入外部Flash,置位固件升级标志,保存参数并进行复位;
如果所述指令为否,则执行业务任务。
进一步的,所述MCU外接看门狗;
所述看门狗用于Boot固件在判断标志位时,如果超过预设时间则进行超时复位;
进一步的,所述看门狗还用于APP进行升级处理时,如果超过预设时间则进行超时复位。
进一步的,还包括:
在所述APP执行业务任务时,判断是否掉电,如果没有掉电则继续执行业务任务,如果掉电则保存参数并关机。
进一步的,所述MCU通过SPI总线连接外部Flash。
进一步的,所述本地升级任务包括:
Boot固件内的本地升级任务、Boot固件连接的外部USB口或者串口的本地升级任务。
本申请实施例提供一种物联网终端的升级装置,包括:
划分模块,用于将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;所述MCU连接外部Flash,所述外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
判断模块,用于MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
处理模块,用于在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
进一步的,所述Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从所述App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至APP地址执行业务任务。
本发明采用以上技术方案,能够达到的有益效果包括:
本发明提供一种物联网终端的升级方法,解决物联网终端固件升级失败导致物联网终端无法使用的问题,支持本地升级和在线升级,解决在线升级时由于发生意外错误导致的终端死机问题。在更新固件失败时,Boot程序通过判断标志位,自动完成固件回滚操作,保证设备的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明物联网终端的升级方法的步骤示意图;
图2为本发明物联网终端的升级方法的流程示意图;
图3为本发明Boot固件的处理流程示意图;
图4为本发明App固件的处理流程示意图;
图5为本发明物联网终端的升级装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
下面结合附图介绍本申请实施例中提供的一个具体的物联网终端的升级方法及装置。
如图1所示,本申请实施例中提供的物联网终端的升级方法,包括:
S101,将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;MCU连接外部Flash,外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
S102,MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
S103,在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
物联网终端的升级方法的工作原理为:本申请首先将MCU内部的Flash划分为3个区域,分别是Boot固件存储区,App固件存储区以及App固件备份区,MCU连接外部Flash,外部Flash除了存储日常的工作数据及参数,同时用于OTA时,从互联网上下载的固件包数据;Boot固件存储区内有Boot固件,负责标志位的判断,有线升级固件,以及程序的跳转。App固件存储区内有App固件负责产品的本身业务逻辑,以及OTA在线升级,需要OTA操作时,将下载到的固件包存储于外部Flash,下载成功后置位标志位,并复位。
如图2所示,本申请提供的物联网终端的升级方法的工作流程为:终端设备上电后,进入Boot固件,进行初始化,开始判断标志位,根据标志位状态进入App,其中标志位状态包括在线升级和本地升级;进入App后,进行初始化,根据标志位状态APP对固件版本号进行判断,具体的,当标志位状态为本地升级或在线升级后,则APP判断固件版本号是否发生变化,如果发生变化,根据服务器指令判断是否升级,服务器判断当前版本与服务器中版本是否相同,如果服务器中的版本为最新版本则升级处理,如果版本相同,则跳转至APP地址执行业务任务;如果固件版本号未发生变化,则执行业务任务,任务为App的日常任务。如果标志位状态为未升级,则APP无需对固件版本号进行判断,直接跳转至APP地址执行业务任务。
优选的,如图2所示,在APP执行业务任务时,判断是否掉电,如果没有掉电则继续执行业务任务,如果掉电则保存参数并关机。
在掉电时保存参数并关机,能够保护物联网终端数据,防止终端数据丢失。
优选的,MCU外接看门狗;
看门狗用于Boot固件在判断标志位时,如果超过预设时间则进行超时复位;
看门狗还用于APP进行升级处理时,如果超过预设时间则进行超时复位。
其中,预设时间可根据实际需要进行设置,上述Boot固件的预设时间与App的预设时间可以为相同的预设时间也可以是不同的预设时间。本申请在此不做限定。
可以理解的是,终端出厂前,通过SW下载口,分别将三块固件(Boot,App,App_bakup)存入相应地址。本申请提供的方案只有在终端出厂前会将数据写入MCU内部Flash,其他时间不会有写内部Flash的操作,大大减小了内部Flash出错引起的死机。
一些实施例中,Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至App备份地址执行业务任务。
可以理解的是,Boot固件程序的处理流程为:Boot固件的主要作用是对于不同的标志位进行不同的处理任务并进行程序跳转,同时支持外部USB口或者串口发来的本地升级任务。Boot固件不关心外设,其体量一般都会在5K以内,最大不超过10K,尽可能少地占用MCU的内部Flash。
具体的,如图3所示,终端设备上电后,进行相关初始化,然后判断是否有本地升级任务,有则执行本地升级逻辑,无则进行下一步,如果长时间处于该状态,看门狗会使设备发生复位操作。Boot固件要从终端的外部Flash中读取固件升级的标志位状态。正确,则发生跳转进入App固件的地址,结束Boot固件。如果标志位为OTA,则从外部Flash读入最新的App升级固件并写入App固件所在的内部Flash地址,写入完毕后置位标志位,并完成程序跳转。如果标志位错误,则从MCU内部的App备份区读出预写入的App固件,并写入App备份地址,写入后进行程序跳转,完成自动回滚。通过上述操作,即使从网络下载的升级固件有错误,也不会造成终端失效。终端的Boot固件会从内部Flash的备份区重新导入App固件,从而保证物联网终端的稳定性。
一些实施例中,根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务,包括:
如果指令为是,则执行OTA下载升级固件并存入外部Flash,置位固件升级标志,保存参数并进行复位;
如果指令为否,则执行业务任务。
具体的,App固件除了完成其业务逻辑,还负责根据标志位判断当前程序版本是否更新,并上报给服务器,根据服务器的指令确定是否执行OTA的新固件下载工作。
如图4所示,App固件处理流程为:App读取标志位并判断固件版本号是否发生变化,如果未发生变化,则执行业务任务。如果发生变化,则置位标志位并同步当前固件版本号到服务器,等待服务器回应是否升级,如果服务器指令为是,在获得服务器指令执行OTA固件下载工作时,所有下载的固件也是存储于MCU外部的Flash,下载完毕后同步并存储标志位,然后复位。整个过程中都不会对MCU的内部Flash有写入的操作。复位为回到终端上电状态。如果服务器指令为不升级,则执行APP任务。除此之外,在APP执行业务任务时,判断是否掉电,如果没有掉电则继续执行业务任务,如果掉电则保存参数并关机。
优选的,MCU通过SPI总线连接外部Flash。
优选的,Boot固件内的本地升级任务、Boot固件连接的外部USB口或者串口的本地升级任务。
本申请实施例提供一种物联网终端的升级装置,如图5所示,包括:
划分模块501,用于将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;MCU连接外部Flash,外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
判断模块502,用于MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
处理模块503,用于在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
本申请提供的一种物联网终端的升级装置的工作原理是,划分模块将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;MCU连接外部Flash,外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;判断模块502,用于MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并判断标志位;处理模块503在判断标志位后,进入App固件存储区,App固件存储区的APP进行初始化,在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
一些实施例中,Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至APP地址执行业务任务。
本申请实施例提供一种计算机设备,包括处理器,以及与处理器连接的存储器;
存储器用于存储计算机程序,计算机程序用于执行上述任一实施例提供的物联网终端的升级方法;
处理器用于调用并执行存储器中的计算机程序。
综上所述,本发明提供一种物联网终端的升级方法及装置,包括将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;MCU连接外部Flash,外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并判断标志位;在判断标志位后,进入App固件存储区,App固件存储区的APP进行初始化,读取标志位并判断固件版本号是否发生变化;如果发生变化,则进行升级处理,并在处理后执行业务任务;如果未发生变化,则执行业务任务。本申请通过分块管理Flash配合启动程序的判断,在远程升级失败的情况终端固件自动回滚,支持本地升级和在线升级,解决升级时由于发生意外错误导致的终端死机问题。在更新固件失败时,Boot程序通过判断标志位,自动完成固件回滚操作,保证设备的正常运行。
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种物联网终端的升级方法,其特征在于,包括:
将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;所述MCU连接外部Flash,所述外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
2.根据权利要求1所述的方法,其特征在于,所述Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从所述App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至APP地址执行业务任务。
3.根据权利要求1所述的方法,其特征在于,所述根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务,包括:
如果所述指令为是,则执行OTA下载升级固件并存入外部Flash,置位固件升级标志,保存参数并进行复位;
如果所述指令为否,则执行业务任务。
4.根据权利要求1所述的方法,其特征在于,所述MCU外接看门狗;
所述看门狗用于Boot固件在判断标志位时,如果超过预设时间则进行超时复位。
5.根据权利要求4所述的方法,其特征在于,
所述看门狗还用于APP进行升级处理时,如果超过预设时间则进行超时复位。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述APP执行业务任务时,判断是否掉电,如果没有掉电则继续执行业务任务,如果掉电则保存参数并关机。
7.根据权利要求1所述的方法,其特征在于,
所述MCU通过SPI总线连接外部Flash。
8.根据权利要求2所述的方法,其特征在于,所述本地升级任务包括:
Boot固件内的本地升级任务、Boot固件连接的外部USB口或者串口的本地升级任务。
9.一种物联网终端的升级装置,其特征在于,包括:
划分模块,用于将MCU内部的Flash划分为3个区域:Boot固件存储区,用于升级固件以及程序的跳转;App固件存储区,用于执行业务任务以及OTA在线升级;App固件备份区,用于备份APP固件;所述MCU连接外部Flash,所述外部Flash用于存储日常的工作数据及参数以及用于连接OTA时,存储下载的升级固件包数据;
判断模块,用于MCU上电后,进入Boot固件存储区,Boot固件存储区的Boot固件进行初始化,读取标志位并根据标志位执行相应操作;
处理模块,用于在执行相应操作后,进入App固件存储区,App固件存储区的APP进行初始化,根据读取的标志位判断是否需要更新固件版本号并进行更新处理,将处理后的固件版本号发送至服务器,并根据服务器指令确定是否升级,如果升级则进行升级处理,否则跳转至APP地址执行业务任务。
10.根据权利要求9所述的装置,其特征在于,所述Boot固件进行初始化,读取标志位并根据标志位执行相应操作,包括:
Boot固件初始化,判断是否有本地升级任务,如果有则接收升级固件,并存入App固件存储区的App备份地址并跳转至APP地址执行业务任务;
如果没有则从外部Flash读取固件升级的标志位;
如果标志位正确,则跳转至APP地址执行业务任务;
如果标志位为OTA,则从外部Flash中读入升级固件并写入App备份地址,写入完毕后置位标志位,并跳转至APP地址执行业务任务;
如果标志位错误,则从所述App固件备份区读取预写入的App固件并写入App备份地址,完成回滚后跳转至APP地址执行业务任务。
CN202010847808.9A 2020-08-21 2020-08-21 物联网终端的升级方法及装置 Active CN112040476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010847808.9A CN112040476B (zh) 2020-08-21 2020-08-21 物联网终端的升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010847808.9A CN112040476B (zh) 2020-08-21 2020-08-21 物联网终端的升级方法及装置

Publications (2)

Publication Number Publication Date
CN112040476A true CN112040476A (zh) 2020-12-04
CN112040476B CN112040476B (zh) 2023-08-15

Family

ID=73580492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010847808.9A Active CN112040476B (zh) 2020-08-21 2020-08-21 物联网终端的升级方法及装置

Country Status (1)

Country Link
CN (1) CN112040476B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671591A (zh) * 2021-01-15 2021-04-16 江苏米塔网络科技服务有限公司 一种基于ota技术的远程更新方法
CN112764781A (zh) * 2021-01-28 2021-05-07 深圳市科陆电子科技股份有限公司 台区智能终端、交采板固件升级方法、系统及存储介质
CN112988206A (zh) * 2021-03-26 2021-06-18 东莞市峰谷科技有限公司 一种不影响应用程序调试的BootLoader方法
CN113359571A (zh) * 2021-06-30 2021-09-07 上海麦腾物联网科技有限公司 一种车载mcu精微业务存储方法
CN114189440A (zh) * 2021-11-01 2022-03-15 深圳拓邦股份有限公司 一种物联网设备多控制板远程升级方法、装置及存储介质
CN114398087A (zh) * 2021-12-20 2022-04-26 鹏城实验室 一种提高单片机更新程序后运行稳定性的方法及单片机
CN116185461A (zh) * 2023-04-28 2023-05-30 广东华芯微特集成电路有限公司 固件升级方法及架构

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740034A (zh) * 2016-04-13 2016-07-06 深圳市高巨创新科技开发有限公司 Mcu在线升级固件的系统及方法
CN105760165A (zh) * 2016-02-22 2016-07-13 深圳威迈斯电源有限公司 一种mcu自我备份加载刷新的方法
CN110134415A (zh) * 2019-04-12 2019-08-16 深圳市致宸信息科技有限公司 一种控制器及其软件升级方法和装置
CN110231952A (zh) * 2019-06-17 2019-09-13 合肥巨一动力系统有限公司 一种ecu程序备份及循环升级控制方法及装置
CN110597532A (zh) * 2019-08-06 2019-12-20 厦门科灿信息技术有限公司 一种数据采集模块及其固件升级方法和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760165A (zh) * 2016-02-22 2016-07-13 深圳威迈斯电源有限公司 一种mcu自我备份加载刷新的方法
CN105740034A (zh) * 2016-04-13 2016-07-06 深圳市高巨创新科技开发有限公司 Mcu在线升级固件的系统及方法
CN110134415A (zh) * 2019-04-12 2019-08-16 深圳市致宸信息科技有限公司 一种控制器及其软件升级方法和装置
CN110231952A (zh) * 2019-06-17 2019-09-13 合肥巨一动力系统有限公司 一种ecu程序备份及循环升级控制方法及装置
CN110597532A (zh) * 2019-08-06 2019-12-20 厦门科灿信息技术有限公司 一种数据采集模块及其固件升级方法和存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671591A (zh) * 2021-01-15 2021-04-16 江苏米塔网络科技服务有限公司 一种基于ota技术的远程更新方法
CN112764781A (zh) * 2021-01-28 2021-05-07 深圳市科陆电子科技股份有限公司 台区智能终端、交采板固件升级方法、系统及存储介质
CN112988206A (zh) * 2021-03-26 2021-06-18 东莞市峰谷科技有限公司 一种不影响应用程序调试的BootLoader方法
CN113359571A (zh) * 2021-06-30 2021-09-07 上海麦腾物联网科技有限公司 一种车载mcu精微业务存储方法
CN113359571B (zh) * 2021-06-30 2024-04-30 上海麦腾物联网科技有限公司 一种车载mcu精微业务存储方法
CN114189440A (zh) * 2021-11-01 2022-03-15 深圳拓邦股份有限公司 一种物联网设备多控制板远程升级方法、装置及存储介质
CN114398087A (zh) * 2021-12-20 2022-04-26 鹏城实验室 一种提高单片机更新程序后运行稳定性的方法及单片机
CN114398087B (zh) * 2021-12-20 2023-08-18 鹏城实验室 一种提高单片机更新程序后运行稳定性的方法及单片机
CN116185461A (zh) * 2023-04-28 2023-05-30 广东华芯微特集成电路有限公司 固件升级方法及架构

Also Published As

Publication number Publication date
CN112040476B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN112040476A (zh) 物联网终端的升级方法及装置
US20170206079A1 (en) Method and Device for Upgrading Software
US8423991B2 (en) Embedded network device and firmware upgrading method
CN101950254B (zh) 一种软件更新方法和系统
JPWO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
CN104423981A (zh) Bmc固件自动更新系统及方法
TWI764454B (zh) 韌體損壞恢復技術
WO2013013396A1 (zh) 基本输入/输出系统bios配置数据管理方法及系统
CN111475215A (zh) 一种服务器开机方法、装置及其相关设备
CN111651304B (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN108897646B (zh) 一种bios芯片的切换方法及基板管理控制器
CN111752545B (zh) 一种支持数据重放的流计算方法
CN113672340A (zh) 一种虚拟机的增量备份方法、系统、装置及可读存储介质
CN115794182A (zh) 固件带外升级方法、装置、电子设备及存储介质
CN113515291A (zh) 设备在线升级方法和装置
WO2016131294A1 (zh) 版本升级处理方法及装置
CN109542598B (zh) 定时任务管理方法及装置
CN113934443A (zh) 软件升级系统
CN112486661B (zh) 一种计算机集群错峰开机的自动控制方法及系统
CN112579189A (zh) 配置文件更新方法及装置
CN104834574A (zh) 一种解决系统分区损坏的方法及装置
CN117289976A (zh) 程序更新方法、装置、设备及计算机可读存储介质
CN118484223A (zh) 双单片机升级方法和风机系统
CN117407023A (zh) 低代码平台应用版本自动化升级方法、装置、设备及介质
CN115146274A (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
GR01 Patent grant
GR01 Patent grant