【技术实现步骤摘要】
一种基于bootloader的自更新与应用程序增量更新的系统设计方法
本专利技术属于汽车电子电控领域,尤其是涉及一种基于bootloader的自更新与应用程序增量更新的系统设计方法。
技术介绍
汽车ECU软件的升级发生在汽车研发、测试、生产和售后中,在这些阶段中,需要对ECU软件进行漏洞修复和算法的升级,而现有ECU软件升级方法存在以下一些缺陷:一、一般ECU固定在车身内,不易拔出,拔出过程中容易造成线束损坏ECU也通过机械外壳和螺丝钉密封起来,拆开外壳费时费力,频繁插拔调试插座容易损坏插座、调试器、下载器;二、对于量产车型,逐个拔出ECU、拆开外壳、重新组装,需要大量的人力物力,严重延误上市;三、为了实现ECU软件升级,需要在电路板上保留专用的接口(如JTAG接口、BDM接口),增加了ECU的成本、减少PCB的布线空间,专用调试器或者下载器也需要配备多个。对芯片中的程序进行在线升级,是指通过复用芯片的某些引脚完成程序的算法改进与bug修复。当ECU上电后首先执行Bootloader的第一条指令,在Boot阶 ...
【技术保护点】
1.一种基于bootloader的自更新与应用程序增量更新的系统设计方法,其特征在于:/n步骤一:使用编译器编译生成的映像文件后缀名为.hex的程序文件,该格式文件包含最终下载到芯片的所有内容,生成Hex文件时通过链接脚本文件实现Hex文件内容规则分布,并对Hex文件进行个性化处理;/n步骤二:对汽车ECU进行上电,启动加载Bootloader;/n步骤三:ECU上电后,首先执行Recovery组件等待50ms来识别上位机是否发送更新请求,如果接收到上位机更新的请求则执行步骤五,否则对应用程序的完整性进行检测,检测成功后则执行第四步;/n步骤四:ECU正常执行应用程序,Ba ...
【技术特征摘要】
1.一种基于bootloader的自更新与应用程序增量更新的系统设计方法,其特征在于:
步骤一:使用编译器编译生成的映像文件后缀名为.hex的程序文件,该格式文件包含最终下载到芯片的所有内容,生成Hex文件时通过链接脚本文件实现Hex文件内容规则分布,并对Hex文件进行个性化处理;
步骤二:对汽车ECU进行上电,启动加载Bootloader;
步骤三:ECU上电后,首先执行Recovery组件等待50ms来识别上位机是否发送更新请求,如果接收到上位机更新的请求则执行步骤五,否则对应用程序的完整性进行检测,检测成功后则执行第四步;
步骤四:ECU正常执行应用程序,Backdoor组件集成在所述应用程序中,实时监听上位机更新请求;
步骤五:Recovery组件经自主设计的通信协议从上位机接Flash-Kernel组件,将Flash-Kernel组件置于RAM;
步骤六:CPU将控制权移交给Flash-Kernel组件,Flash-Kernel组件与上位机进行握手认证;
步骤七:Flash-Kernel组件经自主设计的通信协议从上位机接收更新的映像文件;
步骤八:调用Flash擦写函数将映像文件写入Flash中;
步骤九:写入成功后,上位机提示完成在线升级工作。
2.根据权利要求1所述的一种基于bootloader的自更新与应用程序增量更新的系统设计方法,其特征在于:所述步骤一生成的Hex文件分为三种:
第一种Hex文件为包含Backdoor组件的应用程序代码和数据;
第二种Hex文件为包含Recovery组件的Bootloader程序代码和数据;
第三种Hex文件为Flash-Kernel组件的代码和数据;
所述第一种Hex文件与第二种Hex文件决定本次更新时应用程序增量更新还是Bootloader自更新。
3.根据权利要求1所述的一种基于bootloader的自更新与应用程序增量更新的系统设计方法,其特征在于:所述步骤一对Hex文件进行规则排布为将程序代码分为多段,将开发好后基本保持不变的底层驱动划分在多个相邻的Flashsector,将经常需要更新功能的代码划分在剩下的Flashsector,实现Hex文件的增量包处理。
4.根据权利要求3所述的一种基于bootloader的自更新与应用程序增量更新的系统设计方法,其特征在于:对Hex文件进行增量更新包处理的具体过程为:
步骤一-一:打开新旧映像文件;
步骤一-二:依次查找新旧文件中的Sector;
步骤一-三:对比每一个Sector的内容,若内容相同则再新映像文件中删除该相同的Sector,不同则保留该Sector的内容;
步骤一-四:判断是否到达映...
【专利技术属性】
技术研发人员:董勇涛,王旭,朱仲文,田涌君,李丞,黄登高,周炼,王维志,刘志宏,廖志轩,
申请(专利权)人:中汽研扬州汽车工程研究院有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。