CN111124461B - 用于单片机ota升级的方法、装置和单片机 - Google Patents

用于单片机ota升级的方法、装置和单片机 Download PDF

Info

Publication number
CN111124461B
CN111124461B CN201911275053.3A CN201911275053A CN111124461B CN 111124461 B CN111124461 B CN 111124461B CN 201911275053 A CN201911275053 A CN 201911275053A CN 111124461 B CN111124461 B CN 111124461B
Authority
CN
China
Prior art keywords
code
area
ota
upgrade
function
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
CN201911275053.3A
Other languages
English (en)
Other versions
CN111124461A (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.)
Qingdao Haier Technology Co Ltd
Original Assignee
Qingdao Haier 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 Qingdao Haier Technology Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN201911275053.3A priority Critical patent/CN111124461B/zh
Publication of CN111124461A publication Critical patent/CN111124461A/zh
Application granted granted Critical
Publication of CN111124461B publication Critical patent/CN111124461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • 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

Abstract

本申请涉及单片机技术领域,公开一种用于单片机OTA升级的方法。该用于单片机OTA升级的方法包括:在确定进行OTA升级时,获得升级代码,将升级代码的功能代码保存至闪存的功能代码区,将升级代码的代码摘要保存至闪存的信息区。在采用该方法对单片机进行维护或者开发时,无需关注具体OTA特性,便于单片机的维护或者开发。本申请还公开了一种用于单片机OTA升级的装置和单片机。

Description

用于单片机OTA升级的方法、装置和单片机
技术领域
本申请涉及单片机技术领域,例如涉及一种用于单片机OTA升级的方法、装置和单片机。
背景技术
目前,随着无线技术发展,利用单片机控制系统,大都实现了无线通信功能,可以和后台服务器连接,实现本地代码的空中下载(Over the Air,OTA)升级。其中,OTA升级是指智能设备内部系统可以通过无线路径连接后台服务器,远程下载代码,实现本地控制系统的功能升级。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
根据单片机厂家提供的特别方法,编制特别OTA代码和控制系统常规代码紧密耦合,实现OTA升级,当更换单片机,开发新系统时候,则需要重新按照新厂家方法进行新的代码构建,实现新的OTA升级。在前述升级过程中,需要大量重复的OTA代码编制,功能代码和OTA代码紧密耦合,不利于单片机的维护或开发。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于单片机OTA升级的方法、装置和单片机,以解决OTA升级过程不利于单片机的维护或开发的技术问题。
在一些实施例中,用于单片机OTA升级的方法应用于单片机的Boot区,所述方法包括:
在确定进行OTA升级时,获得升级代码;
将所述升级代码的功能代码保存至闪存的功能代码区;
将所述升级代码的代码摘要保存至所述闪存的信息区。
在一些实施例中,用于单片机OTA升级的装置应用于单片机的Boot区,所述装置包括:
获得模块,被配置为在确定进行OTA升级时,获得升级代码;
第一保存模块,被配置为将所述升级代码的功能代码保存至闪存的功能代码区;
第二保存模块,被配置为将所述升级代码的代码摘要保存至所述闪存的信息区。
在一些实施例中,单片机包括Boot区、功能代码区和信息区,其中,在执行所述Boot区的代码时,实现前述实施例提供的用于单片机OTA升级的方法。
本公开实施例提供的用于单片机OTA升级的方法、装置和单片机,可以实现以下技术效果:
OTA升级所需的代码存储在Boot区,通过执行Boot区的代码,获得升级代码,并将不同功能的代码分别存储在功能代码区和信息区,从而实现对单片机的维护或升级。在上述升级过程中,控制OTA升级的代码与其他代码是解耦的,没有直接关联,在编制一次Boot区的代码后,基于同一OTA通信协议的其他系统可任意引用Boot区的代码,在对单片机进行维护或者开发时,无需关注具体OTA特性,便于单片机的维护或者开发。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,并且其中:
图1是本公开实施例提供的一种单片机闪存的配置示意图;
图2是本公开实施例提供了一种用于单片机OTA升级的方法的流程示意图;
图3是本公开实施例提供的一种用于单片机OTA升级的方法的流程示意图;
图4是本公开实施例提供的一种用于单片机OTA升级的装置的示意图;
图5是本公开实施例提供的一种用于单片机OTA升级的装置的示意图;
图6是本公开实施例提供的一种单片机系统的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
在本公开实施例中,将单片机的闪存配置为三个区域,分别是信息区11、功能代码区12和Boot区13,如图1所示。其中,单片机上电后默认的启动地址在Boot区13,一般配置在闪存的低地址位置,Boot区13中存储有单片机通用的启动和OTA代码,在执行OTA代码时,单片机实现OTA升级,例如,在执行OTA代码时,实现其他实施例中提供的用于单片机OTA的方法;功能代码区12存储有实现各种功能的功能代码,在执行功能代码时,实现各种预设功能,或者,功能代码区12用于进行代码备份;信息区11一般配置在闪存的高地址位置,用于存放功能代码的摘要信息,摘要信息包括功能代码区12中各段功能代码的功能及其指针,例如,实现看视频的功能代码以及该功能代码的起始地址,实现看新闻的功能代码以及该功能代码的起始地址。通过读取摘要信息,即可获知功能代码区12中各段功能代码所代表的功能,以及,各段功能代码的起始地址。
图2是本公开实施例提供了一种用于单片机OTA升级的方法的流程示意图。在该实施例中,用于单片机OTA升级的方法应用于单片机的Boot区,用于单片机OTA升级的方法包括:
步骤201、在确定进行OTA升级时,获得升级代码。
在实际应用中,单片机与其他功能电路组成单片机系统,使得单片机正常工作。例如,单片机与电源电路、时钟电路和复位电路组成单片机系统。单片机与通过总线与无线通信装置连接,该无线通信装置为WiFi装置,或者,该无线通信装置为全球移动通信系统(Global System for Mobile Communications,GSM)中的移动台,闪存的Boot区存储有驱动无线通信装置的程序,该程序用于单片机的OTA升级过程,在确定进行OTA升级时,执行该程序,此时无线通信装置处于OTA升级模式,单片机通过该无线通信装置与服务器建立连接,通过无线通信装置获得升级代码。闪存的功能代码区也存储有驱动无线通信装置的程序,该驱动程序用于单片机正常运行的过程,在执行该程序时,无线通信装置处于常规模式,实现常规的通信功能。
闪存的Boot区存储有OTA代码,该OTA代码是根据一特定OTA通信协议开发的,基于该OTA代码,单片机在服务器获得升级代码,并实现升级过程。在开始执行该OTA代码时,判断是否需要对单片机进行升级,若是,则继续执行该用于单片机OTA升级的方法,否则执行功能代码区的代码,单片机正常运行。可选地,在检测到OTA通信信息,且无线通信装置进入OTA升级模式时,确定进行OTA升级。OTA通信信息是在需要对单片机进行OTA升级时,服务器向单片机发送的信息,用于告知单片机做好升级准备。在检测到OTA通信信息时,说明此时需要对单片机进行升级,在无线通信装置进入OTA升级模式时,说明此时单片机的升级准备已就绪,可开始OTA升级过程,使得单片机顺利完成OTA升级过程。
在一些应用场景中,单片机通过无线通信装置接收复位指令,复位并重新执行Boot区的OTA代码,再判断是否需要进行OTA升级。
步骤202、将升级代码的功能代码保存至闪存的功能代码区。
升级代码包括功能代码和代码摘要,在执行步骤202之前,单片机已将升级代码划分为功能代码和代码摘要两部分,并且,复位功能代码区的程序。在执行步骤202时,单片机首先将升级代码的功能代码下载至闪存的Boot区,再将该功能代码转存至闪存的功能代码区。
步骤203、将升级代码的代码摘要保存至闪存的信息区。
升级代码包括功能代码和代码摘要,在执行步骤203之前,单片机已将升级代码划分为功能代码和代码摘要两部分。在执行步骤203时,单片机首先将升级代码的代码摘要下载至闪存的Boot区,再将该代码摘要转存至闪存的信息区。
在该实施例中,首先将升级代码的功能代码保存至闪存的功能代码区,再将升级代码的代码摘要保存至闪存的信息区。然而,上述两个保存过程没有必然的先后顺序,还可实施为:首先将升级代码的代码摘要保存至闪存的信息区,再将升级代码的功能代码保存至闪存的功能代码区。
在将升级代码的功能代码保存至闪存的功能代码区的过程中,实际上已经对功能代码区中的功能代码进行了修改;在了升级代码的代码摘要保存至闪存的信息区的过程中,实际上已经对信息区的代码进行了修改。但是,在该升级过程中,并未修改Boot区的OTA代码,在OTA通信协议不变时,任意系统均可引用该OTA代码,从而实现单片机的OTA升级。故,单片机在完成本次升级后,还可基于同样的OTA代码,进行下一次升级。
综上,OTA升级所需的代码存储在Boot区,通过执行Boot区的代码,获得升级代码,并将不同功能的代码分别存储在功能代码区和信息区,从而实现对单片机的维护或升级。在上述升级过程中,控制OTA升级的代码与其他代码是解耦的,没有直接关联,在编制一次Boot区的代码后,基于同一OTA通信协议的其他系统可任意引用Boot区的代码,在对单片机进行维护或者开发时,无需关注具体OTA特性,便于单片机的维护或者开发。
在将升级代码的功能代码保存至闪存的功能代码区,并将升级代码的代码摘要保存至闪存的信息区之后,校验功能代码和代码摘要的完整性,若功能代码和代码摘要均通过完整性校验,则确认成功完成OTA升级,否则未成功完成OTA升级。可选地,在升级代码未通过完整性校验时,继续获得升级代码。例如,复位并重新执行Boot区的OTA代码,重新检测OTA通信信息,重新驱动无线通信装置进入OTA升级模式,重新获得升级代码,重新将升级代码的功能代码保存至闪存的功能代码区,并重新将升级代码的代码摘要保存至闪存的信息区,最后再重新检验升级代码的完整性;在未成功升级时,无线通信装置始终处于OTA升级模式。可选地,在升级代码通过完整性校验,且没有OTA通信信息时,跳转至功能代码区,以执行功能代码区的功能代码。例如在升级代码通过完整性校验后,确认成功完成OTA升级,复位并重新执行OTA代码,若复位之后没有检测到OTA通信信息,则跳转至功能代码区,执行功能代码,从而实现一些预设的功能,例如看视频、看新闻等。可选地,跳转至功能代码区,包括:读取信息区的代码摘要,根据信息区的代码摘要跳转至功能代码区的预设代码处。功能代码区中往往存储有多段功能代码,多段功能代码所代表的功能往往互相支持,多段功能代码具有一定的执行顺序,在单片机升级后,多段功能代码的执行顺序可能会发生改变,此时通过读取信息区中的代码摘要,获知多段功能代码的执行顺序,并根据需要先执行的功能代码所对应的指针跳转至需要先执行的功能代码的地址处,单片机可正确的执行功能代码。
图3是本公开实施例提供的一种用于单片机OTA升级的方法的流程示意图。在该实施例中,用于单片机OTA升级的方法包括:
步骤301、单片机通过无线通信装置获得复位指令,复位功能代码区中的程序;其中,功能代码区的程序是由前述功能代码编译后形成的;步骤301可通过功能代码区中的程序执行。
步骤302、复位启动Boot区中的程序;其中,编译形成该程序的代码包括前述的OTA代码;
步骤303、在检测到OTA通信信息时,控制无线通信装置进入OTA升级模式;
步骤304、下载升级代码,将功能代码的功能代码保存至功能代码区;
步骤305、将功能代码的代码摘要保存至信息区;
步骤306、校验升级代码,若未通过校验,则重新执行步骤302;若通过校验,执行步骤307;
步骤307、复位启动Boot区中的程序,控制无线通信装置进入常规模式;
步骤308、在没有检测到OTA通信信息时,读取信息区的代码摘要,根据代码摘要跳转至功能代码区,以正确执行功能代码。之后单片机进入正常运行的状态。
图4是本公开实施例提供的一种用于单片机OTA升级的装置的示意图。在该实施例中,用于单片机OTA升级的装置应用于单片机的Boot区,该装置包括:获得模块41,被配置为在确定进行OTA升级时,获得升级代码;第一保存模块42,被配置为将升级代码的功能代码保存至闪存的功能代码区;第二保存模块43,被配置为将升级代码的代码摘要保存至闪存的信息区。
OTA升级所需的代码存储在Boot区,通过执行Boot区的代码,获得升级代码,并将不同功能的代码分别存储在功能代码区和信息区,从而实现对单片机的维护或升级。在上述升级过程中,控制OTA升级的代码与其他代码是解耦的,没有直接关联,在编制一次Boot区的代码后,基于同一OTA通信协议的其他系统可任意引用Boot区的代码,在对单片机进行维护或者开发时,无需关注具体OTA特性,便于单片机的维护或者开发。
图5是本公开实施例提供的一种用于单片机OTA升级的装置的示意图。
可选地,获得模块41包括:获得单元411,被配置为通过无线通信装置获得升级代码。
可选地,在检测到OTA通信信息,且无线通信装置进入OTA升级模式时,确定进行OTA升级。
可选地,用于单片机OTA升级的装置还包括:第一跳转模块44,被配置为在升级代码通过完整性校验,且没有OTA通信信息时,跳转至功能代码区,以执行功能代码区的功能代码。
可选地,第一跳转模块44包括:读取单元441,被配置为读取信息区的代码摘要;跳转单元442,被配置为根据信息区的代码摘要跳转至功能代码区的预设代码处。
可选地,用于单片机OTA升级的装置还包括:第二跳转模块45,被配置为在升级代码未通过完整性校验时,跳转至获得模块41。
本公开实施例提供了一种单片机,该单片机包括Boot区、功能代码区和信息区,其中,在执行Boot区的代码时,实现前述实施例提供的用于单片机OTA升级的方法。
可选地,本公开实施例中的单片机为基于RSCI微处理器(Advanced RISCMachines,ARM)的单片机。
图6是本公开实施例提供的一种单片机系统的示意图。在该实施例中,单片机系统包括:处理器(processor)61和存储器(memory)62,还可以包括通信接口(CommunicationInterface)63和总线64。其中,处理器61、通信接口63、存储器62可以通过总线64完成相互间的通信。通信接口63可以用于信息传输。处理器61可以调用存储器62中的逻辑指令,以执行前述实施例提供的用于单片机OTA升级的方法。
此外,上述的存储器62中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器62作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器61通过运行存储在存储器62中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例提供的用于单片机OTA升级的方法。
存储器62可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行前述实施例提供的用于单片机OTA升级的方法。
本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行前述实施例提供的用于单片机OTA升级的方法。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样地,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (13)

1.一种用于单片机OTA升级的方法,其特征在于,应用于单片机的Boot区,Boot区中存储有单片机通用的启动和OTA代码,所述方法包括:
在确定进行OTA升级时,获得升级代码;
将所述升级代码的功能代码保存至闪存的功能代码区;功能代码区存储有实现各种功能的功能代码;单片机首先将升级代码的功能代码下载至闪存的Boot区,再将该功能代码转存至闪存的功能代码区;对功能代码区中的功能代码进行了修改;
将所述升级代码的代码摘要保存至所述闪存的信息区;信息区用于存放功能代码的摘要信息,摘要信息包括功能代码区中各段功能代码的功能及其指针;单片机首先将升级代码的代码摘要下载至闪存的Boot区,再将该代码摘要转存至闪存的信息区;对信息区的代码进行了修改;
升级过程中,未修改Boot区的OTA代码。
2.根据权利要求1所述的方法,其特征在于,通过无线通信装置获得升级代码。
3.根据权利要求2所述的方法,其特征在于,在检测到OTA通信信息,且所述无线通信装置进入OTA升级模式时,确定进行OTA升级。
4.根据权利要求1、2或3所述的方法,其特征在于,在将代码摘要保存至所述闪存的信息区之后,还包括:
在所述升级代码通过完整性校验,且没有OTA通信信息时,跳转至所述功能代码区,以执行所述功能代码区的功能代码。
5.根据权利要求4所述的方法,其特征在于,跳转至所述功能代码区,包括:
读取所述信息区的代码摘要;
根据所述信息区的代码摘要跳转至所述功能代码区的预设代码处。
6.根据权利要求4所述的方法,其特征在于,还包括:在所述升级代码未通过完整性校验时,继续获得升级代码。
7.一种用于单片机OTA升级的装置,其特征在于,应用于单片机的Boot区,Boot区中存储有单片机通用的启动和OTA代码,所述装置包括:
获得模块,被配置为在确定进行OTA升级时,获得升级代码;
第一保存模块,被配置为将所述升级代码的功能代码保存至闪存的功能代码区;功能代码区存储有实现各种功能的功能代码;单片机首先将升级代码的功能代码下载至闪存的Boot区,再将该功能代码转存至闪存的功能代码区;对功能代码区中的功能代码进行了修改;
第二保存模块,被配置为将所述升级代码的代码摘要保存至所述闪存的信息区;信息区用于存放功能代码的摘要信息,摘要信息包括功能代码区中各段功能代码的功能及其指针;单片机首先将升级代码的代码摘要下载至闪存的Boot区,再将该代码摘要转存至闪存的信息区;对信息区的代码进行了修改;
升级过程中,未修改Boot区的OTA代码。
8.根据权利要求7所述的装置,其特征在于,所述获得模块包括:
获得单元,被配置为通过无线通信装置获得升级代码。
9.根据权利要求8所述的装置,其特征在于,在检测到OTA通信信息,且所述无线通信装置进入OTA升级模式时,确定进行OTA升级。
10.根据权利要求7、8或9所述的装置,其特征在于,还包括:
第一跳转模块,被配置为在所述升级代码通过完整性校验,且没有OTA通信信息时,跳转至所述功能代码区,以执行所述功能代码区的功能代码。
11.根据权利要求10所述的装置,其特征在于,所述第一跳转模块包括:
读取单元,被配置为读取所述信息区的代码摘要;
跳转单元,被配置为根据所述信息区的代码摘要跳转至所述功能代码区的预设代码处。
12.根据权利要求10所述的装置,其特征在于,还包括:
第二跳转模块,被配置为在所述升级代码未通过完整性校验时,跳转至所述获得模块。
13.一种单片机,其特征在于,包括Boot区、功能代码区和信息区,其中,在执行所述Boot区的代码时,实现如权利要求1至6任一项所述的用于单片机OTA升级的方法。
CN201911275053.3A 2019-12-12 2019-12-12 用于单片机ota升级的方法、装置和单片机 Active CN111124461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911275053.3A CN111124461B (zh) 2019-12-12 2019-12-12 用于单片机ota升级的方法、装置和单片机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911275053.3A CN111124461B (zh) 2019-12-12 2019-12-12 用于单片机ota升级的方法、装置和单片机

Publications (2)

Publication Number Publication Date
CN111124461A CN111124461A (zh) 2020-05-08
CN111124461B true CN111124461B (zh) 2023-08-18

Family

ID=70499937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911275053.3A Active CN111124461B (zh) 2019-12-12 2019-12-12 用于单片机ota升级的方法、装置和单片机

Country Status (1)

Country Link
CN (1) CN111124461B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140523A (zh) * 2007-04-25 2008-03-12 中兴通讯股份有限公司 用于嵌入式系统的存储资源划分方法及装置
JP2008104036A (ja) * 2006-10-20 2008-05-01 Sumitomo Electric Ind Ltd 通信装置
CN101419557A (zh) * 2008-07-29 2009-04-29 航天信息股份有限公司 一种程序下载控制方法
CN101777003A (zh) * 2010-02-08 2010-07-14 宁波大学 工业燃气表数据集抄器远程程序升级的方法
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控系统中设备自升级方法
CN102567054A (zh) * 2011-12-22 2012-07-11 深圳市大富科技股份有限公司 双塔放大器的控制方法及相应的装置
CN102622253A (zh) * 2012-03-09 2012-08-01 瑞斯康达科技发展股份有限公司 一种单片机及其在线升级的方法
CN103473088A (zh) * 2013-08-30 2013-12-25 北京远特科技有限公司 一种单片机在线升级方法和系统
CN103530146A (zh) * 2013-09-16 2014-01-22 成都交大光芒科技股份有限公司 低功耗嵌入式设备远程无线升级方法
CN104503804A (zh) * 2014-12-31 2015-04-08 天津市通卡公用网络系统有限公司 一种在线更新单片机程序的方法
CN104991806A (zh) * 2015-08-06 2015-10-21 广州唯控电子科技有限公司 单片机程序远程固件升级系统和方法
CN106569847A (zh) * 2016-10-14 2017-04-19 数源科技股份有限公司 一种用于车载系统基于移动网络实现iap远程升级的方法
CN207867483U (zh) * 2017-10-16 2018-09-14 江西飞尚科技有限公司 一种通过dtu无线升级固件的振弦采集仪
CN108632359A (zh) * 2018-04-12 2018-10-09 中国科学院计算技术研究所 一种通用型物联网节点装置及其使用方法
CN108897564A (zh) * 2018-06-07 2018-11-27 京信通信系统(中国)有限公司 一种嵌入式系统的软件升级方法及嵌入式系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008104036A (ja) * 2006-10-20 2008-05-01 Sumitomo Electric Ind Ltd 通信装置
CN101140523A (zh) * 2007-04-25 2008-03-12 中兴通讯股份有限公司 用于嵌入式系统的存储资源划分方法及装置
CN101419557A (zh) * 2008-07-29 2009-04-29 航天信息股份有限公司 一种程序下载控制方法
CN101777003A (zh) * 2010-02-08 2010-07-14 宁波大学 工业燃气表数据集抄器远程程序升级的方法
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控系统中设备自升级方法
CN102567054A (zh) * 2011-12-22 2012-07-11 深圳市大富科技股份有限公司 双塔放大器的控制方法及相应的装置
CN102622253A (zh) * 2012-03-09 2012-08-01 瑞斯康达科技发展股份有限公司 一种单片机及其在线升级的方法
CN103473088A (zh) * 2013-08-30 2013-12-25 北京远特科技有限公司 一种单片机在线升级方法和系统
CN103530146A (zh) * 2013-09-16 2014-01-22 成都交大光芒科技股份有限公司 低功耗嵌入式设备远程无线升级方法
CN104503804A (zh) * 2014-12-31 2015-04-08 天津市通卡公用网络系统有限公司 一种在线更新单片机程序的方法
CN104991806A (zh) * 2015-08-06 2015-10-21 广州唯控电子科技有限公司 单片机程序远程固件升级系统和方法
CN106569847A (zh) * 2016-10-14 2017-04-19 数源科技股份有限公司 一种用于车载系统基于移动网络实现iap远程升级的方法
CN207867483U (zh) * 2017-10-16 2018-09-14 江西飞尚科技有限公司 一种通过dtu无线升级固件的振弦采集仪
CN108632359A (zh) * 2018-04-12 2018-10-09 中国科学院计算技术研究所 一种通用型物联网节点装置及其使用方法
CN108897564A (zh) * 2018-06-07 2018-11-27 京信通信系统(中国)有限公司 一种嵌入式系统的软件升级方法及嵌入式系统

Also Published As

Publication number Publication date
CN111124461A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN109933348B (zh) 一种电子控制单元中Bootloader的更新方法和装置
CN106708543B (zh) 一种操作系统的ota升级方法及装置
CN109358882B (zh) 一种电视终端进行固件升级的方法及装置
KR100988157B1 (ko) 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체
KR20140060912A (ko) 부트로더를 업데이트하는 방법 및 장치
CN107704258B (zh) Uboot升级方法、系统及终端设备
CN105260215A (zh) 一种u盘升级车载行车记录仪终端的方法
CN101807152B (zh) 自我验证选择只读存储器的基本输出入系统及其验证方法
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN101021797A (zh) 一种用于嵌入式系统的软件修复和升级方法
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN103365676B (zh) 通信设备的软件升级方法及装置
CN110389772B (zh) 双核mcu应用程序升级方法
CN105677409A (zh) 一种系统升级方法及装置
US20130080751A1 (en) Method and device for updating bios program for computer system
CN111124461B (zh) 用于单片机ota升级的方法、装置和单片机
CN111857785B (zh) 一种mcu的启动方法、装置及终端设备
CN113360161A (zh) 资源升级方法及相关产品
CN116700765A (zh) 伺服驱动器的固件升级方法及装置、伺服驱动器
CN115951920A (zh) 移动设备升级方法、装置、存储单元和移动设备
CN112559349B (zh) 一种程序的运行方法及运行装置
CN114115957A (zh) 一种带备份的fpga在线更新方法及其系统
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
CN107480007B (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