CN112631628A - 单片机升级方法、单片机、存储介质 - Google Patents

单片机升级方法、单片机、存储介质 Download PDF

Info

Publication number
CN112631628A
CN112631628A CN202011442135.5A CN202011442135A CN112631628A CN 112631628 A CN112631628 A CN 112631628A CN 202011442135 A CN202011442135 A CN 202011442135A CN 112631628 A CN112631628 A CN 112631628A
Authority
CN
China
Prior art keywords
upgrading
upgrade
partition
program
file
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
CN202011442135.5A
Other languages
English (en)
Other versions
CN112631628B (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.)
Bangyan Technology Co ltd
Original Assignee
Bangyan 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 Bangyan Technology Co ltd filed Critical Bangyan Technology Co ltd
Priority to CN202011442135.5A priority Critical patent/CN112631628B/zh
Publication of CN112631628A publication Critical patent/CN112631628A/zh
Application granted granted Critical
Publication of CN112631628B publication Critical patent/CN112631628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

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

Abstract

本发明公开了一种单片机升级方法、单片机、存储介质,其中,单片机升级方法包括监听并接收串口或网口的升级命令和升级子文件,所述升级子文件通过升级文件切片得到,所述升级子文件包括第一校验信息;对所述升级子文件的数据进行校验以得到第二校验信息;当所述第一校验信息和所述第二校验信息一致,发送成功指令至上位机且将所述升级子文件存储至升级程序分区。本发明的单片机升级方法能够有效减少出现升级错误、传输过程误码的问题,并且支持远程升级。

Description

单片机升级方法、单片机、存储介质
技术领域
本发明涉及电子技术领域,尤其涉及一种单片机升级方法、单片机、存储介质。
背景技术
在科学技术高速发展的今天,电子产品已深入人们日常生活,成为人们不可或缺的一部分,在小型智能管理系统领域中,很多电子产品都是使用单片机作为主控芯片,特别是单片机长时间运行可靠性高、功耗低、成本低等特性能够满足低层需求,在电子产品中应用广泛。
在使用单片机过程中,需要根据用户需求不断地对单片机程序进行升级。而现在对单片机程序的升级通常基于IAP(In Application Programming,应用编译)技术,直接写入指定的程序代码区,升级过程没有可靠机制防止升级错误程序、传输过程产生误码等问题的发生,常常导致升级后不能正常工作,而且必须现场通过PC机借助指定编程器与单片机连接升级,不支持远程升级。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种单片机升级方法、单片机、存储介质,能够有效减少出现升级错误、传输过程误码的问题,并且支持远程升级。
根据本发明的第一方面实施例的单片机升级方法,包括:
监听并接收串口或网口的升级命令和升级子文件,所述升级子文件通过升级文件切片得到,所述升级子文件包括第一校验信息;
对所述升级子文件的数据进行校验以得到第二校验信息;
当所述第一校验信息和所述第二校验信息一致,发送成功指令至上位机且将所述升级子文件存储至升级程序分区。
根据本发明实施例的单片机升级方法,至少具有如下有益效果:上位机将升级文件切片得到若干个升级子文件,再将每个升级子文件发送给单片机,单片机对接收到的每个升级子文件都进行校验,确保每次传输的数据可靠,从而能够有效减少出现升级错误、传输过程误码的问题。
根据本发明的一些实施例,还包括:
对所述升级程序分区的数据进行校验以得到的第三校验信息;
当所述第三校验信息与所述第一校验信息一致,修改升级标识为运行,并将所述升级标识写入升级配置分区。
根据本发明的一些实施例,所述升级方法还包括:
当所述第三校验信息与所述第一校验信息不一致,清除原有所述升级子文件,并继续监听并接收串口或网口的最新升级命令和升级子文件。
根据本发明的一些实施例,所述升级方法还包括:当所述第一校验信息和所述第二校验信息不一致,发送重传请求至上位机;
当所述上位机接收所述重传请求的次数超过预设重传阈值,接收结束升级指令,并根据所述结束升级指令结束升级。
根据本发明的一些实施例,所述升级方法还包括:
从所述升级配置分区获取升级标识;
当所述升级标识为升级,且当运行程序分区有原有程序文件,从所述升级配置分区获取第四校验信息;
若所述第四校验信息与所述第三校验信息一致,将所述运行程序分区的所述原有程序文件存储至备份程序分区中;
所述备份程序分区写入所述原有程序文件成功后,擦除所述运行程序分区中的所述原有程序文件,并将所述升级子文件存储至所述运行程序分区。
根据本发明的一些实施例,所述升级方法还包括:当所述运行程序分区没有原有程序文件,将所述升级子文件存储至所述运行程序分区。
根据本发明的一些实施例,所述升级方法还包括:
对所述运行程序分区的数据进行校验,以得到第五校验信息;
若所述第五校验信息与所述第四校验信息一致,则修改将所述第五校验信息存储至所述升级配置分区,并将所述升级标识修改为运行,写入所述升级配置分区。
根据本发明的一些实施例,所述升级方法还包括:当升级失败,擦除运行程序分区的升级程序文件,将备份程序分区的原有程序文件写入至运行程序分区。
根据本发明的第二方面实施例的单片机,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现第一方面实施例中任一项所述的单片机升级方法。
根据本发明实施例的单片机,至少具有如下有益效果:上位机将升级文件切片得到若干个升级子文件,再将每个升级子文件发送给单片机,单片机对接收到的每个升级子文件都进行校验,确保每次传输的数据可靠,从而能够有效减少出现升级错误、传输过程误码的问题,并且支持远程升级。
根据本发明第三方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面实施例中任一项所述的单片机升级方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
下面结合附图和实施例对本发明做进一步的说明,其中:
图1为本发明实施例提供的单片机升级方法的流程图;
图2为本发明实施例提供的单片机升级方法的流程图;
图3为本发明实施例提供的单片机升级方法的流程图;
图4为本发明实施例提供的单片机升级方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在此,先说明本发明实施例中可能涉及到的概念。
预先将单片机的用户程序代码存储区划分为五个存储分区,具体如下:
第一分区为只读的存储引导程序分区,简称引导程序分区;
第二分区为可读写的存储运行程序分区,简称运行程序分区;
第三分区为可读写的存储备份程序分区,简称备份程序分区;
第四分区为可读写的存储升级程序分区,简称升级程序分区;
第五分区为可读写的存储升级配置分区,简称升级配置分区;
升级配置分区保存升级过程中的参数:升级状态(升级标识)、运行程序CRC、备份程序CRC、升级程序CRC、程序升级覆盖重试预设值、升级状态等待数据时间预设值。
升级状态分为运行和升级。当升级状态为升级时表示升级程序分区有数据,需要对运行程序分区进行升级;当升级状态为运行时表示无需升级直接运行用户程序。
循环冗余校验(Cyclic Redundancy Check,CRC):是对二进行文件循环冗余检验算法计算得出,单片机在接收完升级文件后,可以使用此CRC码校验升级文件完整性,防止传输过程产生误码导致文件损坏问题。在本申请中,采用公开的循环冗余检验CRC32算法,CRC32具有极强检错能力、开销小特点,适用于运算能力不强的单片机对数据做检错方法。
程序类型:用来标识当前程序应用唯一性,在生成应用程序时也需将程序类型内置代码中编译,根据程序类型就可以确认是否为本产品的升级程序,从而避免误写操作。
校验信息(第一校验信息至第五校验信息统称为校验信息)包括但不限于:程序类型和CRC。
单片机程序协议格式结构包括:起始头、命令字、状态、长度、数据、校验码。其中:
起始头:固定为0xA5、0x5A两字节,用于快速查找消息头部;
命令字:为1字节,用于上位机和单片机之间执行命令约定,包括升级启动、文件传输中、文件传输结束;
状态:单片机返回处理消息状态;
长度:指示数据内容长度;
数据:填写消息内容,如升级文件切片数据(升级子文件)等;
检验码:所有消息数据通过循环冗余检验算法计算得出CRC32,再取最低1个字节。
参照图1,第一方面,本发明的一些实施例提供了一种单片机升级方法,包括但不限于步骤S110、步骤S120、步骤S130。
步骤S110:监听并接收串口或网口的升级命令和升级子文件,升级子文件通过升级文件切片得到,升级子文件包括第一校验信息;
步骤S120:对升级子文件的数据进行校验以得到第二校验信息;
步骤S130:当第一校验信息和第二校验信息一致,发送成功指令至上位机且将升级子文件存储至升级程序分区。
在步骤S110中,上位机先将升级文件进行切片得到若干个升级子文件,每个升级子文件发送并收到应答成功后,再接着发送下一个升级子文件,直至所有的升级文件全部发送完。并且,每一个升级子文件都带有第一校验信息,以减少传输过程中出现误码的现象,同时能够防止因传输问题而导致升级失败。
在步骤S120中,单片机对接收到的每个升级子文件都进行数据校验,得到第二校验信息。如果校验成功返回成功应答消息,校验失败返回请求重传消息。通过对接收到的每个升级子文件都进行数据校验,确保每次传输的数据可靠。
在步骤S130中,比较第一校验信息和第二校验信息,当二者一致,则说明本次传输的升级子文件未出现传输错误,并将本次传输的升级子文件存储至升级程序分区。当所有的升级子文件均无误,则说明传输过程中未出现问题。
通过步骤S110、步骤S120、步骤S130,本申请能够有效减少出现升级错误、传输过程误码的问题,并且,设置网口能够支持远程升级。
参照图2,在本发明的一些实施例中,单片机升级方法包括但不限于:步骤S210、步骤S220。
步骤S210:对升级程序分区的数据进行校验以得到第三校验信息;
步骤S220:当第三校验信息与第一校验信息一致,修改升级标识为运行,并将升级标识写入升级配置分区。
在步骤S210中,单片机对步骤S230中写入的升级子文件整合后的升级文件进行校验,以保证写入过程中没有出现误码等问题。
在步骤S220中,比较第一校验信息和第三校验信息,当二者一致,说明在升级子文件写入、存储升级程序分区中及整合成升级文件的过程中没有出现错误,并将升级标识改为运行。
在本发明的一些实施例中,单片机升级方法还包括:当第三校验信息与第一校验信息不一致,清除原有升级子文件,并继续监听并接收串口或网口的最新升级命令和升级子文件。
具体地,在本实施例中,第三校验信息和第一校验信息不一致,则说明写入、存储至升级程序分区出错或者整合成升级文件出错,在这种情况下,单片机将内部存储的升级子文件进行清除,以保证不会出现升级错误,并继续等待新的升级命令和升级子文件。
参照图3,在本发明的一些实施例中,单片机升级方法还包括但不限于步骤S310、步骤S320。
步骤S310:当第一校验信息和第二校验信息不一致,发送重传请求至上位机;
步骤S320:当上位机接收所述重传请求的次数超过预设重传阈值,接收结束升级指令,并根据结束升级指令结束升级。
具体地,在本实施例中,第一校验信息和第二校验信息不一致,则说明升级文件在传输过程中出现错误,这种情况下,单片机发送重传请求至上位机,上位机接收到重传请求后,重新发送升级子文件至单片机。当重传次数超过预设重传阈值(如3次),则说明可能出现其他的错误,如:升级文件在进行切片的时候出错。在这种情况下,上位机会发出结束升级指令至单片机,单片机根据结束升级指令结束本次升级,这样能够防止单片机和上位机一直卡在传输过程,降低维护成本。
可以理解的是,上位机在一定时间内未接收到应答指令,也会重新发送当前的升级子文件等信息,且应当也归于重传次数。
参照图4,在本发明的一些实施例中,单片机升级方法包括但不限于步骤S410、步骤S420、步骤S430、步骤S440。
步骤S410:从升级配置分区获取升级标识;
步骤S420:当升级标识为升级,且当运行程序分区有原有程序文件,从升级配置分区获取第四校验信息;
步骤S430:若第四校验信息与第三校验信息一致,将运行程序分区的原有程序文件存储至备份程序分区中;
步骤S440:备份程序分区写入原有程序文件成功后,擦除运行程序分区中的原有程序文件,并将升级子文件存储至运行程序分区。
具体地,在本实施例中,当升级标识为升级,则说明升级程序分区中存在升级数据,在这种情况下,当运行程序分区也存在升级数据(原有程序文件),则比较第四校验信息和第三校验信息,通过比较这两个校验信息,能够判断升级程序分区的升级数据是否能够在本机执行或者与原有程序文件是否类型一致等等。当二者一致,则先将运行程序分区的升级数据存储至备份程序分区中,进行数据备份。当备份程序分区写入原有程序文件成功后,将运行程序分区中的原有程序文件擦除,并将升级程序分区中的本次升级数据(本次升级子文件)存储至运行程序分区。通过这样设置,能够进一步增强升级成功的概率,同时,也提供了升级错误的后路。
在本发明的一些实施例中,单片机升级方法还包括但不限于步骤S510。
步骤S510:当运行程序分区没有原有程序文件,将升级子文件存储至所述运行程序分区。
在本实施例中,当运行程序分区没有原有程序文件,则说明本次升级可能是第一次写入,在这种情况下,直接将升级程序分区的升级数据(升级子文件)写入存储至运行程序分区,能够免除后续判断及擦除的过程,提高工作效率。
在本发明的一些实施例中,单片机升级方法还包括但不限于步骤S610。
步骤S610:对运行程序分区的数据进行校验,以得到第五校验信息;
若第五校验信息与第四校验信息一致,则将第五校验信息存储至升级配置分区,并将升级标识修改为运行,写入升级配置分区。
具体地,在本实施例中,当升级数据(升级子文件)写入到运行程序分区后,对运行程序分区的数据进行校验得到第五校验信息,并将第五校验信息和第四校验信息相比较,如果二者一致,则说明写入过程没有出错,且该升级数据也能够在本机运行,在这种情况下,将第四校验信息更新为第五校验信息,以备下次直接从升级配置分区读取,同时,将升级标识改为运行,等待升级。
在本发明的一些实施例中,单片机升级方法还包括:当升级失败,擦除运行程序分区的升级程序文件,将备份程序分区的原有程序文件写入至运行程序分区。
通过这样设置,相当于将单片机的版本进行回滚,以解决升级错误导致单片机不能工作的问题。
下面以一个具体的实施例详细描述本发明实施例的单片机升级方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明专利的具体限制。
预先将单片机的用户程序代码存储区划分为五个存储分区,具体如下:
第一分区为只读的存储引导程序分区,简称引导程序分区;
第二分区为可读写的存储运行程序分区,简称运行程序分区;
第三分区为可读写的存储备份程序分区,简称备份程序分区;
第四分区为可读写的存储升级程序分区,简称升级程序分区;
第五分区为可读写的存储升级配置分区,简称升级配置分区;
升级配置分区保存升级过程中的参数:升级状态(升级标识)、运行程序CRC、备份程序CRC、升级程序CRC、程序升级覆盖重试预设值、升级状态等待数据时间预设值。
为防止升级错误,在二进制文件的头部添加以下信息:程序类型和CRC。
对升级文件的处理:
1、规定:上位机每条消息请求,必须等待应答消息。
2、上位机发送文件之前先下发升级启动消息,单片机应答成功后,上位机将升级文件进行切片,得到若干片升级子文件,其中每片升级子文件最大240字节,每片升级子文件发送并收到应答成功,索引加1后接着发送下一片升级子文件,制止全部的数据发送完成,最后发送文件结束消息。上位机如果等待大于预设超时时间(默认500毫秒)或者单片机应答请求重传,上位机则重传当前帧消息,重传次数大于预设重试次数(默认3次)则结束本次升级。
3、单片机接收到升级启动消息后,进入升级程序状态准备接收文件,并应答升级启动成功消息。单片机接收到每条消息必须对数据进行校验,确保每次传输的数据可靠,如果检验成功返回成功应答消息,如果检验失败返回请求重传。
4、单片机进入升级程序状态后,启动接收数据超时计数,当累计超过预设次数(默认3次)没有接收任何数据则自动结束本轮升级,每接收一帧数据则将超时计数清0。完成文件接收后,计算升级文件数据CRC与文件头部CRC是否一致,如果两者一致,本次文件传输成功,否则失败。
升级过程:
步骤1:单片机启动后先运行引导程序,从升级配置分区读取升级标识,如果为升级则跳至步骤2,否则跳至步骤5;
步骤2:计算升级程序分区数据CRC,并从升级配置分区读取升级程序CRC记录,如果两者一致则跳至步骤3,否则修改升级标识为运行并写入升级配置分区,跳至步骤5;
步骤3:擦除备份程序分区,将运行程序分区数据写到备份程序分区,计算备份程序分区数据CRC,并从升级配置分区读取备份程序CRC记录,如果两者一致则写备份程序分区CRC到升级配置分区并跳至步骤4,否则重复执行步骤3,如果执行此步骤次数大于预设次数(默认3次)则跳至步骤4;
步骤4:擦除运行程序分区的原有程序数据,将升级程序分区数据写到运行程序分区,计算运行程序分区数据CRC,并从升级配置分区读取升级程序CRC记录,如果两者一致则将运行程序分区CRC写入到升级配置分区,修改升级标识为运行并写入升级配置分区,跳至步骤5,否则重复执行步骤4,如果执行此步骤次数大于预设次数(默认3次)则跳至步骤5;
步骤5:判断运行程序分区是否有数据,有数据则跳转到运行程序分区并运行程序,跳至步骤7,无数据则跳至步骤6;
步骤6:进入串口升级模式,等待升级命令,接收数据并写入升级程序分区,接收完毕后,判断计算升级程序分区数据CRC与接收的CRC是否一致,且程序类型是否一致,如果两者都一致则修改升级标识为运行并写入升级配置分区,如果其中一项不一致则清除相关参数,重复执行步骤6;
步骤7:运行应用程序后,启动串口或网口等待接升级程序指令。如果接收到升级程序指令则进入接收升级文件,并将文件数据写入升级程序分区,接收完毕后,判断计算升级程序分区数据CRC与接收的CRC是否一致,且程序类型是否一致,如果两者都一致则修改升级标识为运行并写入升级配置分区,如果其中一项不一致则清除相关参数,重复执行步骤7。
本申请的单片机升级方法,能够预防升级错误,减少传输过程中的误码及升级写数据失败的等问题,同时,设置备份程序分区实现单片机的回滚功能,降低单片机的维护成本,并且,能够支持远程升级。
第二方面,本申请实施例还提供了一种单片机,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有指令,所述指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如第一方面实施例中任一项的单片机升级方法。
上位机将升级文件切片得到若干个升级子文件,再将每个升级子文件发送给单片机,单片机对接收到的每个升级子文件都进行校验,确保每次传输的数据可靠,从而能够有效减少出现升级错误、传输过程误码的问题,并且支持远程升级。
第三方面,本申请实施例还提供了计算机可读存储介质。
在一些实施例中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第一方面实施例中提到的单片机升级方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,比如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述单片机升级方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

Claims (10)

1.单片机升级方法,其特征在于,包括:
监听并接收串口或网口的升级命令和升级子文件,所述升级子文件通过升级文件切片得到,所述升级子文件包括第一校验信息;
对所述升级子文件的数据进行校验以得到第二校验信息;
当所述第一校验信息和所述第二校验信息一致,发送成功指令至上位机且将所述升级子文件存储至升级程序分区。
2.根据权利要求1所述的升级方法,其特征在于,还包括:
对所述升级程序分区的数据进行校验以得到的第三校验信息;
当所述第三校验信息与所述第一校验信息一致,修改升级标识为运行,并将所述升级标识写入升级配置分区。
3.根据权利要求2所述的升级方法,其特征在于,所述升级方法还包括:
当所述第三校验信息与所述第一校验信息不一致,清除原有所述升级子文件,并继续监听并接收串口或网口的最新升级命令和升级子文件。
4.根据权利要求1所述的升级方法,其特征在于,所述升级方法还包括:当所述第一校验信息和所述第二校验信息不一致,发送重传请求至上位机;
当所述上位机接收所述重传请求的次数超过预设重传阈值,接收结束升级指令,并根据所述结束升级指令结束升级。
5.根据权利要求1所述的升级方法,其特征在于,所述升级方法还包括:
从所述升级配置分区获取升级标识;
当所述升级标识为升级,且当运行程序分区有原有程序文件,从所述升级配置分区获取第四校验信息;
若所述第四校验信息与所述第三校验信息一致,将所述运行程序分区的所述原有程序文件存储至备份程序分区中;
所述备份程序分区写入所述原有程序文件成功后,擦除所述运行程序分区中的所述原有程序文件,并将所述升级子文件存储至所述运行程序分区。
6.根据权利要求5所述的升级方法,其特征在于,所述升级方法还包括:当所述运行程序分区没有原有程序文件,将所述升级子文件存储至所述运行程序分区。
7.根据权利要求6所述的升级方法,其特征在于,所述升级方法还包括:
对所述运行程序分区的数据进行校验,以得到第五校验信息;
若所述第五校验信息与所述第四校验信息一致,则修改将所述第五校验信息存储至所述升级配置分区,并将所述升级标识修改为运行,写入所述升级配置分区。
8.根据权利要求1所述的升级方法,其特征在于,所述升级方法还包括:当升级失败,擦除运行程序分区的升级程序文件,将备份程序分区的原有程序文件写入至运行程序分区。
9.一种单片机,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如权利要求1至8任一项所述的单片机升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至8任一项所述的单片机升级方法。
CN202011442135.5A 2020-12-11 2020-12-11 单片机升级方法、单片机、存储介质 Active CN112631628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011442135.5A CN112631628B (zh) 2020-12-11 2020-12-11 单片机升级方法、单片机、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011442135.5A CN112631628B (zh) 2020-12-11 2020-12-11 单片机升级方法、单片机、存储介质

Publications (2)

Publication Number Publication Date
CN112631628A true CN112631628A (zh) 2021-04-09
CN112631628B CN112631628B (zh) 2024-09-20

Family

ID=75309445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011442135.5A Active CN112631628B (zh) 2020-12-11 2020-12-11 单片机升级方法、单片机、存储介质

Country Status (1)

Country Link
CN (1) CN112631628B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220321A (zh) * 2021-04-13 2021-08-06 山东英信计算机技术有限公司 一种cpld的高效能升级方法、系统及介质
CN113391832A (zh) * 2021-06-11 2021-09-14 中电科航空电子有限公司 机载软件升级方法、升级包加载方法、装置和设备
CN114095954A (zh) * 2021-10-09 2022-02-25 福建新大陆通信科技股份有限公司 一种基于uart的无线通信模块升级方法
CN114679445A (zh) * 2022-03-14 2022-06-28 煤炭科学技术研究院有限公司 煤矿传感器的升级方法及装置
CN117453261A (zh) * 2023-11-10 2024-01-26 珠海科创储能科技有限公司 设备的升级数据校验方法、存储介质及电子设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163155A (zh) * 2011-03-09 2011-08-24 深圳创维数字技术股份有限公司 存储设备的升级方法及升级控制装置
WO2015154513A1 (zh) * 2014-09-04 2015-10-15 中兴通讯股份有限公司 基于cpld的远程升级控制方法和装置
CN105094903A (zh) * 2015-07-16 2015-11-25 广州飞米电子科技有限公司 对固件进行升级的方法及装置
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化系统远程升级方法
CN105677398A (zh) * 2015-12-31 2016-06-15 中海网络科技股份有限公司 一种通用的嵌入式计算机软件在线升级方法
CN108459866A (zh) * 2018-02-11 2018-08-28 广东美的厨房电器制造有限公司 升级方法、装置、计算机设备、程序产品及存储介质
CN109032846A (zh) * 2018-08-08 2018-12-18 京信通信系统(中国)有限公司 设备远程备份升级方法、装置、计算机存储介质及设备
CN109240730A (zh) * 2018-08-29 2019-01-18 武汉光迅科技股份有限公司 一种单片机在线升级方法和系统
CN110244970A (zh) * 2019-05-16 2019-09-17 芜湖智久机器人有限公司 一种单片机及其升级系统、升级方法
CN110389778A (zh) * 2019-07-19 2019-10-29 苏州浪潮智能科技有限公司 一种异构加速平台的mcu固件升级方法及相关装置
CN111522562A (zh) * 2020-04-16 2020-08-11 佛山市顺德区美的洗涤电器制造有限公司 洗碗机软件烧录方法、装置及其设备
CN111641527A (zh) * 2020-05-28 2020-09-08 四川爱创科技有限公司 一种嵌入式芯片软件远程升级备份方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163155A (zh) * 2011-03-09 2011-08-24 深圳创维数字技术股份有限公司 存储设备的升级方法及升级控制装置
WO2015154513A1 (zh) * 2014-09-04 2015-10-15 中兴通讯股份有限公司 基于cpld的远程升级控制方法和装置
CN105094903A (zh) * 2015-07-16 2015-11-25 广州飞米电子科技有限公司 对固件进行升级的方法及装置
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化系统远程升级方法
CN105677398A (zh) * 2015-12-31 2016-06-15 中海网络科技股份有限公司 一种通用的嵌入式计算机软件在线升级方法
CN108459866A (zh) * 2018-02-11 2018-08-28 广东美的厨房电器制造有限公司 升级方法、装置、计算机设备、程序产品及存储介质
CN109032846A (zh) * 2018-08-08 2018-12-18 京信通信系统(中国)有限公司 设备远程备份升级方法、装置、计算机存储介质及设备
CN109240730A (zh) * 2018-08-29 2019-01-18 武汉光迅科技股份有限公司 一种单片机在线升级方法和系统
CN110244970A (zh) * 2019-05-16 2019-09-17 芜湖智久机器人有限公司 一种单片机及其升级系统、升级方法
CN110389778A (zh) * 2019-07-19 2019-10-29 苏州浪潮智能科技有限公司 一种异构加速平台的mcu固件升级方法及相关装置
CN111522562A (zh) * 2020-04-16 2020-08-11 佛山市顺德区美的洗涤电器制造有限公司 洗碗机软件烧录方法、装置及其设备
CN111641527A (zh) * 2020-05-28 2020-09-08 四川爱创科技有限公司 一种嵌入式芯片软件远程升级备份方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
良好的行为成为习惯: "单片机BootLoader的通用实现方式(备份升级,永不挂机)", pages 1 - 5, Retrieved from the Internet <URL:《https://blog.csdn.net/dsp1406790497/article/details/107126716》> *
邓力等: "一种改良安全机制的嵌入式远程升级系统的研究", 《电子测量技术》, vol. 40, no. 08, 30 April 2017 (2017-04-30), pages 207 - 211 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220321A (zh) * 2021-04-13 2021-08-06 山东英信计算机技术有限公司 一种cpld的高效能升级方法、系统及介质
CN113220321B (zh) * 2021-04-13 2023-09-26 山东英信计算机技术有限公司 一种cpld的高效能升级方法、系统及介质
CN113391832A (zh) * 2021-06-11 2021-09-14 中电科航空电子有限公司 机载软件升级方法、升级包加载方法、装置和设备
CN114095954A (zh) * 2021-10-09 2022-02-25 福建新大陆通信科技股份有限公司 一种基于uart的无线通信模块升级方法
CN114095954B (zh) * 2021-10-09 2024-02-06 福建新大陆通信科技股份有限公司 一种基于uart的无线通信模块升级方法
CN114679445A (zh) * 2022-03-14 2022-06-28 煤炭科学技术研究院有限公司 煤矿传感器的升级方法及装置
CN117453261A (zh) * 2023-11-10 2024-01-26 珠海科创储能科技有限公司 设备的升级数据校验方法、存储介质及电子设备

Also Published As

Publication number Publication date
CN112631628B (zh) 2024-09-20

Similar Documents

Publication Publication Date Title
CN112631628A (zh) 单片机升级方法、单片机、存储介质
CN106843942B (zh) 穿戴式设备的固件升级方法及穿戴式设备
CN106250192B (zh) 上位机的软件升级方法及系统
CN107179909A (zh) 软件升级方法、装置及计算机可读存储介质
US7805637B2 (en) Network equipment and a method for monitoring the start up of such equipment
CN110730104A (zh) 一种mesh网络设备的多设备批量固件升级的方法
CN107908417B (zh) 固件升级方法及电子设备
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN101593119A (zh) 一种独占闪存组合设备空中固件升级方法及装置
CN114911500A (zh) 终端升级方法、终端及系统
CN112015447A (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN106293621B (zh) 一种固件升级方法及装置
CN114064084A (zh) Onu的升级管理方法、存储介质、电子装置和onu
CN112804071B (zh) 在线升级方法、升级文件提供方法、设备及存储介质
CN113918200A (zh) 高效可靠的嵌入式设备应用程序无线升级方法
CN105278993B (zh) 一种基于Linux系统的驱动模块升级方法及装置
CN116483409A (zh) 一种远程固件更新的方法、系统、电子设备及存储介质
CN116302020A (zh) Fpga的逻辑程序升级方法、装置、设备及介质
CN116521201A (zh) 电池包的软件升级方法和电池包
CN112908390B (zh) 数据存储方法、装置、电子设备及存储介质
CN114546455A (zh) 一种双分区的mcu软件升级方法及装置
CN113608760A (zh) 一种电池单元控制芯片的固件升级方法和装置
CN114968301A (zh) 一种基于串口通信的程序更新方法和系统
CN111813597A (zh) 一种空调器
CN110569059A (zh) 一种基于USB的uboot下系统分区升级方法

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
CB02 Change of applicant information

Address after: 518000 2101, No. 100, Zhihe Road, Dakang community, Yuanshan street, Longgang District, Shenzhen, Guangdong

Applicant after: BANGYAN TECHNOLOGY Co.,Ltd.

Address before: 518000 room 901, block B, building 5, Shenzhen software industry base, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: BANGYAN TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant