【技术实现步骤摘要】
一种双分区的MCU软件升级方法及装置
[0001]本申请涉及车载设备
,尤其是涉及一种双分区的MCU软件升级方法及装置。
技术介绍
[0002]传统MCU的软件升级都是单分区方案,FLASH区被划分为BOOT区和APP区。此方案的应用代码只存在一份,且发起升级后会被擦除,一旦在升级过程中出现断电等异常情况,MCU将无应用代码执行。在用户驾车行驶的过程中造成较差的体验。
技术实现思路
[0003]有鉴于此,本申请提供了一种双分区的MCU软件升级方法及装置,以解决上述技术问题。
[0004]第一方面,本申请提供了一种双分区的MCU软件升级方法,应用于MCU,包括:
[0005]当接收到SOC端读取到软件升级数据包的指令时,将Flash区的升级状态标志更新为发起升级标志,在检测到MCU进入BOOT区且升级状态标志为发起升级标志,将升级状态标志更新为初始标志;
[0006]接收SOC端发送的软件升级数据包的总帧数,根据总帧数向SOC端进行数据包请求;
[0007]当接收到总帧数的 ...
【技术保护点】
【技术特征摘要】
1.一种双分区的MCU软件升级方法,其特征在于,应用于MCU,包括:当接收到SOC端读取到软件升级数据包的指令时,将Flash区的升级状态标志更新为发起升级标志,在检测到MCU进入BOOT区且升级状态标志为发起升级标志,将升级状态标志更新为初始标志;接收SOC端发送的软件升级数据包的总帧数,根据总帧数向SOC端进行数据包请求;当接收到总帧数的数据包,将软件升级数据包缓存在APP区的第二分区,将升级状态标志更新为软件更新标志;在检测到MCU重启进入BOOT区且升级状态标志为软件更新标志,将APP区的第二分区的软件升级数据包拷贝至APP区的第一分区,并将升级状态标志更新为初始标志;控制MCU进入APP区的第一分区运行升级后的软件代码。2.根据权利要求1所述的双分区的MCU软件升级方法,其特征在于,所述方法还包括:将APP区划分为第一分区和第二分区,第一分区用于存储软件数据包,第二分区用于缓存软件升级数据包。3.根据权利要求1所述的双分区的MCU软件升级方法,其特征在于,所述方法还包括:对接收到的SOC端发送的数据帧进行校验和帧序号检测。4.根据权利要求3所述的双分区的MCU软件升级方法,其特征在于,在根据总帧数对SOC端进行数据包请求时,若出现通信中断或异常断电,所述方法还包括:在检测到MCU重启进入BOOT区且升级状态标志为初始标志,控制MCU运行第一分区的历史版本的软件代码,等待SOC端再次发起软件升级。5.根据权利要求1所述的双分区的MCU软件升级方法,其特征在于,在将第二分区的软件升级数据包拷贝至第一分区的过程中,若出现断电,所述方法还包括:在检测到MCU重启进入BOOT区且升级状态标志为软件更新标志,将第二分区的软件升级数据包拷贝至第一分区。6.一种双分区的MCU软件升级装置,其特征在于,应用于MCU,包括:发起升级启动单元,用于当接收到SOC端读取到软件升级数据包的指...
【专利技术属性】
技术研发人员:刘超,曹戎格,王德亮,
申请(专利权)人:北斗星通智联科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。