基于TFTP的汽车控制器程序升级系统技术方案

技术编号:35865224 阅读:12 留言:0更新日期:2022-12-07 10:57
本申请公开了一种基于TFTP的汽车控制器程序升级系统,包括:标识位模块,用于存储标识;程序备份模块,用于存储要更新的程序和当前版本程序;Bootloader模块和APP模块,均运行一个TFTP服务端,同时接收外部刷写请求;在控制器上电后,Bootloader模块优先运行并读取标识位区的标识,以此判断是否要进行程序更新标识请求或者回退标识请求。本系统不仅能在控制器上电时刷写程序,在运行中也能对控制器进行程序刷写,且提供标识位模块和程序备份模块,保证程序的完整性,若因断电或其他意外导致刷写失败,不影响原有APP模块的运行,待控制器再次上电时会自动更新并运行新程序,如新程序在测试一段时间后发现问题较多可自动回退到上一版本程序。一版本程序。一版本程序。

【技术实现步骤摘要】
基于TFTP的汽车控制器程序升级系统


[0001]本申请涉及自动驾驶控制系统
,尤其涉及一种基于TFTP的汽车控制器程序升级系统。

技术介绍

[0002]适合自动驾驶的汽车控制器在开发过程中需要大量的实车测试,中间会有频繁的软件升级,现有方案是将控制器内部flash划分为bootloader程序区和APP程序区,bootloader程序区负责判断是否有程序升级请求,若有,则接收程序升级请求,并将接收到的数据写入APP程序区,若判断无程序升级请求,则跳转至APP程序区,APP程序区运行控制器的功能实现。一般在控制器上电后经过一定的设置时间内,bootloader程序区判断是否有程序升级请求,在此期间内可以接收程序升级请求,并将接收到的数据写入APP程序区,若在此期间无程序升级请求,超过设定时间后则自动跳转进APP程序区。
[0003]然而软件刷写需要在控制器重新上电时进行,且在升级时如因意外导致连接超时,超过了设置时间,则直接跳转至了APP程序区,导致程序没刷上,需要再次上下电才能重新刷写。此外,在程序升级过程中如遇断电或通信错误等原因导致程序升级失败,且原有程序也被损坏,影响控制器使用。进一步的,如果刷完新程序后,发现测试问题较多,且一时半会不能解决,想回退到上一版本程序,需要重新刷写程序。

技术实现思路

[0004]为了解决上述技术问题,本申请实施例提供一种基于TFTP的汽车控制器程序升级系统,不仅能在控制器上电时刷写程序,在运行中也能对控制器进行程序刷写,同时新程序在测试一段时间后发现问题较多可自动回退到上一版本程序。
[0005]本申请实施例提供了一种基于TFTP的汽车控制器程序升级系统,包括:
[0006]标识位模块,用于存储更新请求标识、回退请求标识、第一程序备份模块的标识和第二程序备份模块的标识;
[0007]第一程序备份模块,用于存储要更新的程序;
[0008]第二程序备份模块,用于存放当前版本程序;
[0009]Bootloader模块,运行一个TFTP服务端,同时接收外部刷写请求;
[0010]APP模块,运行一个TFTP服务端,同时接收外部刷写请求;
[0011]其中,在控制器上电后,所述Bootloader模块优先运行并读取标识位区的标识,以此判断是否要进行程序更新标识请求或者回退标识请求。
[0012]所述Bootloader模块和APP模块正常运行的同时收到程序升级请求后将程序下载至第一程序备份模块,标识位模块在程序下载成功后将更新请求的标识设为有效,待下次上电时自动更新并运行新程序,在Bootloader模块运行时若程序下载失败,启动APP模块,APP模块继续监听是否有程序升级请求;在APP模块运行时若程序下载失败,APP模块继续监听是否有程序升级请求。
[0013]进一步地,所述标识位模块中无更新请求标识和回退请求标识时,
[0014]Bootloader模块运行TFTP服务端等待程序升级请求;
[0015]若在设定时间内接收到程序升级请求则将程序下载至第一程序备份模块;
[0016]下载成功后标识位模块将更新请求标识设为有效,进入APP模块正常运行之前版本程序,新程序会在下次上电后自动更新并运行;
[0017]下载失败后,启动APP模块,APP模块正常运行之前版本程序,在APP模块中继续接收程序升级请求;
[0018]若在设定时间内未收到程序升级请求,进入APP模块正常运行之前版本程序。
[0019]进一步地,所述标识位模块中更新请求标识为有效时:
[0020]若第一程序备份模块标识有效,APP模块数据拷入第二程序备份模块,以使每次程序更新前都将当前版本程序进行备份,以供程序回退时使用;
[0021]若第一程序备份模块标识无效,将第一程序备份模块数据拷入APP模块,以使APP模块数据完整。
[0022]进一步地,所述APP模块数据拷入第二程序备份模块成功时,标识位模块更新第一程序备份模块的标识为无效;
[0023]所述APP模块数据拷入第二程序备份模块失败时,进入APP模块正常运行之前版本程序,等待下次上电时再自动更新;
[0024]进一步地,所述第一程序备份模块数据拷入APP模块成功时,清除标识位模块更新请求标识和回退请求标识,标识位模块更新第一程序备份模块的标识写为有效;
[0025]所述第一程序备份模块数据拷入APP模块失败时,重启控制器直至刷写成功。
[0026]进一步地,所述标识位模块中程序回退请求标识有效,且更新请求标识无效时,第二程序备份模块数据拷入APP模块并运行APP模块。
[0027]进一步地,所述第二程序备份模块数据拷入APP模块成功,将标识位模块的回退请求标识的标识位设为无效后,APP模块运行回退后版本程序;
[0028]所述第二程序备份模块数据拷入APP模块失败,重启控制器直至回退成功。
[0029]进一步地,所述标识位模块中的更新请求标识的优先级大于回退请求标识的优先级,若同时存在更新请求标识和程序回退请求标识,则执行更新请求后同时清除更新请求标识和程序回退请求标识。
[0030]进一步地,所述回退请求标识由APP模块在运行过程中根据错误计数进行标志,在错误计数达到一定数值后将回退请求标识的标识位设为有效。
[0031]在本申请实施例中,本系统不仅能在控制器上电时刷写程序,在运行中也能对控制器进行程序刷写,且提供标识位模块和程序备份模块,保证程序的完整性,若因断电或其他意外导致刷写失败,不影响原有APP模块的运行,待控制器再次上电时会自动更新并运行新程序,如新程序在测试一段时间后发现问题较多可自动回退到上一版本程序。
附图说明
[0032]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0033]图1是本申请实施例提供的系统工作流程图。
具体实施方式
[0034]为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0035]下面结合附图和具体实施例,进一步阐明本专利技术。
[0036]在本申请的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TFTP的汽车控制器程序升级系统,其特征在于,包括:标识位模块,用于存储更新请求标识、回退请求标识、第一程序备份模块的标识和第二程序备份模块的标识;第一程序备份模块,用于存储要更新的程序;第二程序备份模块,用于存放当前版本程序;Bootloader模块,运行一个TFTP服务端,同时接收外部刷写请求;APP模块,运行一个TFTP服务端,同时接收外部刷写请求;其中,在控制器上电后,所述Bootloader模块优先运行并读取标识位区的标识,以此判断是否要进行程序更新标识请求或者回退标识请求。所述Bootloader模块和APP模块正常运行的同时收到程序升级请求后将程序下载至第一程序备份模块,标识位模块在程序下载成功后将更新请求的标识设为有效,待下次上电时自动更新并运行新程序,在Bootloader模块运行时若程序下载失败,启动APP模块,APP模块继续监听是否有程序升级请求;在APP模块运行时若程序下载失败,APP模块继续监听是否有程序升级请求。2.根据权利要求1所述的基于TFTP的汽车控制器程序升级系统,其特征在于,所述标识位模块中无更新请求标识和回退请求标识时,Bootloader模块运行TFTP服务端等待程序升级请求;若在设定时间内接收到程序升级请求则将程序下载至第一程序备份模块;下载成功后标识位模块将更新请求标识设为有效,进入APP模块正常运行之前版本程序,新程序会在下次上电后自动更新并运行;下载失败后,启动APP模块,APP模块正常运行之前版本程序,在APP模块中继续接收程序升级请求;若在设定时间内未收到程序升级请求,进入APP模块正常运行之前版本程序。3.根据权利要求1所述的基于TFTP的汽车控制器程序升级系统,其特征在于,所述标识位模块中更新请求标识为有效时:若第一程序备份模块标识有效,APP模块数据拷入第二程序备份模块,以使每次程序更新前都...

【专利技术属性】
技术研发人员:高红杰刘羿何贝刘鹤云张岩
申请(专利权)人:北京斯年智驾科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1