CN104216745A - 一种半主动悬架ecu控制器软件在线升级系统与方法 - Google Patents
一种半主动悬架ecu控制器软件在线升级系统与方法 Download PDFInfo
- Publication number
- CN104216745A CN104216745A CN201410438000.XA CN201410438000A CN104216745A CN 104216745 A CN104216745 A CN 104216745A CN 201410438000 A CN201410438000 A CN 201410438000A CN 104216745 A CN104216745 A CN 104216745A
- Authority
- CN
- China
- Prior art keywords
- ecu
- bootloader
- software
- ecu controller
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明涉及一种半主动悬架ECU控制器软件在线升级系统与方法,主要包括HOST上位机、USBCAN转换器、CAN通信总线和ECU控制器,通过HOST上位机的管理和控制,将待升级的ECU控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件;本发明的有益效果为:1、解决了半主动悬架ECU控制器软件更新升级的随意性和灵活性的问题;2、在不增加ECU额外硬件电路的基础上,通过自带CAN总线接口实现了半主动悬架ECU控制器软件的升级更新。
Description
技术领域
本发明属于在线升级领域,尤其涉及一种半主动悬架ECU控制器软件在线升级系统与方法。
背景技术
汽车电子ECU控制器软件升级系统是一种独立于ECU的软硬件系统,通过软件升级系统可以使ECU的应用程序代码得以更新、升级。通常也称为BootLoader系统,汽车电子ECU控制器采用Bootloader可以延长ECU应用软件的开发时间,便于修改软件Bug以及发现问题及时返工,同时增强ECU的可维护性,使得最终用户能够受益于ECU产品的功能及性能上的升级。ECU的软件升级系统同ECU的应用功能一样,需要独立的ECU硬件资源运行,因此BootLoader系统独立于ECU应用系统,即ECU不是工作在BootLoader模式就是应用模式,不能同时工作。通常ECU采用以下两种技术进行软件升级:1、在ECU硬件电路上设计一个输入I/O,类似开关一样,ECU通过判断这个输入的I/O电平(高或低)来决定是否进入BootLoader模式还是应用模式;2、在ECU上电复位启动阶段设置一段等待时间,此时间段用户可以进入BootLoader模式,过了这段时间ECU即进入应用模式。
现有技术方案存在以下缺陷:1、第一种采用硬件输入I/O口判断电平的方案,增加了ECU的硬件开销,同时上位机同ECU进行BootLoader工作时一般采用串行通信接口(如SCI串口、USB、CAN等),如果上位机自动控制ECU的I/O需要增加其他硬件电路,系统也变得复杂,如果采用ECU本地控制I/O口的电平,需要在ECU的外壳增加一个开关,操作极其不方便;2、第二种方案,虽然无需采用额外的硬件电路,但是无法做到BootLoader模式的随时更新,如果正在运行的ECU需要进行软件更新必须先断电停止工作,再给ECU加电。同时如果这段等待时间过短会造成进入BootLoader模式的几率降低,没有进入又要重新断电再上电,如果时间过长也会影响到ECU其他功能的执行效率。
发明内容
针对上述现有技术方案的缺陷,本发明旨在解决以下技术问题:1、本发明仅通过ECU自带的CAN通信总线接口硬件系统实现ECU软件更新,解决了硬件开销较小,节省了成本;3、采用ECU矢量跳转机制和存储器空间重新映射隔离分配的方法,解决了ECU在BootLoader和应用软件两种模式下自由切换独立运行互不干涉的问题,实现了ECU软件升级的随意性和灵活性。
本发明的目的在于克服现有技术存在的不足,而提供一种半主动悬架ECU控制器软件在线升级系统与方法。
本发明的目的是通过如下技术方案来完成的。这种半主动悬架ECU控制器软件在线升级系统,主要包括HOST上位机、USBCAN转换器、CAN通信总线和ECU控制器,通过HOST上位机的管理和控制,将待升级的ECU控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件;其中HOST上位机主要包括人机界面、后台处理模块及USBCAN通信接口API几个功能模块,人机界面提供给用户一个可视化的控制界面,用户通过人机控制界面实现开始/暂停软件更新、启动CAN、停止CAN、连接/终止ECU、选择待更新软件文件路径等交互操作;后台控制处理模块用于处理人机控制产生的控件命令,将命令封装成USB数据包同时反馈通信接口接收到的ECU反馈信息呈现给人机界面;通信接口API用于USB数据包的接收与发送,同时处理USB设备的枚举和异常通信处理;USBCAN转换器模块用于USB数据包与CAN数据包的转换,实现HOST上位机USB同ECU控制器CAN通信总线的通信转换;ECU控制器主要包括CAN接口、CAN数据包解析、BootLoader命令处理状态机和软件更新任务程序几个模块,其中CAN接口包括CAN物理通信接口和CAN驱动程序,用于对CAN通信总线上数据的接收和ECU发送数据至CAN通信总线;CAN数据包解析用于对CAN数据包的解析、分辨处理,同时负责将ECU发送的数据进行打包处理;BootLoader命令处理机是一个有限状态机接口,按照协议处理建立链接、断开链接、发送地址/数据长度/校验/安全秘钥、发送数据包、FLASH擦除、FLASH烧写这些状态,而软件更新任务模块用于上位机HOST发送至ECU的待更新软件程序数据烧写到ECU指定存储区域的功能。
这种半主动悬架ECU控制器软件在线升级方法,HOST上位机为主,ECU控制器为副,按照串行通信的主副设备原则进行配合,所有动作均由用户在HOST上位机的人机交互控制界面上发起,而ECU控制器作为副设备不能发起任何命令,只能接收和响应主机的命令,同时反馈给主机命令执行情况;具体步骤如下:ECU控制器上电复位启动完成进行ECU控制器的初始化并进入主循环,此时ECU控制器正在运行应用模式,当用户通过HOST上位机发起软件更新升级命令后,ECU控制器一旦收到软件升级的命令,进入应用模式转BootLoader模式的“伪中断”处理,将应用模式的相关数据进行保存并终止应用模式,同时通过矢量跳转进入BootLoader模式,在BootLoader模式中完成待更新软件数据包的接收、BootLoader命令状态机的处理和软件升级FLASH烧写工作,完成BootLoader后反馈软件升级成功的信息给Host上位机,同时ECU控制器进入BootLoader模式转应用模式的“伪中断”,通过矢量跳转重新进入复位状态,ECU控制器复位后完成开始运行更新升级的软件,完成ECU控制器启动并进入应用模式的主程序完成初始化运行更新软件的应用程序,整个过程是一个BootLoader模式到应用模式的可逆循环过程,同时HOST上位机通过命令控制ECU控制器从应用模式进入BootLoader模式,而ECU控制器自动完成BootLoader模式到应用模式的转换。
更进一步,通过矢量跳转实现了ECU控制器BootLoader和ECU应用模式的自由转换,增加两个矢量单位:BootLoader和应用程序矢量,这两个矢量存储在ECU复位时系统中断矢量表内,如果在ECU控制器的应用模式中运行时,一旦系统判断需要进入BootLoader模式,ECU控制器产生一个类似中断的“伪中断”,即ECU控制器终止应用模式进入BootLoader矢量入口,在BootLoader矢量地址处通过跳转指令转入BootLoader模式来运行BootLoader工作,同时如果BootLoader软件升级完成后ECU控制器进入应用程序“伪中断”,通过跳转指令进入更新的应用程序入口执行ECU应用程序,BootLoader区域和矢量地址都被保护不允许被修改。
更进一步,通过ECU控制器存储空间重新映射、隔离分配的方法来实现ECU控制器的BootLoader和应用模式运行相互独立互不干涉;首先将非分页FLASH存储器分为BootLoader启动代码区、BootLoader主程序区、应用程序启动代码区和中断矢量区几个部分,其中ECU控制器复位矢量0xFFFE也在非分页FLASH内部,不可修改,同时BootLoader启动代码区、BootLoader主程序区同中断矢量区以及复位矢量被保护避免软件升级过程中发生修改,而应用程序启动代码区在进行软件更新时会被新的数据覆盖;分页FLASH存储器采用分页机制可以实现高位寻址,此部分区域用来存储程序量最多的应用程序代码,同时将BootLoader同应用程序的入口转换判断代码也存放在此处,以方便更新程序时入口地址发生变化随新程序一起更新;将ECU控制器的RAM随机存储区分隔为堆栈空间、BootLoader数据变量区和应用程序数据变量区,根据RAM的地址范围预先规定堆栈空间、BootLoader据变量区和应用程序数据变量区的寻址范围,一旦进行软件升级更新,新的应用程序的变量和数据只会存放在应用程序数据变量区,而不会被随机分配到BootLoader区。
本发明的有益效果为:1、解决了半主动悬架ECU控制器软件更新升级的随意性和灵活性的问题;2、在不增加ECU额外硬件电路的基础上,通过自带CAN通信总线接口实现了半主动悬架ECU控制器软件的升级更新;3、由于采用了矢量跳转的“伪中断”机制同ECU内存空间重新映射和隔离分配的技术,因此ECU内部的BootLoader和应用程序可以自由转换并且两个模式互不重叠干扰,对ECU的应用功能不会造成任何影响。
附图说明
图1为ECU软件在线升级系统原理框图。
图2为矢量跳转机制实现原理图。
图3为ECU内部存储空间映射分配框图。
图4为本发明的软件运行流程图。
具体实施方式
下面将结合附图对本发明做详细的介绍:
本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法主要实现汽车电子ECU控制器特别是半主动悬架ECU控制器软件升级更新的功能。如图1所示为ECU软件在线升级系统原理框图,本发明主要由HOST上位机、USBCAN转换器、CAN通信总线和ECU控制器组成。本发明利用HOST上位机(如PC台式机、便携式笔记本电脑等设备)的管理和控制,可以将待升级的ECU控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件。其中HOST上位机主要完成由人机界面、后台处理及USBCAN通信API几个功能模块组成,人机界面提供给用户一个可视化的控制界面,用户可以通过人机控制界面实现开始/暂停软件更新、启动CAN、停止CAN、连接/终止ECU、选择待更新软件文件路径等交互操作;后台控制处理模块的主要功能是处理人机控制产生的控件命令,将命令封装成USB数据包同时反馈通信接口接收到的ECU反馈信息呈现给人机界面;通信接口API主要负责USB数据包的接收与发送,同时处理USB设备的枚举和异常通信处理。USBCAN转换器模块主要完成USB数据包与CAN数据包的转换,由于USB的传输距离等原因因此一般ECU控制器通常采用CAN通信总线通信而并无USB通信接口,因此本发明通过USBCAN转换器实现HOST上位机USB同ECU控制器CAN通信总线的通信转换。ECU控制器主要由CAN接口、CAN数据包解析、BootLoader命令处理状态机和软件更新任务程序几个模块组成,其中CAN接口包括CAN物理通信接口和CAN驱动程序,主要实现对CAN通信总线上数据的接收和ECU发送数据至CAN通信总线;CAN数据包解析主要实现对CAN数据包的解析、分辨处理,同时负责将ECU发送的数据进行打包处理;BootLoader命令处理机是一个有限状态机接口,按照本发明软件更新系统的特定协议处理建立链接、断开链接、发送地址/数据长度/校验/安全秘钥、发送数据包、FLASH擦除、FLASH烧写等不同状态,而软件更新任务实现了上位机HOST发送至ECU的待更新软件程序数据烧写到ECU指定存储区域的功能。
由于ECU控制器一般情况下运行在应用模式,应用模式在ECU内部是一个独立的软件程序,其运行环境CPU、ROM和RAM来支配系统数据结构、指令代码、全局变量、堆栈以及矢量等,而BootLoader系统的软件也需要由ECU资源来支配。而ECU系统启动时这个资源需要配置好,这就是为什么BootLoader和ECU应用不能同时运行的原因,因为一旦同时运行的话,在一次软件升级后就会把BootLoader软件环境改变而造成BootLoader无法再次运行并使得ECU进入无序的崩溃状态。因此ECU必须准备两套资源来运行BootLoader和应用模式,而且相互独立互不影响。为了解决一个ECU控制器运行两套程序而且相互独立(相当于一台电脑运行两个不同的操作系统),同时能够实现两套程序之间的自动转换的问题,本发明提供了一种基于矢量跳转的运行机制和存储空间重新映射、隔离分配的方式。如图2所示。通过矢量跳转机制实现了ECU控制器BootLoader和ECU应用模式的自由转换,如图2所示,增加两个矢量单位:BootLoader和应用程序矢量,这两个矢量存储在ECU复位时系统中断矢量表内,在处理时类似中断的处理方法,如果在ECU的应用模式中运行时,一旦系统判断需要进入BootLoader模式,ECU产生一个类似中断的“伪中断”,即ECU终止应用模式进入BootLoader矢量入口,在BootLoader矢量地址处通过跳转指令转入BootLoader模式来运行BootLoader工作,同时如果BootLoader软件升级完成后ECU进入应用程序“伪中断”,通过跳转指令进入更新的应用程序入口执行ECU应用程序。BootLoader区域和矢量地址都被保护不允许被修改。
图2中通过矢量跳转的“伪中断”方式解决了ECU内部BootLoader和应用两种模式的随机转换问题,而本发明通过ECU存储空间重新映射、隔离分配的方法来实现ECU的BootLoader和应用模式运行相互独立互不干涉。如图3所示是本发明提供的ECU内部存储空间映射分配框图,在ECU内部通过ROM和RAM来存储软件代码和数据,其中ROM主要存储矢量、固定变量、代码指令,而RAM主要暂存随机变量、全局变量和堆栈数据表等,其中ROM容量比较大,由低位地址(16位)直接访问的非分页FLASH同采用分页机制的访问的FLASH组成,而无论是BootLoader还是应用程序其软件都由程序启动数据结构、矢量、固定变量、堆栈、系统随机变量、字符串变量、程序资源(CPU/外设接口)、变量、数据接口以及任务函数组成。在通常情况下,编译器按照一个工程综合分配ROM和RAM空间,软件的代码和数据被按照编译器要求映射到不同的存储空间。为了实现BootLoader同应用程序相互不受影响,本发明通过存储空间重新映射和隔离分配的方法修改ECU的程序代码及数据存储空间,如图3所示,首先将非分页FLASH存储器分为BootLoader启动代码区、BootLoader主程序区、应用程序启动代码区和中断矢量区几个部分,其中ECU复位矢量(0xFFFE)也在非分页FLASH内部,不可修改,同时BootLoader启动代码区、BootLoader主程序区同中断矢量区以及复位矢量被保护避免软件升级过程中发生修改,而应用程序启动代码区在进行软件更新时会被新的数据覆盖。分页FLASH存储器由于采用分页机制可以实现高位寻址(如24位寻址)因此容量最大,此部分区域主要用来存储程序量最多的应用程序代码,同时将BootLoader同应用程序的入口转换判断代码也存放在此处,以方便更新程序时入口地址发生变化随新程序一起更新。而RAM随机存储器主要用于存放ECU运行的数据、变量和提供堆栈空间,一般情况下编译器随机分配,本发明中由于ECU中存在BootLoader及应用两种工作模式,如果按照编译器随机分配数据和随机变量空间的话,就会出现两种模式的RAM空间混合,一旦进行软件更新后会重新随机分配空间,造成程序运行寻址出错引发ECU系统崩溃。因此RAM也需要进行重新映射和隔离分配。如图3中,本发明将ECU的RAM随机存储区分隔为堆栈空间、BootLoader数据变量区和应用程序数据变量区,根据RAM的地址范围预先规定堆栈空间、BootLoader据变量区和应用程序数据变量区的寻址范围,这样同ROM程序代码区一样,ECU在运行BootLoader和应用模式时将数据变量存放在指定区域内,各自不产生影响,一旦进行软件升级更新,新的应用程序的变量和数据只会存放在应用程序数据变量区,而不会被随机分配到BootLoader区。
本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法的软件包括HOST上位机和ECU中的BootLoader软件两个部分,如图4所示为本发明的软件运行流程图。上位机同ECU软件通过CAN通信总线通信来完成软件更新的整个过程,当进行软件更新升级时,用户将USBCAN转换器设备的CAN物理接口连接到ECU的CAN接口上,另一端USB接口连接到上位机上,打开上位机软件的人机交互控制界面,通过人机界面提供的控件来初始化CAN设备、同ECU建立链接并开始进行软件升级,通过上位机提示选择待升级的软件文件的路径,将待升级的软件文件进行ASCII到16进制数据的解码,同时根据文件协议格式分解出设备和软件版本信息、源代码数据的地址、数据长度、检验和数据等信息,并将这些信息按照BootLoader命令协议和USBCAN转换器的传输协议进行打包封装,然后再将数据包通过上位机后台的API应用程序接口发送到CAN通信总线供ECU接收,同时通过CAN通信总线接收来自ECU的反馈信息,并通过反馈信息判断是否接收数据完成,是否发送数据错误,是否出现未预知错误,是否出现总线硬件错误,通信阻塞等问题,一旦接收到BootLoader升级成功信息后,HOST上位机人机界面出现软件升级成功的信息以提示用户。
本发明提供的一种半主动悬架ECU控制器软件在线升级系统与方法在进行软件更新时,规定上位机为主,ECU为副,按照串行通信的主副设备原则进行配合,所有动作均由用户在上位机的人机交互控制界面上发起,而ECU作为副设备不能发起任何命令,只能接收和响应主机的命令,同时反馈给主机命令执行情况。如图4中ECU软件所示,ECU上电复位启动完成进行ECU的初始化并进入主循环,此时ECU正在运行应用模式,当用户通过HOST主机发起软件更新升级命令后,ECU一旦收到软件升级的命令,进入应用模式转BootLoader模式的“伪中断”处理,将应用模式的相关数据进行保存并终止应用模式,同时通过矢量跳转进入BootLoader模式,在BootLoader模式中完成待更新软件数据包的接收、BootLoader命令状态机的处理和软件升级FLASH烧写等工作,完成BootLoader后反馈软件升级成功的信息给Host主机,同时ECU进入BootLoader模式转应用模式的“伪中断”,通过矢量跳转重新进入复位状态,ECU复位后完成开始运行更新升级的软件,完成ECU启动并进入应用模式的主程序完成初始化运行更新软件的应用程序。整个过程是一个BootLoader模式到应用模式的可逆循环过程,同时HOST上位机通过命令控制ECU从应用模式进入BootLoader模式,而ECU自动完成BootLoader模式到应用模式的转换。
本发明的特点:
1、基于矢量跳转处理机制的ECU软件更新升级处理方法,无需增加硬件判断机制,减少了硬件输入口的应用同时也减少了软件判断是否进入软件更新升级模式;
2、通过ECU内部存储空间重新映射和隔离分配的方法,使得BootLoader模式和应用模式可以随机运行,无需采用严格的时间等待和断电再上电的动作来进行软件更新处理;
3、提高了ECU软件更新升级的随意性和灵活性,在ECU程序运行的任何时候都可以根据需要随机进入软件更新模式,而不是只能在ECU上电复位的一段时间内才能进行软件更新升级。
本发明不局限于上述实施方式,不论在其形状或材料构成上作任何变化,凡是采用本发明所提供的结构设计,都是本发明的一种变形,均应认为在本发明保护范围之内。
Claims (4)
1.一种半主动悬架ECU控制器软件在线升级系统,其特征在于:主要包括HOST上位机、USBCAN转换器、CAN通信总线和ECU控制器,通过HOST上位机的管理和控制,将待升级的ECU控制器软件程序文件通过上位机HOST的USB接口,经过USBCAN转换器接入CAN通信总线,同时ECU控制器通过接受CAN通信总线的待升级软件数据后经过处理完成对原有程序的擦除,并更新成来自HOST的待升级ECU软件;其中HOST上位机主要包括人机界面、后台处理模块及USBCAN通信接口API几个功能模块,人机界面提供给用户一个可视化的控制界面,用户通过人机控制界面实现开始/暂停软件更新、启动CAN、停止CAN、连接/终止ECU、选择待更新软件文件路径等交互操作;后台控制处理模块用于处理人机控制产生的控件命令,将命令封装成USB数据包同时反馈通信接口接收到的ECU反馈信息呈现给人机界面;通信接口API用于USB数据包的接收与发送,同时处理USB设备的枚举和异常通信处理;USBCAN转换器模块用于USB数据包与CAN数据包的转换,实现HOST上位机USB同ECU控制器CAN通信总线的通信转换;ECU控制器主要包括CAN接口、CAN数据包解析、BootLoader命令处理状态机和软件更新任务程序几个模块,其中CAN接口包括CAN物理通信接口和CAN驱动程序,用于对CAN总线上数据的接收和ECU发送数据至CAN总线;CAN数据包解析用于对CAN数据包的解析、分辨处理,同时负责将ECU发送的数据进行打包处理;BootLoader命令处理机是一个有限状态机接口,按照协议处理建立链接、断开链接、发送地址/数据长度/校验/安全秘钥、发送数据包、FLASH擦除、FLASH烧写这些状态,而软件更新任务模块用于上位机HOST发送至ECU的待更新软件程序数据烧写到ECU指定存储区域的功能。
2.一种采用如权利要求1所述的半主动悬架ECU控制器软件在线升级系统的方法,其特征在于:HOST上位机为主,ECU控制器为副,按照串行通信的主副设备原则进行配合,所有动作均由用户在HOST上位机的人机交互控制界面上发起,而ECU控制器作为副设备不能发起任何命令,只能接收和响应主机的命令,同时反馈给主机命令执行情况;具体步骤如下:ECU控制器上电复位启动完成进行ECU控制器的初始化并进入主循环,此时ECU控制器正在运行应用模式,当用户通过HOST上位机发起软件更新升级命令后,ECU控制器一旦收到软件升级的命令,进入应用模式转BootLoader模式的“伪中断”处理,将应用模式的相关数据进行保存并终止应用模式,同时通过矢量跳转进入BootLoader模式,在BootLoader模式中完成待更新软件数据包的接收、BootLoader命令状态机的处理和软件升级FLASH烧写工作,完成BootLoader后反馈软件升级成功的信息给Host上位机,同时ECU控制器进入BootLoader模式转应用模式的“伪中断”,通过矢量跳转重新进入复位状态,ECU控制器复位后完成开始运行更新升级的软件,完成ECU控制器启动并进入应用模式的主程序完成初始化运行更新软件的应用程序,整个过程是一个BootLoader模式到应用模式的可逆循环过程,同时HOST上位机通过命令控制ECU控制器从应用模式进入BootLoader模式,而ECU控制器自动完成BootLoader模式到应用模式的转换。
3.根据权利要求2所述的半主动悬架ECU控制器软件在线升级方法,其特征在于:通过矢量跳转实现了ECU控制器BootLoader和ECU应用模式的自由转换,增加两个矢量单位:BootLoader和应用程序矢量,这两个矢量存储在ECU复位时系统中断矢量表内,如果在ECU控制器的应用模式中运行时,一旦系统判断需要进入BootLoader模式,ECU控制器产生一个类似中断的“伪中断”,即ECU控制器终止应用模式进入BootLoader矢量入口,在BootLoader矢量地址处通过跳转指令转入BootLoader模式来运行BootLoader工作,同时如果BootLoader软件升级完成后ECU控制器进入应用程序“伪中断”,通过跳转指令进入更新的应用程序入口执行ECU应用程序,BootLoader区域和矢量地址都被保护不允许被修改。
4.根据权利要求2所述的半主动悬架ECU控制器软件在线升级方法,其特征在于:通过ECU控制器存储空间重新映射、隔离分配的方法来实现ECU控制器的BootLoader和应用模式运行相互独立互不干涉;首先将非分页FLASH存储器分为BootLoader启动代码区、BootLoader主程序区、应用程序启动代码区和中断矢量区几个部分,其中ECU控制器复位矢量0xFFFE也在非分页FLASH内部,不可修改,同时BootLoader启动代码区、BootLoader主程序区同中断矢量区以及复位矢量被保护避免软件升级过程中发生修改,而应用程序启动代码区在进行软件更新时会被新的数据覆盖;分页FLASH存储器采用分页机制可以实现高位寻址,此部分区域用来存储程序量最多的应用程序代码,同时将BootLoader同应用程序的入口转换判断代码也存放在此处,以方便更新程序时入口地址发生变化随新程序一起更新;将ECU控制器的RAM随机存储区分隔为堆栈空间、BootLoader数据变量区和应用程序数据变量区,根据RAM的地址范围预先规定堆栈空间、BootLoader据变量区和应用程序数据变量区的寻址范围,一旦进行软件升级更新,新的应用程序的变量和数据只会存放在应用程序数据变量区,而不会被随机分配到BootLoader区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438000.XA CN104216745A (zh) | 2014-08-29 | 2014-08-29 | 一种半主动悬架ecu控制器软件在线升级系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438000.XA CN104216745A (zh) | 2014-08-29 | 2014-08-29 | 一种半主动悬架ecu控制器软件在线升级系统与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104216745A true CN104216745A (zh) | 2014-12-17 |
Family
ID=52098274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410438000.XA Pending CN104216745A (zh) | 2014-08-29 | 2014-08-29 | 一种半主动悬架ecu控制器软件在线升级系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216745A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866398A (zh) * | 2015-06-17 | 2015-08-26 | 株洲南车时代电气股份有限公司 | 一种基于lkj分时运行多种车载应用软件的方法和系统 |
CN105242664A (zh) * | 2015-10-27 | 2016-01-13 | 北京新能源汽车股份有限公司 | 汽车控制器数据处理系统和方法 |
CN105573807A (zh) * | 2015-12-31 | 2016-05-11 | 清华大学苏州汽车研究院(吴江) | 一种基于can总线的ecu在线程序升级系统及方法 |
CN105786558A (zh) * | 2014-12-30 | 2016-07-20 | 威斯通全球技术公司 | 可升级车辆 |
CN105955245A (zh) * | 2016-06-13 | 2016-09-21 | 重庆长安汽车股份有限公司 | 一种车载控制器的更新方法以及更新系统 |
CN106484430A (zh) * | 2016-10-30 | 2017-03-08 | 合肥微匠信息科技有限公司 | 一种基于arm和pda软硬件平台开发系统 |
CN106775818A (zh) * | 2016-11-11 | 2017-05-31 | 广州视源电子科技股份有限公司 | 基于can总线的ecu升级方法及ecu升级设备 |
CN107346244A (zh) * | 2017-06-22 | 2017-11-14 | 武汉理工大学 | 一种汽车eps控制器程序自动化下载系统及方法 |
CN107678760A (zh) * | 2017-09-11 | 2018-02-09 | 浙江中科正方电子技术有限公司 | 一种can烧写程序交互控制系统及方法 |
CN108681458A (zh) * | 2018-03-23 | 2018-10-19 | 天津清智科技有限公司 | 一种手持程序烧录器及其控制方法 |
CN108920168A (zh) * | 2018-06-15 | 2018-11-30 | 先进储能材料国家工程研究中心有限责任公司 | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 |
CN109154890A (zh) * | 2016-06-13 | 2019-01-04 | 歌乐株式会社 | 软件更新装置及软件更新系统 |
CN109263665A (zh) * | 2018-10-19 | 2019-01-25 | 中车青岛四方车辆研究所有限公司 | 城轨车辆架控电子制动控制系统及升级方法 |
CN109478155A (zh) * | 2016-08-05 | 2019-03-15 | 株式会社自动网络技术研究所 | 车载更新装置、车载更新系统及通信装置的更新方法 |
CN110001553A (zh) * | 2019-02-25 | 2019-07-12 | 南京航空航天大学 | 一种汽车四向可调转向操纵装置、控制器下载系统及方法 |
CN111506593A (zh) * | 2020-04-24 | 2020-08-07 | 东莞市精驰软件有限公司 | 软件系统数据升级方法、装置、设备及存储介质 |
CN111831310A (zh) * | 2020-07-17 | 2020-10-27 | 北京经纬恒润科技有限公司 | 一种软件更新方法及系统 |
CN112711554A (zh) * | 2021-01-08 | 2021-04-27 | 上海擎昆信息科技有限公司 | 一种总线与usb的转换方法和装置 |
CN112711555A (zh) * | 2021-01-08 | 2021-04-27 | 上海擎昆信息科技有限公司 | 一种总线与eth的转换方法和装置 |
CN113342385A (zh) * | 2021-04-29 | 2021-09-03 | 博格思众(常州)空调系统有限公司 | 软件升级方法及装置、空调控制面板 |
CN113504771A (zh) * | 2021-07-16 | 2021-10-15 | 东风小康汽车有限公司重庆分公司 | 一种控制器升级方法和系统 |
CN113656059A (zh) * | 2021-10-21 | 2021-11-16 | 北京联盛德微电子有限责任公司 | 嵌入式软件系统 |
CN114047715A (zh) * | 2021-09-30 | 2022-02-15 | 黄冈普赫氢能商用车有限公司 | Ecu应用层软件更新时外围器件的控制方法和存储介质 |
CN114124701A (zh) * | 2021-11-05 | 2022-03-01 | 交控科技股份有限公司 | 车载设备远程升级方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
CN103559066A (zh) * | 2013-11-19 | 2014-02-05 | 上海创程车联网络科技有限公司 | 基于canopen协议的嵌入式软件升级方法 |
-
2014
- 2014-08-29 CN CN201410438000.XA patent/CN104216745A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
CN103559066A (zh) * | 2013-11-19 | 2014-02-05 | 上海创程车联网络科技有限公司 | 基于canopen协议的嵌入式软件升级方法 |
Non-Patent Citations (1)
Title |
---|
张爱云 等: ""柴油机电控单元Bootloader的开发与实现"", 《现代车用动力》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786558A (zh) * | 2014-12-30 | 2016-07-20 | 威斯通全球技术公司 | 可升级车辆 |
CN104866398A (zh) * | 2015-06-17 | 2015-08-26 | 株洲南车时代电气股份有限公司 | 一种基于lkj分时运行多种车载应用软件的方法和系统 |
CN104866398B (zh) * | 2015-06-17 | 2018-08-07 | 株洲南车时代电气股份有限公司 | 一种基于lkj分时运行多种车载应用软件的方法和系统 |
CN105242664A (zh) * | 2015-10-27 | 2016-01-13 | 北京新能源汽车股份有限公司 | 汽车控制器数据处理系统和方法 |
CN105573807A (zh) * | 2015-12-31 | 2016-05-11 | 清华大学苏州汽车研究院(吴江) | 一种基于can总线的ecu在线程序升级系统及方法 |
CN109154890A (zh) * | 2016-06-13 | 2019-01-04 | 歌乐株式会社 | 软件更新装置及软件更新系统 |
CN105955245A (zh) * | 2016-06-13 | 2016-09-21 | 重庆长安汽车股份有限公司 | 一种车载控制器的更新方法以及更新系统 |
CN109154890B (zh) * | 2016-06-13 | 2022-02-25 | 歌乐株式会社 | 软件更新装置及软件更新系统 |
CN109478155A (zh) * | 2016-08-05 | 2019-03-15 | 株式会社自动网络技术研究所 | 车载更新装置、车载更新系统及通信装置的更新方法 |
CN106484430A (zh) * | 2016-10-30 | 2017-03-08 | 合肥微匠信息科技有限公司 | 一种基于arm和pda软硬件平台开发系统 |
CN106775818A (zh) * | 2016-11-11 | 2017-05-31 | 广州视源电子科技股份有限公司 | 基于can总线的ecu升级方法及ecu升级设备 |
CN107346244A (zh) * | 2017-06-22 | 2017-11-14 | 武汉理工大学 | 一种汽车eps控制器程序自动化下载系统及方法 |
CN107346244B (zh) * | 2017-06-22 | 2019-09-10 | 武汉理工大学 | 一种汽车eps控制器程序自动化下载系统及方法 |
CN107678760A (zh) * | 2017-09-11 | 2018-02-09 | 浙江中科正方电子技术有限公司 | 一种can烧写程序交互控制系统及方法 |
CN108681458A (zh) * | 2018-03-23 | 2018-10-19 | 天津清智科技有限公司 | 一种手持程序烧录器及其控制方法 |
CN108920168B (zh) * | 2018-06-15 | 2022-03-11 | 先进储能材料国家工程研究中心有限责任公司 | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 |
CN108920168A (zh) * | 2018-06-15 | 2018-11-30 | 先进储能材料国家工程研究中心有限责任公司 | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 |
CN109263665A (zh) * | 2018-10-19 | 2019-01-25 | 中车青岛四方车辆研究所有限公司 | 城轨车辆架控电子制动控制系统及升级方法 |
CN110001553A (zh) * | 2019-02-25 | 2019-07-12 | 南京航空航天大学 | 一种汽车四向可调转向操纵装置、控制器下载系统及方法 |
CN110001553B (zh) * | 2019-02-25 | 2021-07-09 | 南京航空航天大学 | 一种汽车四向可调转向操纵装置、控制器下载方法 |
CN111506593A (zh) * | 2020-04-24 | 2020-08-07 | 东莞市精驰软件有限公司 | 软件系统数据升级方法、装置、设备及存储介质 |
CN111831310A (zh) * | 2020-07-17 | 2020-10-27 | 北京经纬恒润科技有限公司 | 一种软件更新方法及系统 |
CN112711555A (zh) * | 2021-01-08 | 2021-04-27 | 上海擎昆信息科技有限公司 | 一种总线与eth的转换方法和装置 |
CN112711554A (zh) * | 2021-01-08 | 2021-04-27 | 上海擎昆信息科技有限公司 | 一种总线与usb的转换方法和装置 |
CN113342385A (zh) * | 2021-04-29 | 2021-09-03 | 博格思众(常州)空调系统有限公司 | 软件升级方法及装置、空调控制面板 |
CN113504771A (zh) * | 2021-07-16 | 2021-10-15 | 东风小康汽车有限公司重庆分公司 | 一种控制器升级方法和系统 |
CN114047715A (zh) * | 2021-09-30 | 2022-02-15 | 黄冈普赫氢能商用车有限公司 | Ecu应用层软件更新时外围器件的控制方法和存储介质 |
CN114047715B (zh) * | 2021-09-30 | 2023-11-03 | 黄冈普赫氢能商用车有限公司 | Ecu应用层软件更新时外围器件的控制方法和存储介质 |
CN113656059A (zh) * | 2021-10-21 | 2021-11-16 | 北京联盛德微电子有限责任公司 | 嵌入式软件系统 |
CN114124701A (zh) * | 2021-11-05 | 2022-03-01 | 交控科技股份有限公司 | 车载设备远程升级方法及系统 |
CN114124701B (zh) * | 2021-11-05 | 2024-01-26 | 交控科技股份有限公司 | 车载设备远程升级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216745A (zh) | 一种半主动悬架ecu控制器软件在线升级系统与方法 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN100492294C (zh) | 程序动态加载方法 | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
CN103942178A (zh) | 多核处理器上实时操作系统与非实时操作系统之间的通信方法 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN105579953A (zh) | 灵活引导程序代码架构 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN102253860A (zh) | 一种异步操作方法及异步操作管理装置 | |
CN103905631B (zh) | 移动终端及其modem及linux芯片统一下载的方法 | |
CN101283333A (zh) | 用于在引导一个分区时维持另一个分区的方法和装置 | |
CN102722408B (zh) | 一种通讯设备软件更新的方法及装置 | |
CN106648758A (zh) | 一种多核处理器boot启动系统及方法 | |
CN103853557A (zh) | 一种用Uboot网络启动WinCE的方法 | |
WO2023077826A1 (zh) | 一种一体机的系统修复方法、系统、设备及存储介质 | |
CN102789206B (zh) | 机床数控中集中式和分布式控制混合的安全逻辑控制系统 | |
CN112148336A (zh) | 计算系统固件的安全更新 | |
CN103729219A (zh) | 一种uefi bios架构方法及系统 | |
CN103902383A (zh) | 一种基于继承机制的资源管理器设计方法 | |
CN106528217A (zh) | 一种现场可编程门阵列程序加载系统和方法 | |
KR102116984B1 (ko) | 메모리 스왑 오퍼레이션 제어 방법 및 이를 적용하는 데이터 처리 시스템 | |
CN105138308A (zh) | 一种更新寄存器的方法及装置 | |
US7680909B2 (en) | Method for configuration of a processing unit | |
CN101359312B (zh) | 输入输出控制系统 | |
CN102567251B (zh) | Bios的控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141217 |