一种半主动悬架ecu控制器软件在线升级系统与方法

文档序号:6625433阅读:327来源:国知局
一种半主动悬架ecu控制器软件在线升级系统与方法
【专利摘要】本发明涉及一种半主动悬架ECU控制器软件在线升级系统与方法,主要包括HOST上位机、USBCAN转换器、CAN通信总线和ECU控制器,通过HOST上位机的管理和控制,将待升级的ECU控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件;本发明的有益效果为:1、解决了半主动悬架ECU控制器软件更新升级的随意性和灵活性的问题;2、在不增加ECU额外硬件电路的基础上,通过自带CAN总线接口实现了,半主动悬架ECU控制器软件的升级更新。
【专利说明】一种半主动悬架ECU控制器软件在线升级系统与方法

【技术领域】
[0001] 本发明属于在线升级领域,尤其涉及一种半主动悬架ECU控制器软件在线升级系 统与方法。

【背景技术】
[0002] 汽车电子E⑶控制器软件升级系统是一种独立于E⑶的软硬件系统,通过软件升 级系统可以使E⑶的应用程序代码得以更新、升级。通常也称为BootLoader系统,汽车电 子E⑶控制器采用Bootloader可以延长E⑶应用软件的开发时间,便于修改软件Bug以及 发现问题及时返工,同时增强ECU的可维护性,使得最终用户能够受益于ECU产品的功能及 性能上的升级。ECU的软件升级系统同ECU的应用功能一样,需要独立的ECU硬件资源运 行,因此BootLoader系统独立于ECU应用系统,S卩ECU不是工作在BootLoader模式就是应 用模式,不能同时工作。通常ECU采用以下两种技术进行软件升级:1、在ECU硬件电路上设 计一个输入1/0,类似开关一样,E⑶通过判断这个输入的1/0电平(高或低)来决定是否 进入BootLoader模式还是应用模式;2、在E⑶上电复位启动阶段设置一段等待时间,此时 间段用户可以进入BootLoader模式,过了这段时间E⑶即进入应用模式。
[0003] 现有技术方案存在以下缺陷:1、第一种采用硬件输入1/0 口判断电平的方案,增 加了 E⑶的硬件开销,同时上位机同E⑶进行BootLoader工作时一般采用串行通信接口 (如SCI串口、USB、CAN等),如果上位机自动控制ECU的1/0需要增加其他硬件电路,系统 也变得复杂,如果采用ECU本地控制1/0 口的电平,需要在ECU的外壳增加一个开关,操作 极其不方便;2、第二种方案,虽然无需采用额外的硬件电路,但是无法做到BootLoader模 式的随时更新,如果正在运行的ECU需要进行软件更新必须先断电停止工作,再给ECU加 电。同时如果这段等待时间过短会造成进入BootLoader模式的几率降低,没有进入又要重 新断电再上电,如果时间过长也会影响到ECU其他功能的执行效率。


【发明内容】

[0004] 针对上述现有技术方案的缺陷,本发明旨在解决以下技术问题:1、本发明仅通 过ECU自带的CAN通信总线接口硬件系统实现ECU软件更新,解决了硬件开销较小,节省 了成本;3、采用ECU矢量跳转机制和存储器空间重新映射隔离分配的方法,解决了 ECU在 BootLoader和应用软件两种模式下自由切换独立运行互不干涉的问题,实现了 E⑶软件升 级的随意性和灵活性。
[0005] 本发明的目的在于克服现有技术存在的不足,而提供一种半主动悬架E⑶控制器 软件在线升级系统与方法。
[0006] 本发明的目的是通过如下技术方案来完成的。这种半主动悬架E⑶控制器软件在 线升级系统,主要包括HOST上位机、USBCAN转换器、CAN通信总线和E⑶控制器,通过HOST 上位机的管理和控制,将待升级的E⑶控制器软件程序文件通过上位机HOST的USB接口, 经过USBCAN转换器接入CAN通信总线,同时E⑶控制器通过接受CAN通信总线的待升级 软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件;其中 HOST上位机主要包括人机界面、后台处理模块及USBCAN通信接口 API几个功能模块,人 机界面提供给用户一个可视化的控制界面,用户通过人机控制界面实现开始/暂停软件更 新、启动CAN、停止CAN、连接/终止E⑶、选择待更新软件文件路径等交互操作;后台控制处 理模块用于处理人机控制产生的控件命令,将命令封装成USB数据包同时反馈通信接口接 收到的E⑶反馈信息呈现给人机界面;通信接口 API用于USB数据包的接收与发送,同时 处理USB设备的枚举和异常通信处理;USBCAN转换器模块用于USB数据包与CAN数据包的 转换,实现HOST上位机USB同E⑶控制器CAN通信总线的通信转换;E⑶控制器主要包括 CAN接口、CAN数据包解析、BootLoader命令处理状态机和软件更新任务程序几个模块,其 中CAN接口包括CAN物理通信接口和CAN驱动程序,用于对CAN通信总线上数据的接收和 ECU发送数据至CAN通信总线;CAN数据包解析用于对CAN数据包的解析、分辨处理,同时负 责将E⑶发送的数据进行打包处理;BootLoader命令处理机是一个有限状态机接口,按照 协议处理建立链接、断开链接、发送地址/数据长度/校验/安全秘钥、发送数据包、FLASH 擦除、FLASH烧写这些状态,而软件更新任务模块用于上位机HOST发送至E⑶的待更新软 件程序数据烧写到ECU指定存储区域的功能。
[0007] 这种半主动悬架E⑶控制器软件在线升级方法,HOST上位机为主,E⑶控制器为 畐0,按照串行通信的主副设备原则进行配合,所有动作均由用户在HOST上位机的人机交 互控制界面上发起,而ECU控制器作为副设备不能发起任何命令,只能接收和响应主机的 命令,同时反馈给主机命令执行情况;具体步骤如下:ECU控制器上电复位启动完成进行 E⑶控制器的初始化并进入主循环,此时E⑶控制器正在运行应用模式,当用户通过HOST 上位机发起软件更新升级命令后,ECU控制器一旦收到软件升级的命令,进入应用模式转 BootLoader模式的"伪中断"处理,将应用模式的相关数据进行保存并终止应用模式,同时 通过矢量跳转进入BootLoader模式,在BootLoader模式中完成待更新软件数据包的接收、 BootLoader命令状态机的处理和软件升级FLASH烧写工作,完成BootLoader后反馈软件 升级成功的信息给Host上位机,同时E⑶控制器进入BootLoader模式转应用模式的"伪中 断",通过矢量跳转重新进入复位状态,ECU控制器复位后完成开始运行更新升级的软件,完 成ECU控制器启动并进入应用模式的主程序完成初始化运行更新软件的应用程序,整个过 程是一个BootLoader模式到应用模式的可逆循环过程,同时HOST上位机通过命令控制EOT 控制器从应用模式进入BootLoader模式,而EOJ控制器自动完成BootLoader模式到应用 模式的转换。
[0008] 更进一步,通过矢量跳转实现了 E⑶控制器BootLoader和E⑶应用模式的自 由转换,增加两个矢量单位:B〇〇tL〇ader和应用程序矢量,这两个矢量存储在ECU复位 时系统中断矢量表内,如果在ECU控制器的应用模式中运行时,一旦系统判断需要进入 BootLoader模式,E⑶控制器产生一个类似中断的"伪中断",即E⑶控制器终止应用模式进 入BootLoader矢量入口,在BootLoader矢量地址处通过跳转指令转入BootLoader模式来 运行BootLoader工作,同时如果BootLoader软件升级完成后EOJ控制器进入应用程序"伪 中断",通过跳转指令进入更新的应用程序入口执行E⑶应用程序,BootLoader区域和矢量 地址都被保护不允许被修改。
[0009] 更进一步,通过E⑶控制器存储空间重新映射、隔离分配的方法来实现E⑶控制 器的BootLoader和应用模式运行相互独立互不干涉;首先将非分页FLASH存储器分为 BootLoader启动代码区、BootLoader主程序区、应用程序启动代码区和中断矢量区几个部 分,其中E⑶控制器复位矢量OxFFFE也在非分页FLASH内部,不可修改,同时BootLoader 启动代码区、BootLoader主程序区同中断矢量区以及复位矢量被保护避免软件升级过程 中发生修改,而应用程序启动代码区在进行软件更新时会被新的数据覆盖;分页FLASH存 储器采用分页机制可以实现高位寻址,此部分区域用来存储程序量最多的应用程序代码, 同时将BootLoader同应用程序的入口转换判断代码也存放在此处,以方便更新程序时入 口地址发生变化随新程序一起更新;将E⑶控制器的RAM随机存储区分隔为堆栈空间、 BootLoader数据变量区和应用程序数据变量区,根据RAM的地址范围预先规定堆栈空间、 BootLoader据变量区和应用程序数据变量区的寻址范围,一旦进行软件升级更新,新的应 用程序的变量和数据只会存放在应用程序数据变量区,而不会被随机分配到BootLoader 区。
[0010] 本发明的有益效果为:1、解决了半主动悬架ECU控制器软件更新升级的随意性和 灵活性的问题;2、在不增加 ECU额外硬件电路的基础上,通过自带CAN通信总线接口实现了 半主动悬架ECU控制器软件的升级更新;3、由于采用了矢量跳转的"伪中断"机制同ECU内 存空间重新映射和隔离分配的技术,因此ECU内部的BootLoader和应用程序可以自由转换 并且两个模式互不重叠干扰,对ECU的应用功能不会造成任何影响。

【专利附图】

【附图说明】
[0011] 图1为E⑶软件在线升级系统原理框图。
[0012] 图2为矢量跳转机制实现原理图。
[0013] 图3为E⑶内部存储空间映射分配框图。
[0014] 图4为本发明的软件运行流程图。

【具体实施方式】
[0015] 下面将结合附图对本发明做详细的介绍:
[0016] 本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法主要实现汽 车电子ECU控制器特别是半主动悬架ECU控制器软件升级更新的功能。如图1所示为ECU 软件在线升级系统原理框图,本发明主要由HOST上位机、USBCAN转换器、CAN通信总线和 E⑶控制器组成。本发明利用HOST上位机(如PC台式机、便携式笔记本电脑等设备)的 管理和控制,可以将待升级的E⑶控制器软件程序文件通过上位机HOST的USB接口,经过 USBCAN转换器接入CAN通信总线,同时E⑶控制器通过接受CAN通信总线的待升级软件数 据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件。其中HOST上 位机主要完成由人机界面、后台处理及USBCAN通信API几个功能模块组成,人机界面提供 给用户一个可视化的控制界面,用户可以通过人机控制界面实现开始/暂停软件更新、启 动CAN、停止CAN、连接/终止E⑶、选择待更新软件文件路径等交互操作;后台控制处理模 块的主要功能是处理人机控制产生的控件命令,将命令封装成USB数据包同时反馈通信接 口接收到的ECU反馈信息呈现给人机界面;通信接口 API主要负责USB数据包的接收与发 送,同时处理USB设备的枚举和异常通信处理。USBCAN转换器模块主要完成USB数据包与 CAN数据包的转换,由于USB的传输距离等原因因此一般E⑶控制器通常采用CAN通信总线 通信而并无 USB通信接口,因此本发明通过USBCAN转换器实现HOST上位机USB同E⑶控制 器CAN通信总线的通信转换。E⑶控制器主要由CAN接口、CAN数据包解析、BootLoader命 令处理状态机和软件更新任务程序几个模块组成,其中CAN接口包括CAN物理通信接口和 CAN驱动程序,主要实现对CAN通信总线上数据的接收和E⑶发送数据至CAN通信总线;CAN 数据包解析主要实现对CAN数据包的解析、分辨处理,同时负责将E⑶发送的数据进行打包 处理;BootLoader命令处理机是一个有限状态机接口,按照本发明软件更新系统的特定协 议处理建立链接、断开链接、发送地址/数据长度/校验/安全秘钥、发送数据包、FLASH擦 除、FLASH烧写等不同状态,而软件更新任务实现了上位机HOST发送至ECU的待更新软件 程序数据烧写到ECU指定存储区域的功能。
[0017] 由于E⑶控制器一般情况下运行在应用模式,应用模式在E⑶内部是一个独立的 软件程序,其运行环境CPU、R0M和RAM来支配系统数据结构、指令代码、全局变量、堆栈以及 矢量等,而BootLoader系统的软件也需要由E⑶资源来支配。而E⑶系统启动时这个资源 需要配置好,这就是为什么BootLoader和E⑶应用不能同时运行的原因,因为一旦同时运 行的话,在一次软件升级后就会把BootLoader软件环境改变而造成BootLoader无法再次 运行并使得E⑶进入无序的崩溃状态。因此E⑶必须准备两套资源来运行BootLoader和应 用模式,而且相互独立互不影响。为了解决一个E⑶控制器运行两套程序而且相互独立(相 当于一台电脑运行两个不同的操作系统),同时能够实现两套程序之间的自动转换的问题, 本发明提供了一种基于矢量跳转的运行机制和存储空间重新映射、隔离分配的方式。如图 2所示。通过矢量跳转机制实现了 E⑶控制器BootLoader和E⑶应用模式的自由转换,如 图2所示,增加两个矢量单位:B〇〇tL 〇ader和应用程序矢量,这两个矢量存储在ECU复位时 系统中断矢量表内,在处理时类似中断的处理方法,如果在ECU的应用模式中运行时,一旦 系统判断需要进入BootLoader模式,E⑶产生一个类似中断的"伪中断",即E⑶终止应用 模式进入BootLoader矢量入口,在BootLoader矢量地址处通过跳转指令转入BootLoader 模式来运行BootLoader工作,同时如果BootLoader软件升级完成后EQJ进入应用程序"伪 中断",通过跳转指令进入更新的应用程序入口执行E⑶应用程序。BootLoader区域和矢量 地址都被保护不允许被修改。
[0018] 图2中通过矢量跳转的"伪中断"方式解决了 E⑶内部BootLoader和应用两种模 式的随机转换问题,而本发明通过ECU存储空间重新映射、隔离分配的方法来实现ECU的 BootLoader和应用模式运行相互独立互不干涉。如图3所示是本发明提供的E⑶内部存 储空间映射分配框图,在E⑶内部通过ROM和RAM来存储软件代码和数据,其中ROM主要 存储矢量、固定变量、代码指令,而RAM主要暂存随机变量、全局变量和堆栈数据表等,其中 ROM容量比较大,由低位地址(16位)直接访问的非分页FLASH同采用分页机制的访问的 FLASH组成,而无论是BootLoader还是应用程序其软件都由程序启动数据结构、矢量、固定 变量、堆栈、系统随机变量、字符串变量、程序资源(CPU/外设接口)、变量、数据接口以及任 务函数组成。在通常情况下,编译器按照一个工程综合分配ROM和RAM空间,软件的代码和 数据被按照编译器要求映射到不同的存储空间。为了实现BootLoader同应用程序相互不 受影响,本发明通过存储空间重新映射和隔离分配的方法修改ECU的程序代码及数据存储 空间,如图3所示,首先将非分页FLASH存储器分为BootLoader启动代码区、BootLoader 主程序区、应用程序启动代码区和中断矢量区几个部分,其中ECU复位矢量(OxFFFE)也在 非分页FLASH内部,不可修改,同时BootLoader启动代码区、BootLoader主程序区同中断 矢量区以及复位矢量被保护避免软件升级过程中发生修改,而应用程序启动代码区在进行 软件更新时会被新的数据覆盖。分页FLASH存储器由于采用分页机制可以实现高位寻址 (如24位寻址)因此容量最大,此部分区域主要用来存储程序量最多的应用程序代码,同时 将BootLoader同应用程序的入口转换判断代码也存放在此处,以方便更新程序时入口地 址发生变化随新程序一起更新。而RAM随机存储器主要用于存放ECU运行的数据、变量和 提供堆栈空间,一般情况下编译器随机分配,本发明中由于ECU中存在BootLoader及应用 两种工作模式,如果按照编译器随机分配数据和随机变量空间的话,就会出现两种模式的 RAM空间混合,一旦进行软件更新后会重新随机分配空间,造成程序运行寻址出错引发ECU 系统崩溃。因此RAM也需要进行重新映射和隔离分配。如图3中,本发明将E⑶的RAM随 机存储区分隔为堆栈空间、BootLoader数据变量区和应用程序数据变量区,根据RAM的地 址范围预先规定堆栈空间、BootLoader据变量区和应用程序数据变量区的寻址范围,这样 同ROM程序代码区一样,ECU在运行BootLoader和应用模式时将数据变量存放在指定区域 内,各自不产生影响,一旦进行软件升级更新,新的应用程序的变量和数据只会存放在应用 程序数据变量区,而不会被随机分配到BootLoader区。
[0019] 本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法的软件包括 HOST上位机和E⑶中的BootLoader软件两个部分,如图4所示为本发明的软件运行流程 图。上位机同ECU软件通过CAN通信总线通信来完成软件更新的整个过程,当进行软件更 新升级时,用户将USBCAN转换器设备的CAN物理接口连接到E⑶的CAN接口上,另一端 USB接口连接到上位机上,打开上位机软件的人机交互控制界面,通过人机界面提供的控件 来初始化CAN设备、同ECU建立链接并开始进行软件升级,通过上位机提示选择待升级的 软件文件的路径,将待升级的软件文件进行ASCII到16进制数据的解码,同时根据文件协 议格式分解出设备和软件版本信息、源代码数据的地址、数据长度、检验和数据等信息,并 将这些信息按照BootLoader命令协议和USBCAN转换器的传输协议进行打包封装,然后再 将数据包通过上位机后台的API应用程序接口发送到CAN通信总线供ECU接收,同时通过 CAN通信总线接收来自ECU的反馈信息,并通过反馈信息判断是否接收数据完成,是否发 送数据错误,是否出现未预知错误,是否出现总线硬件错误,通信阻塞等问题,一旦接收到 BootLoader升级成功信息后,HOST上位机人机界面出现软件升级成功的信息以提示用户。
[0020] 本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法在进行软件 更新时,规定上位机为主,ECU为副,按照串行通信的主副设备原则进行配合,所有动作均 由用户在上位机的人机交互控制界面上发起,而ECU作为副设备不能发起任何命令,只能 接收和响应主机的命令,同时反馈给主机命令执行情况。如图4中ECU软件所示,ECU上 电复位启动完成进行ECU的初始化并进入主循环,此时ECU正在运行应用模式,当用户通 过HOST主机发起软件更新升级命令后,ECU -旦收到软件升级的命令,进入应用模式转 BootLoader模式的"伪中断"处理,将应用模式的相关数据进行保存并终止应用模式,同时 通过矢量跳转进入BootLoader模式,在BootLoader模式中完成待更新软件数据包的接收、 BootLoader命令状态机的处理和软件升级FLASH烧写等工作,完成BootLoader后反馈软件 升级成功的信息给Host主机,同时E⑶进入BootLoader模式转应用模式的"伪中断",通过 矢量跳转重新进入复位状态,ECU复位后完成开始运行更新升级的软件,完成ECU启动并进 入应用模式的主程序完成初始化运行更新软件的应用程序。整个过程是一个BootLoader 模式到应用模式的可逆循环过程,同时HOST上位机通过命令控制ECU从应用模式进入 BootLoader模式,而EQJ自动完成BootLoader模式到应用模式的转换。
[0021] 本发明的特点:
[0022] 1、基于矢量跳转处理机制的E⑶软件更新升级处理方法,无需增加硬件判断机 制,减少了硬件输入口的应用同时也减少了软件判断是否进入软件更新升级模式;
[0023] 2、通过E⑶内部存储空间重新映射和隔离分配的方法,使得BootLoader模式和 应用模式可以随机运行,无需采用严格的时间等待和断电再上电的动作来进行软件更新处 理;
[0024] 3、提高了 ECU软件更新升级的随意性和灵活性,在ECU程序运行的任何时候都可 以根据需要随机进入软件更新模式,而不是只能在ECU上电复位的一段时间内才能进行软 件更新升级。
[0025] 本发明不局限于上述实施方式,不论在其形状或材料构成上作任何变化,凡是采 用本发明所提供的结构设计,都是本发明的一种变形,均应认为在本发明保护范围之内。
【权利要求】
1. 一种半主动悬架E⑶控制器软件在线升级系统,其特征在于:主要包括HOST上位 机、USBCAN转换器、CAN通信总线和E⑶控制器,通过HOST上位机的管理和控制,将待升级 的E⑶控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通 信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有 程序的擦除,并更新成来自HOST的待升级ECU软件;其中HOST上位机主要包括人机界面、 后台处理模块及USBCAN通信接口 API几个功能模块,人机界面提供给用户一个可视化的控 制界面,用户通过人机控制界面实现开始/暂停软件更新、启动CAN、停止CAN、连接/终止 ECU、选择待更新软件文件路径等交互操作;后台控制处理模块用于处理人机控制产生的控 件命令,将命令封装成USB数据包同时反馈通信接口接收到的ECU反馈信息呈现给人机界 面;通信接口 API用于USB数据包的接收与发送,同时处理USB设备的枚举和异常通信处 理;USBCAN转换器模块用于USB数据包与CAN数据包的转换,实现HOST上位机USB同E⑶控 制器CAN通信总线的通信转换;E⑶控制器主要包括CAN接口、CAN数据包解析、BootLoader 命令处理状态机和软件更新任务程序几个模块,其中CAN接口包括CAN物理通信接口和CAN 驱动程序,用于对CAN总线上数据的接收和E⑶发送数据至CAN总线;CAN数据包解析用于 对CAN数据包的解析、分辨处理,同时负责将E⑶发送的数据进行打包处理;BootLoader命 令处理机是一个有限状态机接口,按照协议处理建立链接、断开链接、发送地址/数据长度 /校验/安全秘钥、发送数据包、FLASH擦除、FLASH烧写这些状态,而软件更新任务模块用 于上位机HOST发送至E⑶的待更新软件程序数据烧写到E⑶指定存储区域的功能。
2. -种采用如权利要求1所述的半主动悬架ECU控制器软件在线升级系统的方法,其 特征在于:HOST上位机为主,E⑶控制器为副,按照串行通信的主副设备原则进行配合,所 有动作均由用户在HOST上位机的人机交互控制界面上发起,而ECU控制器作为副设备不 能发起任何命令,只能接收和响应主机的命令,同时反馈给主机命令执行情况;具体步骤如 下:ECU控制器上电复位启动完成进行ECU控制器的初始化并进入主循环,此时ECU控制器 正在运行应用模式,当用户通过HOST上位机发起软件更新升级命令后,ECU控制器一旦收 到软件升级的命令,进入应用模式转BootLoader模式的"伪中断"处理,将应用模式的相关 数据进行保存并终止应用模式,同时通过矢量跳转进入BootLoader模式,在BootLoader模 式中完成待更新软件数据包的接收、BootLoader命令状态机的处理和软件升级FLASH烧写 工作,完成BootLoader后反馈软件升级成功的信息给Host上位机,同时E⑶控制器进入 BootLoader模式转应用模式的"伪中断",通过矢量跳转重新进入复位状态,E⑶控制器复 位后完成开始运行更新升级的软件,完成ECU控制器启动并进入应用模式的主程序完成初 始化运行更新软件的应用程序,整个过程是一个BootLoader模式到应用模式的可逆循环 过程,同时HOST上位机通过命令控制E⑶控制器从应用模式进入BootLoader模式,而EOT 控制器自动完成BootLoader模式到应用模式的转换。
3. 根据权利要求2所述的半主动悬架E⑶控制器软件在线升级方法,其特征在于:通 过矢量跳转实现了 ECU控制器BootLoader和ECU应用模式的自由转换,增加两个矢量单 位:BootLoader和应用程序矢量,这两个矢量存储在ECU复位时系统中断矢量表内,如果 在E⑶控制器的应用模式中运行时,一旦系统判断需要进入BootLoader模式,E⑶控制器 产生一个类似中断的"伪中断",即E⑶控制器终止应用模式进入BootLoader矢量入口,在 BootLoader矢量地址处通过跳转指令转入BootLoader模式来运行BootLoader工作,同时 如果BootLoader软件升级完成后ECU控制器进入应用程序"伪中断",通过跳转指令进入 更新的应用程序入口执行ECU应用程序,BootLoader区域和矢量地址都被保护不允许被修 改。
4.根据权利要求2所述的半主动悬架E⑶控制器软件在线升级方法,其特征在于:通 过E⑶控制器存储空间重新映射、隔离分配的方法来实现E⑶控制器的BootLoader和应 用模式运行相互独立互不干涉;首先将非分页FLASH存储器分为BootLoader启动代码区、 BootLoader主程序区、应用程序启动代码区和中断矢量区几个部分,其中ECU控制器复位 矢量OxFFFE也在非分页FLASH内部,不可修改,同时BootLoader启动代码区、BootLoader 主程序区同中断矢量区以及复位矢量被保护避免软件升级过程中发生修改,而应用程序启 动代码区在进行软件更新时会被新的数据覆盖;分页FLASH存储器采用分页机制可以实现 高位寻址,此部分区域用来存储程序量最多的应用程序代码,同时将BootLoader同应用程 序的入口转换判断代码也存放在此处,以方便更新程序时入口地址发生变化随新程序一起 更新;将ECU控制器的RAM随机存储区分隔为堆栈空间、BootLoader数据变量区和应用程 序数据变量区,根据RAM的地址范围预先规定堆栈空间、BootLoader据变量区和应用程序 数据变量区的寻址范围,一旦进行软件升级更新,新的应用程序的变量和数据只会存放在 应用程序数据变量区,而不会被随机分配到BootLoader区。
【文档编号】G06F9/445GK104216745SQ201410438000
【公开日】2014年12月17日 申请日期:2014年8月29日 优先权日:2014年8月29日
【发明者】资小林, 李霖, 谌文思, 莫小波, 林安伟, 于东辉 申请人:万向钱潮股份有限公司, 万向集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1