一种汽车控制器软件刷写方法、系统、设备及存储介质与流程

文档序号:25871799发布日期:2021-07-16 16:35阅读:267来源:国知局
一种汽车控制器软件刷写方法、系统、设备及存储介质与流程

1.本发明属于控制器软件刷写领域,涉及一种汽车控制器软件刷写方法、系统、设备及存储介质。


背景技术:

2.大部分汽车控制器都实现了基于his规范的bootloader软件刷写,售后服务人员通过整车线束,可以方便的进行控制器应用软件的更新和刷写,大大便利了商用车的售后服务。
3.目前汽车控制器软件一般分为两部分,底层系统软件和上层应用软件。底层系统软件为上层应用软件提供基础软件服务:包括硬件驱动,通信协议(can、lin),诊断服务(如uds),系统服务(如任务调度,资源分配等),软件刷写(如bootloader)等。上层应用软件是针对特定应用领域,基于控制器底层系统软件支持,用来达到用户预期目标的计算机软件。
4.各系统供应商控制器除通过默认软件刷写波特率外,为了适应整车厂整体线束配置的需求,一般还允许通过控制器应用软件来配置软件刷写的波特率。
5.正常情况下,各系统供应商控制器在出厂刷写应用软件后,控制器就按照整车厂的线束需求,运行在对应的波特率上。售后服务人员在整车线束上,直接更新控制器应用软件。
6.基于成本的考虑,一般的控制器都没有可用于软件备份的flash空间。软件刷写流程,首先需要将原有的应用软件从flash上擦除,然后写入新的应用软件。但是售后服务人员在更新控制器应用软件过程中,如果刷写失败后,原先的控制器应用软件被破坏,此时控制器处于没有应用软件的状况,只能使用默认波特率进行软件刷写。默认波特率如果和整车线束的波特率不一致,就无法在线进行应用软件的刷写,给控制器的售后维护带来麻烦。


技术实现要素:

7.本发明的目的在于克服上述现有技术的缺点,提供一种汽车控制器软件刷写方法、系统、设备及存储介质,即使控制器应用软件更新失败,仍然可以继续通过整车can线刷写,避免了控制器在售后维护中被刷死。
8.为达到上述目的,本发明采用以下技术方案予以实现:
9.一种汽车控制器软件刷写方法,包括以下步骤;
10.步骤一,控制器上电或复位;
11.步骤二,控制器收到软件刷写指令后,判断应用软件刷写条件是否满足,若满足,则进行步骤三,否则应用软件继续运行;
12.步骤三,进入bootloader软件,读取软件刷写波特率和软件刷写通道信息,配置can通道,将应用软件是否有效信息更改为无效;
13.步骤四,擦除原有的应用软件地址空间数据,写入新的应用软件;
14.步骤五,刷写完成后,更新软件刷写波特率和软件刷写通道信息,并变更应用软件
是否有效信息为有效。
15.优选的,步骤一中,控制器上电或复位后,首先进入bootloader软件,判断应用软件是否有效信息是否有效,如果应用软件是否有效信息为有效,则跳转到应用软件入口,启动应用软件,控制器进入应用软件工作模式;如果应用软件是否有效信息为无效,bootloader软件读取软件刷写波特率和软件刷写通道信息,配置can通道,进入bootloader软件工作模式,等待刷写指令。
16.进一步,步骤二中,若未满足应用软件刷写条件,如果刷写指令来自于应用软件工作模式,则返回应用软件继续运行;如果刷写指令来自于bootloader软件工作模式,则继续等待刷写指令。
17.优选的,步骤四中,如果刷写失败,则控制器重启,返回步骤一。
18.一种汽车控制器软件刷写系统,包括:
19.控制器启动模块,用于控制器上电或复位;
20.应用软件刷写条件判断模块,用于控制器收到软件刷写指令后,判断应用软件刷写条件是否满足,若满足,则进入读取信息模块,否则应用软件继续运行;
21.读取信息模块,用于进入bootloader软件,读取软件刷写波特率和软件刷写通道信息,配置can通道,将应用软件是否有效信息更改为无效;
22.刷写模块,用于擦除原有的应用软件地址空间数据,写入新的应用软件;
23.信息更新模块,用于刷写完成后,更新软件刷写波特率和软件刷写通道信息,并变更应用软件是否有效信息为有效。
24.优选的,应用软件是否有效信息、软件刷写波特率和软件刷写通道存储在控制器的bootloader配置地址空间中。
25.优选的,bootloader程序存储在控制器的bootloader地址空间中。
26.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述汽车控制器软件刷写方法的步骤。
27.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述汽车控制器软件刷写方法的步骤。
28.与现有技术相比,本发明具有以下有益效果:
29.本发明可以实现当刷写过程中,如果刷写失败时,再次上电后,bootloader软件能够继续读取软件刷写波特率和软件刷写通道信息,根据该信息,配置bootloader软件刷写参数,可以继续进行应用软件的刷写,从而使控制器应用软件在整车线束上即使刷写失败,仍然可以通过整车线束继续刷写。
30.本发明所述系统,给bootloader软件分配了专有配置地址空间,bootloader软件可以访问该区域。应用软件刷写成功后,更新bootloader软件专有配置地址空间,将和刷写相关的信息写入该配置地址空间。bootloader软件进行应用软件刷写时,读取该共享配置地址空间,获取和刷写相关的信息,根据该信息,配置bootloader软件刷写参数,实现应用软件的刷写。
附图说明
31.图1为本发明的控制器软件刷写流程图。
具体实施方式
32.下面结合附图对本发明做进一步详细描述:
33.如图1所示,为本发明所述的汽车控制器软件刷写方法,包括以下步骤:
34.第一步:控制器上电/复位后,首先进入bootloader软件,判断应用软件是否有效信息是否有效,如果有效,则跳转到应用软件入口,跳转到下面第二步;否则bootloader软件读取软件刷写波特率和软件刷写通道信息,配置can通道,等待软件刷写指令,直接跳到下面第三步。
35.第二步:控制器进入应用软件工作模式;
36.第三步:控制器收到软件刷写指令后,判断软件刷写条件是否满足,若满足,则启动软件刷写,跳到下面第四步;否则,如果刷写指令来自于应用软件工作模式,则返回应用软件继续运行;如果刷写指令来自于bootloader软件工作模式,则继续等待刷写指令。
37.第四步:如果刷写指令来自于应用软件工作模式,bootloader软件需要首先读取软件刷写波特率和软件刷写通道信息,配置can通道。接下来变更应用软件是否有效信息为无效。
38.第五步:擦除原有的应用软件地址空间数据,写入新的应用软件。
39.第六步:在刷写过程中,如果刷写失败,则控制器重启,返回上面第一步;如果成功,则根据新的应用软件,更新软件刷写波特率和软件刷写通道信息,并变更应用软件是否有效信息为有效。
40.第六步:控制器重启,返回上面第一步。
41.方案实施前或判断软件刷写条件是否满足前,将应用软件刷写条件输入至控制器中。
42.基于本方案对控制器存储空间进行分配,其中应用软件地址空间用于存放应用软件程序和数据等;bootloader配置地址空间用于存放bootloader软件的配置信息,主要包括:应用软件是否有效信息、软件刷写波特率和软件刷写通道等信息;bootloader地址空间用于存放bootloader程序。
43.汽车控制器软件刷写系统,包括:
44.控制器启动模块,用于控制器上电或复位;
45.应用软件刷写条件判断模块,用于控制器收到软件刷写指令后,判断应用软件刷写条件是否满足,若满足,则进入读取信息模块,否则应用软件继续运行;
46.读取信息模块,用于进入bootloader软件,读取软件刷写波特率和软件刷写通道信息,配置can通道,将应用软件是否有效信息更改为无效;
47.刷写模块,用于擦除原有的应用软件地址空间数据,写入新的应用软件;
48.信息更新模块,用于刷写完成后,更新软件刷写波特率和软件刷写通道信息,并变更应用软件是否有效信息为有效。
49.计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述汽车控制器软件刷写方法
的步骤。
50.计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述汽车控制器软件刷写方法的步骤。
51.以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1