本发明涉及车载控制器调试,具体涉及一种控制器程序的更新方法及系统。
背景技术:
1、控制器,作为一种基于传感器采集的信号进行处理,以实现相应功能的装置,被广泛应用于多个工业场景中,如cnc加工、iot设备、交通信号控制、车辆电气系统等。在汽车领域中,通过设置车载控制器能够有效对车辆的整体结构进行简化,实现对原有的、基于机械结构或硬件电路进行精密控制的装置的有效替代,比如通过电控喷油取代原有的化油器,实现对燃油流量进行更为准确的控制。或是实现更为复杂的功能,比如通过设置娱乐终端取代原有的车载无线电、dvd等设备,进而更好地满足用户的需求。随着新能源汽车的普及,现有的车机设备正逐步向互联网化、智能化、整体化的方向发展。而为了更为贴合用户的实际使用需求,随着产品的迭代和时间的推移,向车机系统通过ota不断推送更新程序,以实现更好的功能便成为了车机设备所必须的功能。
2、现有技术中,针对控制器的升级往往会涉及到对引导加载程序以及应用程序的更新。在车辆前期开发阶段,可能会出现复杂需求,使代码量陡增,代码架构调整,导致程序数据扇区需要重新分配,或是上电引导程序运行时的外部判断条件变更,或是安全认证密钥算法发生变化,则引导加载程序需要更新。这样会使前面已装车的引导加载程序和新引导加载程序不兼容,无法刷写最新app文件。
技术实现思路
1、针对现有技术中存在的上述问题,现提供一种控制器程序的更新方法及系统。
2、具体技术方案如下:
3、一种控制器程序的更新方法,适用于一控制器,所述控制器内设置有存储装置,所述存储装置内划分有引导扇区和应用程序扇区;所述引导扇区内预设有第一引导加载程序,所述应用程序扇区内预设一第一应用程序;
4、当待更新的第二应用程序在所述第一引导加载程序下无法安装时,所述更新方法具体包括:
5、步骤s1:向所述应用程序扇区内写入一烧录程序;
6、步骤s2:执行所述烧录程序以使得所述控制器进入第一更新模式;
7、步骤s3:获取第二引导加载程序以替换所述第一引导加载程序;
8、步骤s4:所述控制器以所述第二引导加载程序重启;
9、步骤s5向所述应用程序扇区中写入所述第二应用程序。
10、优选地,所述步骤s1包括:
11、步骤s11:以所述第一引导加载程序启动所述控制器;
12、步骤s12:删除所述第一应用程序,随后写入所述烧录程序。
13、优选地,所述步骤s12包括:
14、步骤s121:所述控制器进入第二更新模式,与一外部的上位机建立通信连接;
15、步骤s122:所述上位机向所述控制器请求第一编码,并根据所述第一编码生成第一密钥发送至所述控制器;
16、步骤s123:所述控制器判断所述第一密钥与所述第一编码是否匹配;
17、若是,转向步骤s124;
18、若否,停止判断并结束更新;
19、步骤s124:所述控制器擦除所述应用程序扇区;
20、步骤s125:所述上位机向所述控制器以传输方法发送所述烧录程序,并将所述烧录程序写入所述应用程序扇区;
21、步骤s126:对所述烧录程序采用校验方法进行校验;
22、若通过校验,则在所述引导扇区内写入应用程序有效标识,随后所述控制器重启,并转向所述步骤s2;
23、若未通过校验,则返回所述步骤s124。
24、优选地,所述步骤s3包括:
25、步骤s31:所述控制器在所述第一更新模式下与所述上位机建立通信连接;
26、步骤s32:所述上位机向所述控制器请求第二编码,并根据所述第二编码生成第二密钥发送至所述控制器;
27、步骤s33:所述控制器判断所述第二密钥与所述第二编码是否匹配;
28、若是,转向步骤s34;
29、若否,停止判断并结束更新;
30、步骤s34:所述控制器删除所述应用程序有效标识;
31、步骤s35:所述控制器删除所述第一引导加载程序;
32、步骤s36:所述上位机向所述控制器采用所述传输方法发送所述第二引导加载程序,并将所述第二引导加载程序写入所述引导扇区;
33、步骤s37:对所述第二引导加载程序采用所述校验方法进行校验;
34、若通过校验,转向所述步骤s4;
35、若未通过校验,则返回所述步骤s35。
36、优选地,所述步骤s5包括:
37、步骤s51:所述控制器进入所述第二更新模式,与所述上位机建立通信连接;
38、步骤s52:所述上位机向所述控制器请求第三编码,并根据所述第三编码生成第三密钥发送至所述控制器;
39、步骤s53:所述控制器判断所述第三密钥与所述第三编码是否匹配;
40、若是,转向步骤s54;
41、若否,停止判断并结束更新;
42、步骤s54:所述控制器删除所述烧录程序;
43、步骤s55:所述上位机向所述控制器采用所述传输方法发送所述第二应用程序,并将所述第二应用程序写入所述应用程序扇区;
44、步骤s56:对所述烧录程序采用所述校验方法进行校验;
45、若通过校验,则在所述引导扇区内写入应用程序有效标识,随后所述控制器重启并结束更新;
46、若未通过校验,则返回所述步骤s54。
47、优选地,校验方法包括循环冗余校验和一致性校验;
48、优选地,所述传输方法为分片传输方法。
49、一种控制器更新系统,用于实施上述的更新方法,包括:
50、控制器,所述控制器内设置一存储装置,所述存储装置内划分有一应用程序扇区,所述应用程序扇区用于存储应用程序;
51、所述控制器用于执行所述应用程序;
52、上位机,所述上位机与所述控制器建立通信连接,用于更新所述应用程序。
53、优选地,所述存储装置内还划分有一引导加载程序扇区,所述引导加载程序扇区内存储有一引导加载程序;
54、所述引导加载程序用于启动所述控制器。
55、上述技术方案具有如下优点或有益效果:通过引入烧录程序,并以特定顺序进入特定的编程模式,可以先后实现对原有程序的擦除、新程序的写入,避免了现有技术中刷写新应用程序或新的引导加载程序使得引导加载程序与应用程序不兼容导致无法通过数据接口直接升级的缺陷。
1.一种控制器程序的更新方法,其特征在于,适用于一控制器,所述控制器内设置有存储装置,所述存储装置内划分有引导扇区和应用程序扇区;所述引导扇区内预设有第一引导加载程序,所述应用程序扇区内预设一第一应用程序;
2.根据权利要求1所述的更新方法,其特征在于,所述步骤s1包括:
3.根据权利要求2所述的更新方法,其特征在于,所述步骤s12包括:
4.根据权利要求3所述的更新方法,其特征在于,所述步骤s3包括:
5.根据权利要求3所述的更新方法,其特征在于,所述步骤s5包括:
6.根据权利要求3所述的更新方法,其特征在于,校验方法包括循环冗余校验和一致性校验。
7.根据权利要求3所述的更新方法,其特征在于,所述传输方法为分片传输方法。
8.一种控制器更新系统,其特征在于,用于实施如权利要求1-7任意一项所述的更新方法,包括:
9.根据权利要求7所述的控制器更新系统,其特征在于,所述存储装置内还划分有一引导加载程序扇区,所述引导加载程序扇区内存储有一引导加载程序;