CN108334373A - 一种多mcu升级的方法及系统 - Google Patents
一种多mcu升级的方法及系统 Download PDFInfo
- Publication number
- CN108334373A CN108334373A CN201710959953.4A CN201710959953A CN108334373A CN 108334373 A CN108334373 A CN 108334373A CN 201710959953 A CN201710959953 A CN 201710959953A CN 108334373 A CN108334373 A CN 108334373A
- Authority
- CN
- China
- Prior art keywords
- mcu
- host computer
- upgrading data
- upgrading
- main
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明公开了一种多MCU升级的方法,所述方法包括从MCU通过主MCU从上位机中获取升级指令;所述从MCU调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;所述从MCU通过所述主MCU从所述上位机中获取升级数据;所述从MCU将所述升级数据烧录至所述应用代码区;需要对于从MCU进行升级时,在升级过程中可以通过主MCU转发上位机与从MCU指间的指令和升级数据,从而使得上位机不需要直接通过串口直接连接从MCU,上位机只需要连接主MCU便可以对多个MCU进行升级,从而简化了升级流程,加快了升级速度;本发明还提供了一种多MCU升级的系统,同样具有上述有益效果。
Description
技术领域
本发明涉及系统升级领域,特别是涉及一种多MCU升级的方法及系统。
背景技术
随着近年来科技的不断进步,人们对于汽车的要求越来越高,相应的,汽车电子设备需要实现的功能越来越多,其结构同时也越来越复杂。
要实现现今电子设备这些复杂的功能,通常是需要有多个MCU(MicrocontrollerUnit,微控制单元,又名单片机)协同工作,其中多个MCU中通常区分有主MCU和从MCU相互配合工作,以实现上述功能。但是由于各种原因,例如发现bug,增加功能等,需要对MCU进行升级,具体的讲,是要对MCU的代码进行升级。
现有的技术中,当需要对多个MCU进行升级时,需要上位机通过串口一对一进行升级,即需要上位机通过串口与需要升级的MCU直接连接以对MCU进行升级,当存在多个MCU需要升级时,需要上位机依次对MCU进行升级,或者是将上位机直接与多个MCU进行连接,上述过程非常的复杂以及消耗时间。
发明内容
本发明的目的是提供一种多MCU升级的方法,可以简化升级流程;本发明的另一目的是提供一种多MCU升级的系统,可以加快升级速度。
为解决上述技术问题,本发明提供一种多MCU升级的方法,所述方法包括:
从MCU通过主MCU从上位机中获取升级指令;
所述从MCU调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述从MCU通过所述主MCU从所述上位机中获取升级数据;
所述从MCU将所述升级数据烧录至所述应用代码区。
可选的,所述IAP代码为预先设置在闪存空间顶部的IAP代码。
可选的,所述从MCU通过主MCU从上位机中获取升级数据包括:
所述从MCU通过所述主MCU从所述上位机中获取升级数据包,所述升级数据包包括烧录地址、烧录数据和原校验和;
所述从MCU将所述升级数据烧录至所述应用代码区包括:
所述从MCU计算所述升级数据包的校验和;
所述从MCU判断所述校验和是否等于所述原校验和;若是,则根据所述烧录地址将所述烧录数据烧录至所述应用代码区中与所述烧录地址相对应的位置。
可选的,在所述从MCU将所述升级数据烧录至所述应用代码区之后,所述方法还包括:
所述从MCU在升级后进行初始化。
本发明还提供了一种多MCU升级的方法,所述方法包括:
主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令,以使所述从MCU通过预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据,以使所述从MCU将所述升级数据烧录至所述应用代码区。
可选的,所述IAP代码为预先设置在从MCU的闪存空间顶部的IAP代码。
可选的,所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据,以使所述从MCU将所述升级数据烧录至所述应用代码区包括:
所述主MCU接收所述上位机发送的升级数据包,并向所述从MCU发送所述升级数据包,所述升级数据包包括烧录地址、烧录数据和原校验和,以使所述从MCU判断所述升级数据包的校验和与所述原校验和是否一致,若是,所述从MCU将所述烧录数据烧录至所述应用代码区中与所述烧录地址相对应的位置。
可选的,在所述主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令之后,所述方法还包括:
所述主MCU获取多个从MCU发送的确认字符,并向所述上位机发送所述确认字符;
所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据包括:
所述主MCU接收所述上位机根据多个所述确认字符发送的所述升级数据,并向所述从MCU发送所述升级数据。
本发明还提供了一种多MCU升级的系统,所述系统包括上位机、主MCU和从MCU,所述上位机连接所述主MCU,所述主MCU连接所述从MCU;
所述上位机用于通过主MCU向从MCU发送升级指令,所述从MCU用于根据所述升级指令调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述上位机用于通过所述主MCU向从MCU发送升级数据,所述从MCU用于将所述升级数据烧录至所述应用代码区。
可选的,所述系统包括多个从MCU,多个所述从MCU分别连接所述主MCU;
多个所述从MCU具体用于:
通过所述主MCU向所述上位机发送确认字符;
所述上位机具体用于:
根据多个所述确认字符通过主MCU向从MCU发送升级数据。
本发明所提供的一种多MCU升级的方法,当对多个MCU进行升级,尤其是对于从MCU进行升级时,在升级过程中可以通过主MCU转发上位机与从MCU指间的指令和升级数据,从而使得上位机不需要直接通过串口直接连接从MCU,上位机只需要连接主MCU便可以对多个MCU进行升级,从而简化了升级流程,加快了升级速度。本发明还提供了一种多MCU升级的系统,同样具有上述有益效果,在此不再进行赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的第一种多MCU升级方法的流程图;
图2为本发明实施例所提供的第二种多MCU升级方法的流程图;
图3为本发明实施例所提供的第三种多MCU升级方法的流程图;
图4为本发明实施例所提供的第四种多MCU升级方法的流程图;
图5为本发明实施例所提供的一种多MCU升级系统的结构框图。
具体实施方式
本发明的核心是提供一种多MCU升级的方法。在现有技术中,当需要对多个MCU进行升级时,需要上位机通过串口一对一进行升级,即需要上位机通过串口与需要升级的MCU直接连接以对MCU进行升级,当存在多个MCU需要升级时,需要上位机依次对MCU进行升级,或者是将上位机直接与多个MCU进行连接,上述过程非常的复杂以及消耗时间,而且如果从MCU没有预留通信端口与上位机通信,则该从MCU无法被上位机升级。
并且由于各个MCU的工作环境不一样,连接各个MCU的总线通常也会不同,例如有的MCU需要通过CAN(控制器局域网络)总线连接,有的MCU需要通过UART(通用异步收发传输器)总线进行连接。连接不同环境下的MCU需要上位机通过不同的方式进行连接,这在操作上非常的复杂,并且在连接时会非常的消耗时间。
而本发明所提供的一种多MCU升级的方法,当对多个MCU进行升级,尤其是对于从MCU进行升级时,在升级过程中可以通过主MCU转发上位机与从MCU指间的指令和升级数据,从而使得上位机不需要直接连接从MCU,上位机只需要连接主MCU便可以对多个MCU进行升级,从而简化了升级流程,加快了升级速度。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例所提供的第一种多MCU升级方法的流程图,该方法包括:
S101:从MCU通过主MCU从上位机中获取升级指令。
在本步骤中,所述从MCU可以通过主MCU从上位机中获取升级指令,所述升级指令的发送条件通常是用户在上位机中选择对从MCU进行升级,此时上位机会通过主MCU向从MCU发送升级指令,以便开始后续步骤。对于所述升级指令的具体内容或形式,以及发送升级指令的具体条件,在本发明实施例中不做具体限定,视具体的情况而定。
S102:从MCU调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码。
在本步骤中,所述IAP(In Application Programming,中文名:应用编程)代码为了方便擦除所述应用代码区预先设置的原应用代码,通常是设置在闪存空间顶部。当然,所述IAP代码可以设置在包括闪存空间的中部或最后的任意位置,但是若IAP代码不设置在闪存空间顶部,在擦除代码时将会产生分段擦除等问题,在实现上将会比较繁琐。
在现有技术中,对MCU进行升级时通常是使用BootLoader来擦除应用代码区预先设置的原应用代码。而本发明所应用的IAP代码相比于BootLoader,其代码体积更小,可以节省闪存空间。
从MCU在正常工作时,需要调用预先设置在应用代码区的应用代码,才能执行相应的动作。所述应用代码区用于书写应用代码。在从MCU需要升级时,需要先将之前设置的原应用代码擦除,才能在所述应用代码区腾出空间烧录新的应用代码。
在本发明实施例中,通常情况下,当从MCU通过IAP代码擦除完所述原应用代码之后,可以通过主MCU向上位机发送一条确认字符,表明已经将原应用代码擦除完毕,可以执行下述步骤,即接收升级数据。
S103:从MCU通过主MCU从上位机中获取升级数据。
在本步骤中,所述从MCU可以通过主MCU从上位机中获取升级数据,所述升级数据需要预先存储在所述上位机中。有关所述升级数据的具体形式以及升级数据包括的具体内容,将在下述发明实施例中做详细说明。
S104:从MCU将升级数据烧录至应用代码区。
在本步骤中,从MCU会将上述升级数据烧录至应用代码区,以完成对从MCU的升级流程。
本发明所提供的一种多MCU升级的方法,当对多个MCU进行升级,尤其是对于从MCU进行升级时,在升级过程中可以通过主MCU转发上位机与从MCU指间的指令和升级数据,从而使得上位机不需要直接通过串口直接连接从MCU,上位机只需要连接主MCU便可以对多个MCU进行升级,从而简化了升级流程,加快了升级速度。
在本发明中,可以进一步的对升级数据进行检验,具体内容请参照下述发明实施例。
请参照图2,图2为本发明实施例所提供的第二种多MCU升级方法的流程图,该方法包括:
S201:从MCU通过主MCU从上位机中获取升级指令。
S202:从MCU调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码。
在本发明实施例中,S201和S202分别与上述发明实施例中S101和S102相同,详细内容请参照上述发明实施例,在此不再进行赘述。
S203:从MCU通过主MCU从上位机中获取升级数据包。
在本发明实施例中,所述升级数据包包括烧录地址、烧录数据和原校验和。本发明实施例中升级数据是通过数据包的形式向外发送,通常情况下,会有多个升级数据包从上位机中经过主MCU发送至从MCU。当然,也可能只有一个升级数据包最终发送至从MCU,视具体的情况而定,有关升级数据包的数量在本发明实施例中不做具体限定。
上述烧录数据包括最终烧录进应用代码区的新的应用代码。上述烧录地址中记录了所述烧录数据与应用代码区中相应的位置之间的对应关系,例如上述烧录数据应该烧录在所述应用代码区的具体位置的信息。通过所述烧录地址,从MCU可以将所述烧录数据烧录至应用代码区中与所述烧录地址相对应的位置。
上述原校验和为所述升级数据包对应的校验和,上位机在发送升级数据包之前,会计算对应于升级数据包的校验和,并将该校验和加入对应的升级数据包中。其中上位机计算的升级数据包的校验和为原校验和。校验和通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性。
S204:从MCU计算升级数据包的校验和。
在本步骤中,从MCU在接收到升级数据包后,会再次计算各个升级数据包的校验和。
S205:从MCU判断校验和是否等于原校验和;若是,则执行S206;若否,则执行S207。
在本步骤中,从MCU会判断S204中计算的校验和是否为原校验和。若是,则表明该数据包在传输过程中没有发生损坏,可以用于从MCU的升级;若则表明该数据包在传输过程中发生了损坏,无法用于从MCU的升级。
S206:从MCU根据烧录地址将烧录数据烧录至应用代码区中与烧录地址相对应的位置。
S207:从MCU丢弃升级数据包。
在本步骤中,在丢弃所述升级数据包的同时,从MCU通常还会通过主MCU向上位机发送错误信息进行报错。在报错之后,上位机可以进一步的根据所述错误信息通过主MCU向从MCU重新发送在S207中丢弃的升级数据包。
在本发明实施例中,从MCU在烧录完所述升级数据包之后,通常还会通过主MCU向上位机发送一条确认字符,表示已经烧录完所述升级数据包,升级流程结束。
由于在每次升级过程中,通常会发送多个升级数据包。当从MCU需要通过主MCU从上位机中获取多个升级数据包时,具体的流程有两种:第一种,从MCU每次通过主MCU从上位机中仅获取一个升级数据包,当执行完流程之后,通过主MCU向上位机发送一条确认算符,此时从MCU再通过主MCU从上位机中获取下一个升级数据包,即在每次从MCU只获取一个升级数据包的前提下,重复本发明实施例中S203至S207,直到获取完全部的升级数据包,并烧录完每个升级数据包中所包括的烧录数据。
第二种,从MCU通过主MCU一次从上位机中获取全部的升级数据包,并统一通过校验和对各个升级数据包的完整性进行检验,之后在将通过检验的升级数据包中所包括的烧录数据烧录进应用代码区中相应的位置。无论使用上述哪种升级流程,均能实现分发明实施例所提供的方法,在本发明实施例中不做具体限定。当然,还可以使用其他具体的升级流程,只要不超出本发明实施例所记载的范围均可,在本发明实施例中亦不做具体限定。
S208:从MCU在升级后进行初始化。
在本步骤中,从MCU在升级完成后,通常还会进行初始化,即执行复位操作。由于从MCU自身功能的限制,可能自身无法直接判断出已经升级完成,所以当升级完成之后,上位机会通过主MCU向从MCU发送升级结束指令,此时从MCU再执行复位操作。
本发明所提供的一种多MCU升级的方法,在上述发明实施例的基础上,可以对每一个升级数据包的完成性进行校验,以保证升级的准确性。
请参照图3,图3为本发明实施例所提供的第三种多MCU升级方法的流程图,该方法包括:
S301:主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令,以使从MCU通过预先设置的IAP代码擦除在应用代码区预先设置的原应用代码。
在本步骤中,所述主MCU起到一个转发的作用,上位机中发出的升级指令会通过主MCU转发至从MCU。有关升级指令的详细内容,已在上述发明实施例中做详细介绍,在此不再进行赘述。从MCU在接收到上述指令之后,会执行下述流程。
在本发明实施例中,所述IAP代码通常预先设置在从MCU的闪存空间顶部。有关IAP代码的已在上述发明实施例中进行描述,详细内容请参照上述实施例,在此不再进行赘述。
S302:主MCU接收上位机发送的升级数据,并向从MCU发送升级数据,以使从MCU将升级数据烧录至应用代码区。
在本步骤中,会将上位机发出的升级数据转发至从MCU。当从MCU接收到所述升级数据后,可以将所述升级数据烧录至应用代码区,以完成升级。
在本发明实施例中,S302中主MCU转发的升级数据通常是以数据包的形式进行转发,该数据包为升级数据包。所述升级数据包中除了包括有需要烧录入应用代码区的烧录数据,通常还包括有烧录地址和原校验和。有关升级数据包的具体内容已在上述发明实施例中做详细描述,在此不再赘述。
在本发明实施例中,可以进一步的对升级数据包进行校验,此时S302具体为:
S3021:主MCU接收上位机发送的升级数据包,并向从MCU发送升级数据包,升级数据包包括烧录地址、烧录数据和原校验和,以使从MCU判断升级数据包的校验和与原校验和是否一致,若是,从MCU将烧录数据烧录至应用代码区中与烧录地址相对应的位置。
在本步骤中,主MCU会将上位机发送的升级数据包转发至从MCU,此时从MCU会计算所述升级数据包的校验和,并判断所述校验和与升级数据包中所包括的原校验和是否一致,以此来判断升级数据包的完整性。有关所述校验和的详细内容和从MCU的判断步骤已在上述发明实施例中进行描述,详细情况请参照上述发明实施例,在此不再进行赘述。
在本发明实施例中,通常情况下,每次从MCU在升级时需要多个升级数据包,有关多个升级数据包的升级流程同样在上述发明实施例中做出了详细介绍,在升级时,主MCU的作用是将上位机发出的信息转发至从MCU,同时将从MCU发送的确认算符转发至上位机。
本发明实施例做提供的一种多MCU升级的方法,对于从MCU进行升级时,在升级过程中可以通过主MCU转发上位机与从MCU指间的指令和升级数据,从而使得上位机不需要直接通过串口直接连接从MCU,上位机只需要连接主MCU便可以对多个MCU进行升级,从而简化了升级流程,加快了升级速度。同时可以对每一个升级数据包的完成性进行校验,以保证升级的准确性。
有关多个从MCU需要升级的具体内容,将在下述发明实施例中做详细描述。
请参考图4,图4为本发明实施例所提供的第四种多MCU升级方法的流程图,该方法包括:
S401:主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令,以使从MCU通过预先设置的IAP代码擦除在应用代码区预先设置的原应用代码。
本步骤与上述发明实施例中S301相同,详细内容请参照上述发明实施例,在此不再进行赘述。
S402:主MCU获取多个从MCU发送的确认字符,并向上位机发送确认字符。
在本步骤中,各个从MCU在通过IAP代码擦除完原应用代码之后,会向上位机发送确认字符。主MCU会将所述确认字符转发至上位机。
S403:主MCU接收上位机根据多个确认字符发送的升级数据,并向从MCU发送升级数据。
当有多个从MCU需要升级时,通常情况下需要等全部的从MCU都发送确认算符之后,才能开始下发升级数据。当然,此时可能有的从MCU发生的故障,或者是无法接收到上述升级指令,从而无法发出确认算符。当上位机没有收到由主MCU转发的某个从MCU发送的确认算符的时间达到预先设置的时间之后,同样会向已经发送确认算符的从MCU发送升级数据,同时记录下没有发送确认算符的从MCU的标识信息,例如ID编号等等。
进一步的,当多次对从MCU进行升级之后,若某一个从MCU连续没有发送确认算符的次数达到预先设定的次数之后,例如3次,此时可以将该从MCU从升级流程中剔除,在下次对从MCU进行升级的时候,上位机不会再等待该从MCU发送的确认算符。
其余内容与上述发明实施例中S302相同,详细内容请参照上述发明实施例,在此不再进行赘述。
本发明实施例所提供的一种多MCU升级的方法,当有多从MCU需要升级时,可以通过主MCU转发各个从MCU伛发送的确认算符来确定出各个从MCU的状态,从而更加针对性的进行从MCU的升级流程。
下面对本发明实施例提供的一种多MCU升级的系统进行介绍,下文描述的多MCU升级系统与上文描述的多MCU升级方法可相互对应参照。
图5为本发明实施例提供的一种多MCU升级系统的结构框图,参照图5,多MCU升级系统可以包括:
上位机100、主MCU200和从MCU300,所述上位机100连接所述主MCU200,所述主MCU200连接所述从MCU300。
所述上位机100用于通过主MCU200向从MCU300发送升级指令,所述从MCU300用于根据所述升级指令调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码。
所述上位机100用于通过所述主MCU200向从MCU300发送升级数据,所述从MCU300用于将所述升级数据烧录至所述应用代码区。
在本发明实施例中,所述系统可以包括多个从MCU300,多个所述从MCU300分别连接所述主MCU200。
多个所述从MCU300具体用于:
通过所述主MCU200向所述上位机100发送确认字符。
所述上位机100具体用于:
根据多个所述确认字符通过主MCU200向从MCU300发送升级数据。
在本发明实施例中,所述上位机的处理器通常为MTK3360,主MCU通常为STM32F105VC,从MCU通常为STM8S208MB。上位机与主MCU之间通常是通过UART进行通讯,主MCU与从MCU之间通常是通过CAN总线进行通讯。当然,在本发明实施例中,对于上位机、主MCU、从MCU的型号并不做具体限定;对于上位机与主MCU之间的连接方式,主MCU与从MCU之间的连接方式在本发明实施例中同样不做具体限定。上述内容仅做举例说明,具体内容视具体的情况而定。
本实施例的一种多MCU升级系统用于实现前述的多MCU升级方法,因此多MCU升级系统中的具体实施方式可见前文中的多MCU升级方法的实施例部分,例如,从MCU300用于实现上述多MCU升级方法中步骤S101,S102,S103和S104;主MCU200用于实现上述多MCU升级方法中步骤S301和S302,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种多MCU升级的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种多MCU升级的方法,其特征在于,所述方法包括:
从MCU通过主MCU从上位机中获取升级指令;
所述从MCU调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述从MCU通过所述主MCU从所述上位机中获取升级数据;
所述从MCU将所述升级数据烧录至所述应用代码区。
2.根据权利要求1所述的方法,其特征在于,所述IAP代码为预先设置在闪存空间顶部的IAP代码。
3.根据权利要求2所述的方法,其特征在于,所述从MCU通过主MCU从上位机中获取升级数据包括:
所述从MCU通过所述主MCU从所述上位机中获取升级数据包,所述升级数据包包括烧录地址、烧录数据和原校验和;
所述从MCU将所述升级数据烧录至所述应用代码区包括:
所述从MCU计算所述升级数据包的校验和;
所述从MCU判断所述校验和是否等于所述原校验和;若是,则根据所述烧录地址将所述烧录数据烧录至所述应用代码区中与所述烧录地址相对应的位置。
4.根据权利要求1所述的方法,其特征在于,在所述从MCU将所述升级数据烧录至所述应用代码区之后,所述方法还包括:
所述从MCU在升级后进行初始化。
5.一种多MCU升级的方法,其特征在于,所述方法包括:
主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令,以使所述从MCU通过预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据,以使所述从MCU将所述升级数据烧录至所述应用代码区。
6.根据权利要求5所述的方法,其特征在于,所述IAP代码为预先设置在从MCU的闪存空间顶部的IAP代码。
7.根据权利要求6所述的方法,其特征在于,所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据,以使所述从MCU将所述升级数据烧录至所述应用代码区包括:
所述主MCU接收所述上位机发送的升级数据包,并向所述从MCU发送所述升级数据包,所述升级数据包包括烧录地址、烧录数据和原校验和,以使所述从MCU判断所述升级数据包的校验和与所述原校验和是否一致,若是,所述从MCU将所述烧录数据烧录至所述应用代码区中与所述烧录地址相对应的位置。
8.根据权利要求5所述的方法,其特征在于,在所述主MCU接收上位机发送的升级指令,并向从MCU发送所述升级指令之后,所述方法还包括:
所述主MCU获取多个从MCU发送的确认字符,并向所述上位机发送所述确认字符;
所述主MCU接收所述上位机发送的升级数据,并向所述从MCU发送所述升级数据包括:
所述主MCU接收所述上位机根据多个所述确认字符发送的所述升级数据,并向所述从MCU发送所述升级数据。
9.一种多MCU升级的系统,其特征在于,所述系统包括上位机、主MCU和从MCU,所述上位机连接所述主MCU,所述主MCU连接所述从MCU;
所述上位机用于通过主MCU向从MCU发送升级指令,所述从MCU用于根据所述升级指令调用预先设置的IAP代码擦除在应用代码区预先设置的原应用代码;
所述上位机用于通过所述主MCU向从MCU发送升级数据,所述从MCU用于将所述升级数据烧录至所述应用代码区。
10.根据权利要求9所述的系统,其特征在于,所述系统包括多个从MCU,多个所述从MCU分别连接所述主MCU;
多个所述从MCU具体用于:
通过所述主MCU向所述上位机发送确认字符;
所述上位机具体用于:
根据多个所述确认字符通过主MCU向从MCU发送升级数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959953.4A CN108334373A (zh) | 2017-10-16 | 2017-10-16 | 一种多mcu升级的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959953.4A CN108334373A (zh) | 2017-10-16 | 2017-10-16 | 一种多mcu升级的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108334373A true CN108334373A (zh) | 2018-07-27 |
Family
ID=62922437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710959953.4A Pending CN108334373A (zh) | 2017-10-16 | 2017-10-16 | 一种多mcu升级的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334373A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262817A (zh) * | 2019-05-17 | 2019-09-20 | 福建星云电子股份有限公司 | 一种基于以太网的单片机程序批量升级方法及系统 |
CN111142917A (zh) * | 2019-12-18 | 2020-05-12 | 广东美的厨房电器制造有限公司 | 一种家电多mcu系统在线升级方法、电子设备及介质 |
CN111459519A (zh) * | 2020-03-30 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种mcu升级方法及装置 |
CN111984281A (zh) * | 2019-05-24 | 2020-11-24 | 北京车和家信息技术有限公司 | 软件更新方法、车辆、终端及计算机可读存储介质 |
CN112199101A (zh) * | 2020-09-02 | 2021-01-08 | 福建升腾资讯有限公司 | 一种基于串口的mcu升级方法、系统、设备及介质 |
CN111984281B (zh) * | 2019-05-24 | 2024-04-12 | 北京车和家信息技术有限公司 | 软件更新方法、车辆、终端及计算机可读存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673209A (zh) * | 2009-10-28 | 2010-03-17 | 广东威创视讯科技股份有限公司 | 一种升级多个单片机程序的方法 |
US20120180038A1 (en) * | 2011-01-12 | 2012-07-12 | Hon Hai Precision Industry Co., Ltd. | System and method for upgrading firmware of a printed circuit board |
CN103197943A (zh) * | 2013-04-11 | 2013-07-10 | 航天科工深圳(集团)有限公司 | 一种单片机在线升级方法和系统 |
CN103645921A (zh) * | 2013-12-24 | 2014-03-19 | Tcl通力电子(惠州)有限公司 | Mcu软件的升级方法及主设备 |
CN103745167A (zh) * | 2013-12-31 | 2014-04-23 | 广东岭南通股份有限公司 | 单片机的iap方法及装置 |
CN103838591A (zh) * | 2012-11-20 | 2014-06-04 | 海尔集团公司 | 一种基于串行总线的多单片机升级方法及装置 |
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
CN105373403A (zh) * | 2015-11-16 | 2016-03-02 | 珠海格力电器股份有限公司 | 控制器的升级方法及系统 |
CN105704707A (zh) * | 2016-04-26 | 2016-06-22 | 江苏惠通集团有限责任公司 | 从设备及其空中升级的方法 |
CN205540695U (zh) * | 2016-04-13 | 2016-08-31 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的系统 |
CN106126277A (zh) * | 2016-06-17 | 2016-11-16 | 深圳拓邦股份有限公司 | 多个微处理器及外存储器系统的升级方法 |
CN106775847A (zh) * | 2016-12-01 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种板卡软件版本更新方法及装置 |
CN106874054A (zh) * | 2017-03-06 | 2017-06-20 | 四川天邑康和通信股份有限公司 | 一种直放站内模块程序在线升级方法与系统 |
-
2017
- 2017-10-16 CN CN201710959953.4A patent/CN108334373A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673209A (zh) * | 2009-10-28 | 2010-03-17 | 广东威创视讯科技股份有限公司 | 一种升级多个单片机程序的方法 |
US20120180038A1 (en) * | 2011-01-12 | 2012-07-12 | Hon Hai Precision Industry Co., Ltd. | System and method for upgrading firmware of a printed circuit board |
CN103838591A (zh) * | 2012-11-20 | 2014-06-04 | 海尔集团公司 | 一种基于串行总线的多单片机升级方法及装置 |
CN103197943A (zh) * | 2013-04-11 | 2013-07-10 | 航天科工深圳(集团)有限公司 | 一种单片机在线升级方法和系统 |
CN103645921A (zh) * | 2013-12-24 | 2014-03-19 | Tcl通力电子(惠州)有限公司 | Mcu软件的升级方法及主设备 |
CN103745167A (zh) * | 2013-12-31 | 2014-04-23 | 广东岭南通股份有限公司 | 单片机的iap方法及装置 |
CN105373403A (zh) * | 2015-11-16 | 2016-03-02 | 珠海格力电器股份有限公司 | 控制器的升级方法及系统 |
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
CN205540695U (zh) * | 2016-04-13 | 2016-08-31 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的系统 |
CN105704707A (zh) * | 2016-04-26 | 2016-06-22 | 江苏惠通集团有限责任公司 | 从设备及其空中升级的方法 |
CN106126277A (zh) * | 2016-06-17 | 2016-11-16 | 深圳拓邦股份有限公司 | 多个微处理器及外存储器系统的升级方法 |
CN106775847A (zh) * | 2016-12-01 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种板卡软件版本更新方法及装置 |
CN106874054A (zh) * | 2017-03-06 | 2017-06-20 | 四川天邑康和通信股份有限公司 | 一种直放站内模块程序在线升级方法与系统 |
Non-Patent Citations (2)
Title |
---|
连翔宇: "多MCU基于数据库实现方法的研究", 《万方学位论文》 * |
鲍学良等: "多MCU武器检测系统设计", 《弹箭与制导学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262817A (zh) * | 2019-05-17 | 2019-09-20 | 福建星云电子股份有限公司 | 一种基于以太网的单片机程序批量升级方法及系统 |
CN110262817B (zh) * | 2019-05-17 | 2023-02-28 | 福建星云电子股份有限公司 | 一种基于以太网的单片机程序批量升级方法及系统 |
CN111984281A (zh) * | 2019-05-24 | 2020-11-24 | 北京车和家信息技术有限公司 | 软件更新方法、车辆、终端及计算机可读存储介质 |
CN111984281B (zh) * | 2019-05-24 | 2024-04-12 | 北京车和家信息技术有限公司 | 软件更新方法、车辆、终端及计算机可读存储介质 |
CN111142917A (zh) * | 2019-12-18 | 2020-05-12 | 广东美的厨房电器制造有限公司 | 一种家电多mcu系统在线升级方法、电子设备及介质 |
WO2021120887A1 (zh) * | 2019-12-18 | 2021-06-24 | 广东美的厨房电器制造有限公司 | 一种家电多mcu系统在线升级方法、电子设备及介质 |
CN111459519A (zh) * | 2020-03-30 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种mcu升级方法及装置 |
CN112199101A (zh) * | 2020-09-02 | 2021-01-08 | 福建升腾资讯有限公司 | 一种基于串口的mcu升级方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334373A (zh) | 一种多mcu升级的方法及系统 | |
CN103713932B (zh) | 一种电子控制单元中应用程序的更新方法及装置 | |
CN104145452B (zh) | 信息处理装置、电子控制单元以及信息处理方法 | |
CN103077058A (zh) | 一种安装应用程序的方法及装置 | |
CN108306959A (zh) | 一种远程升级cpld固件的方法、装置和存储介质 | |
CN105912307A (zh) | 一种Flash控制器数据处理方法及装置 | |
CN103559114B (zh) | 嵌入式模块驱动功能测试系统及方法 | |
CN108170457A (zh) | 固件升级方法、装置及vr头戴式显示器 | |
CN110083379A (zh) | 一种服务器部件升级方法及相关装置 | |
CN110096314A (zh) | 一种接口初始化方法、装置、设备及计算机可读存储介质 | |
CN109582331A (zh) | 车载通信模块的升级方法、装置和系统 | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
CN109597653A (zh) | Bios与bmc命令交互的方法、bios及bmc | |
CN109388413A (zh) | 一种fpga程序更新方法及系统 | |
CN109918096A (zh) | 一种服务器操作系统的安装方法、系统及相关组件 | |
CN109308236A (zh) | 一种热插拔功能测试方法、装置及相关设备 | |
CN106843979B (zh) | 一种应用程序的更新方法及装置 | |
CN109408088A (zh) | Cpld升级方法、装置、系统和计算机可读存储介质 | |
CN102722408A (zh) | 一种通讯设备软件更新的方法及装置 | |
CN106610786A (zh) | 数据存储方法 | |
CN106055420A (zh) | 一种数据校验方法、装置及设备 | |
CN107515757A (zh) | 软件程序升级方法和系统、终端 | |
US20100211699A1 (en) | Wireless access apparatus with firmware upgrading function and the method thereof | |
CN107894900A (zh) | 一种mcu升级的方法及系统 | |
CN107634870A (zh) | 一种实现ip验证的方法及装置 |
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: 20180727 |