CN109522033B - 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 - Google Patents

一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 Download PDF

Info

Publication number
CN109522033B
CN109522033B CN201811109375.6A CN201811109375A CN109522033B CN 109522033 B CN109522033 B CN 109522033B CN 201811109375 A CN201811109375 A CN 201811109375A CN 109522033 B CN109522033 B CN 109522033B
Authority
CN
China
Prior art keywords
data
program
frame
upper computer
interrupt vector
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.)
Active
Application number
CN201811109375.6A
Other languages
English (en)
Other versions
CN109522033A (zh
Inventor
吴锋
吕成磊
姚栋伟
李泽嵩
侯珏
金一垒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201811109375.6A priority Critical patent/CN109522033B/zh
Publication of CN109522033A publication Critical patent/CN109522033A/zh
Application granted granted Critical
Publication of CN109522033B publication Critical patent/CN109522033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明公开了一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,本发明基于硬件RTSP的在线自编程功能,允许自编程程序对芯片内部进行刷写,实现ECU程序的升级,提高了后期维护效率并在量产过程中实现软件的批量刷写;本发明应用程序和引导更新程序分别采用主中断向量表和备用中断向量表,减少了程序的复杂度并提高程序的运行效率;本发明将更新内容分为标定数据模块和应用程序模块,实现数据和程序的分别更新,更为合理和高效;在自编程程序中加入权限管理功能,只有指定的上位机才能实现程序及数据模块的更新,避免下位机的程序存储空间被任意更改。

Description

一种基于器件运行自编程和双中断向量表的ECU程序与数据 升级方法
技术领域
本发明主要涉及一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,可在汽车电子控制器大规模量产或车载开发测试等脱离开发环境条件下,通过总线通信方式对控制器内部数据和程序进行灵活在线更新。
背景技术
汽车电子技术的发展和汽车智能化程度的提高,使汽车逐渐成为复杂的机电一体化控制系统,而分布于车身的汽车电子控制器(简称ECU:Electronic Control Unit)则是汽车复杂控制系统的核心。ECU本质上就是汽车专用的微机控制器,其内部含有预先写入的软件程序指令,通过对传感器输入信息进行处理和运算,生成输出信号控制外部执行器,从而完成相应的功能。ECU功能的开发和升级实际上就是内部软件程序的更新和升级。
传统微机电子控制器利用专用的芯片下载器或调试器来进行更新,不仅下载效率低、操作复杂,而且需要预留特殊的硬件接口,不适合控制器量产时批量程序下载和车载控制器程序升级。另一方面,虽然目前国内的汽车电子自编程系统可在脱离芯片专用下载器或调试器的情况下,利用程序存储空间内提前写入的引导程序来接收、校核并刷写来自通信接口的外部数据,实现控制器在线标定、代码升级等功能。但是,国内现有汽车电子自编程系统的实现还有诸多不足之处,具体表现在以下几点:①国内现有的汽车电子自编程系统实现方式五花八门,缺乏统一标准,不同厂商技术比较封闭,使得产品不具备通用性,不能大规模应用在各种车型上;②国内有很多厂商为了开发方便,将自编程程序与应用程序交织在一起,增大了控制器软件开发难度,还会使得程序运行过程不够安全,可靠性不高,一旦单片机内程序“跑飞”可能造成难以预估的损失和灾难性的后果;③目前国内已有的成熟的汽车电子自编程产品中依然有部分不支持控制器程序与相关数据的灵活独立在线升级,每次更新升级均要求重新刷写整个存储空间,这样会使得后期的更新维护更加低效。如上所述由于通用性和稳定性方面达不到商用要求,目前国内大部分整车厂依然在依靠国外的汽车电子自编程系统。
鉴于上述分析,设计和开发一种基于总线通信、引导更新与应用程序分离、程序与标定数据分离的ECU应用程序与标定数据在线独立升级的方法对于控制器车载开发测试和大规模量产具有重要的理论和现实意义。
发明内容
本发明针对目前ECU的更新方式效率低,操作复杂,不适用于大规模量产的问题,提出了一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法。
本发明是通过以下技术方案来实现的:一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,该方法包括以下步骤:
(1)在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机应用程序或者标定数据的更新;
(2)在权限校核通过的情况下,上位机执行更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的程序文件*.hex以及标定数据文件*.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数据根据通信协议的格式进行处理打包,以数据帧的形式向下位机发送;
(3)下位机在接收到上位机指令实现复位或者每次上电之后,首先进行初始化,然后执行引导程序检验程序存储空间中的更新标志位,判断是否进入更新程序,若无需进入则直接转入应用程序首地址开始执行应用程序;相反,则执行步骤(4)开始程序和标定数据的独立更新过程;
(4)在接收到上位机发送来的数据之后,下位机首先判断该帧数据是数据帧还是控制帧;若为控制帧,则根据控制帧的内容,进行相关控制操作;若为数据帧,则根据通信协议对数据进行校核,并将校核结果向上位机反馈,若校核出错,则根据出错类型,命令上位机重发该帧数据或者直接中断传输;若数据帧通过校核,则执行步骤(5)进入标定数据模块和应用程序模块的独立刷写流程;
(5)根据更新内容将程序存储空间分为以下四个部分:第一部分为“GOTO 指令”、“复位地址”、主中断向量表和备用中断向量表;第二部分为Bootloader 程序,无需经常更新;第三部分为用户写入的标定数据模块;第四部分为应用程序模块,包含ECU应用程序;应用程序模块和标定数据模块在程序存储空间中刷写的目标地址不同;
在应用程序模块刷写时,由于从上位机接收到的应用程序模块的二进制数据包含着整个芯片内部闪存空间的映射,需要在刷写应用程序模块时对每一帧数据的刷写位置进行限定;
在标定数据模块刷写时,由于标定数据模块的二进制数据帧中只包含有效的数据信息,直接按顺序将标定数据写入相应程序存储空间地址;
上位机在读取完二进制*.bin文件所有数据之后,若最后一帧不完整,则用 0xFF补足;同样,数据数量不足硬件单次刷写要求数量的均用0xFF补足;同时,上位机向下位机发送结束刷写指令;下位机接收该指令后,先将程序存储空间的更新标志位置为无需更新状态,然后重新进入引导程序的主循环,等待下一次刷写或者复位进入应用程序。
进一步地,所述步骤(1)中,所述权限校核具体为:通过加密算法将随机数与指定硬件信息相结合来完成对程序或标定数据更新功能的锁定与解锁,以避免下位机程序存储空间被随意更改。
进一步地,所述步骤(5)中,在刷写应用程序模块时对每一帧数据的刷写位置进行限定,具体为:根据帧序号来进行刷写位置判断,当写入位置为“GOTO 指令”、“复位地址”和两个中断向量表时,程序会读取该位置现有的数据,来替换上位机发送来的数据帧中的相应数据,保证该位置的数据不会被修改;当写到第二部分Bootloader程序时,下位机将得到的数据全部遗弃,但写入位置会不断累加,即此时的数据帧将不被写入程序存储空间。
进一步地,所述步骤(5)中,在整个刷写过程中上位机还会显示刷写进度;上位机会首先根据二进制*.bin文件中的数据量计算一共需要刷写的数据帧数,然后根据每一帧的帧序号计算传输过程的完成度即传输进度,并进行显示。
进一步地,所述上位机是计算机(PC),所述下位机是任意汽车电子控制器 (ECU),即一套完整的嵌入式系统;上位机与下位机之间的数据传输通过总线通信的方式实现,并且需要遵守相关的通信协议。
进一步地,所述标定数据模块包含ECU运行所需的相关参数,标定数据模块需要被应用程序调用。
进一步地,所述上位机包含以下几项基本功能:权限管理功能,文件转换功能,读取、发送及接收数据,更新进度显示。
进一步地,所述下位机包含以下几项基本功能:接收、校核及发送数据,在程序存储空间的不同位置刷入数据,基于硬件RTSP特性的在线自编程功能,基于硬件双中断向量表的程序实现。
进一步地,所述基于硬件RTSP特性的在线自编程功能是指在下位机处理器支持RTSP特性的前提下,利用该特性下位机程序在运行过程中将接收到的数据直接写入处理器的程序存储空间中。
进一步地,所述基于硬件双中断向量表的程序实现是指在下位机处理器支持双中断向量表特性的前提下,在实际开发中利用该特性令下位机在执行更新过程中和执行应用程序过程中分别采用不同的中断向量表,以分别执行各自相应的中断服务子程序,使得下位机在执行这两段程序时相互不干扰。
本发明所述的基于器件运行自编程和双中断向量表的ECU程序与数据升级方法相比于传统的ECU更新方式具有以下优势:
1.基于硬件RTSP的在线自编程功能。这种方式可以通过处理器闪存内部的程序来对闪存内部进行擦除以及刷写,使得引导更新程序可以在脱离专用下载器来对芯片内部程序存储空间进行编程,大大降低了增程器后期维护和程序更新的操作难度,提高了维护效率;在ECU大规模量产过程中,可以实现ECU 应用程序大规模快速刷写,提高了生产效率。
2.基于双中断向量表的引导更新程序实现。本发明在保证应用程序使用的中断向量表不变的情况下,采用备用中断向量表为引导更新程序提供支持,这样的设计一方面减少了程序的复杂度,另一方面在程序运行过程中,只需要对相关寄存器进行操作即可完成中断向量表的切换,程序运行更加高效有序。
3.数据及程序模块独立更新。本发明将更新内容分为标定数据模块和应用程序模块两个部分,这样的区分可以实现数据和程序的分别更新,更为合理,在后期维护中也更有效率。
4.在自编程程序中加入了权限管理功能。只有在指定的上位机(PC机)才可以实现程序及数据模块的更新,避免下位机的程序存储空间被任意更改。
附图说明
图1为本发明方法实现的整体框架;
图2为上位机程序框架结构;
图3为下位机程序框架结构。
具体实施方式
以下结合图1中所示的本发明的整体框架,图2中所示的上位机程序框架以及图3中所示的下位机程序框架,对本发明方法的具体实现步骤作进一步详细说明。
本发明方法可以在控制器应用程序运行前,实现两个基本功能:启动引导功能以及程序和数据的独立更新功能,使得ECU应用程序既能正常运行,又能在必要时进行程序和数据的独立在线更新,摆脱了利用芯片专用下载器通过调试接口的传统烧写方式带来的弊端,提高了ECU的维护效率和整个生产过程的生产效率。
本发明方法涉及到了发送控制指令和传输指令的上位机,以及直接控制设备并接收上位机指令和数据的下位机。在该方法中,任意汽车电子控制器上位机与下位机之间的数据传输通过总线通信的方式实现,并且需要遵守相关的通信协议,如图1所示。
本发明方法中涉及到的通信协议指明了上下位机数据传输的格式,下位机会根据该格式对接收到的数据进行校核。在本发明中通信协议还将传输的数据内容分为了数据帧和控制帧两类,数据帧中的有效数据即为需要写入下位机闪存空间的数据,控制帧用来传输上位机对下位机的控制指令或者下位机向上位机发送的反馈指令。通信协议中的详细内容可以根据具体的通信方式进行自行拟定。
本发明所述的启动引导功能具体为:在程序存储空间(Program Memory) 中设置更新标志位,下位机根据更新标志位选择进入程序和数据的独立更新过程,或进入应用程序。本发明中的程序存储器主要指代闪存程序存储器(Flash Memory),该类型存储器可以用编程器快速整体擦除和逐个字节写入,符合本发明的适用条件。
本发明所述的程序和数据的独立更新功能具体为:将所要更新的内容分为应用程序和标定数据两大主要模块,其中应用程序模块主要是指ECU应用程序;标定数据模块主要指ECU相关的标定数据,由使用者预先存储在单片机程序存储空间里,当应用程序运行时,应用程序会从程序存储空间中读取出相关的标定数据,参与程序的运行和计算。标定数据主要由ECU运行所需的相关参数组成,以发动机ECU为例,相关参数包括发动机额定功率、温度范围、转速限制等。标定数据需要被ECU应用程序调用。
本发明所述的上位机包含以下几项基本功能:权限管理功能,文件转换功能,读取、发送及接收数据,更新进度显示。权限管理功能是指上位机程序会根据上位机的硬件信息来校核该上位机是否具有刷写指定下位机闪存空间的权限。文件转换功能是指上位机程序会将ECU应用程序模块和标定数据模块的目标文件转换成可直接读取的二进制文件。读取、发送及接收数据的功能是指上位机会根据通信协议从得到的二进制文件中读取数据并打包处理再通过总线通信的方式发送给下位机,同时上位机需要接收来自下位机发来的数据校核结果,并根据此结果向下位机发送相应的控制指令。更新进度显示功能是指上位机会根据发送的数据量来显示当前更新进度的百分比。上位机程序框架如图2所示。
本发明所述的下位机包含以下几项基本功能:接收、校核及发送数据;在闪存空间的不同位置刷入数据;基于硬件RTSP的在线自编程功能;基于硬件双中断向量表的程序实现。接收、校核及发送数据是指下位机会通过总线通信的方式接收上位机发送来的数据,并根据通信协议对数据进行校核,同时将校核结果通过反馈指令的形式发送给上位机。在闪存空间的不同位置刷入数据是为了对ECU应用程序模块以及标定数据模块在下位机闪存中占用的空间进行区分,在刷写正式开始前下位机会根据上位机刷写对象指令来确定刷写开始的地址。基于硬件RTSP特性的在线自编程功能是指在下位机处理器支持RTSP (Run-TimeSelf-Programming)特性的前提下,利用该特性下位机程序在运行过程中将接收到的数据直接写入处理器的程序存储空间中。基于硬件双中断向量表的程序实现是指在下位机处理器支持双中断向量表特性的前提下,在实际开发中利用该特性可以令下位机在执行更新过程中和执行应用程序过程中分别采用不同的中断向量表,以分别执行各自相应的中断服务子程序,使得下位机在执行这两段程序时相互不干扰。
本发明中下位机的动作完全由上位机所控制,以下阐述完整的ECU程序与数据升级过程:
在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机程序或者标定数据的更新;所述权限校核具体为:通过加密算法将随机数与指定硬件信息相结合来完成对程序或标定数据更新功能的锁定与解锁,以避免下位机程序存储空间被随意更改。
在权限校核通过的情况下,上位机执行更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的程序文件*.hex以及标定数据文件 *.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数据根据通信协议的格式进行处理打包,以数据帧的形式向下位机发送。
下位机在接收到上位机指令实现复位或者每次上电之后,首先进行初始化,然后执行引导程序检验程序存储空间中的更新标志位,判断是否进入更新程序,若无需进入则直接转入应用程序首地址开始执行应用程序;相反,则开始以下的应用程序和标定数据的独立更新过程。
在接收到上位机发送来的数据之后,下位机首先判断该帧数据是数据帧还是控制帧;若为控制帧,则根据控制帧的内容,进行相关控制操作,如刷写初始地址设置,复位,结束刷写等;若为数据帧,则根据通信协议对数据进行校核,并将校核结果向上位机反馈,若校核出错,则根据出错类型,命令上位机重发该帧数据或者直接中断传输。以下为一个具体实例:若帧序号与上一帧相同或者帧尾算术校验和不正确,下位机将会要求上位机重新发送该帧,若帧序号本身内容或格式不正确则下位机会向上位机发送传输出错信号,要求停止传输。
若数据帧通过校核,则进入刷写流程;由于是标定数据模块和应用程序模块独立刷写,根据更新内容可以将程序存储空间分为以下四个部分:第一部分为“GOTO指令”、“复位地址”、主中断向量表和备用中断向量表;第二部分为Bootloader程序,无需经常更新;第三部分为用户写入的标定数据模块,包含 ECU相关的标定数据;第四部分为应用程序模块,包含ECU应用程序,即程序模块和标定数据模块在程序存储空间中刷写的目标地址是不同的。
根据以上的空间划分,程序存储空间中第一部分和第二部分是不可更改的;但在应用程序模块刷写时,由于从上位机接收到的应用程序模块的二进制数据包含着整个芯片内部闪存空间的映射,所以这就需要在刷写应用程序模块时对每一帧数据的刷写位置进行限定;本发明根据帧序号来进行刷写位置判断,当写入位置为“GOTO指令”、“复位地址”和两个中断向量表时,程序会读取该位置现有的数据,来替换上位机发送来的数据帧中的相应数据,保证该位置的数据不会被修改;当写到第二部分Bootloader程序时,下位机将得到的数据全部遗弃,但写入位置会不断累加,即此时的数据帧将不被写入程序存储空间。
在标定数据模块刷写时,由于标定数据模块的二进制数据帧中只包含有效的数据信息,所以无需进行上述操作,直接按顺序将标定数据写入相应程序存储空间地址即可。
上位机在读取完二进制*.bin文件所有数据之后,若最后一帧不完整,则用 0xFF补足;同样,数据数量不足硬件单次刷写要求数量的均用0xFF补足;同时,上位机向下位机发送结束刷写指令;下位机接收该指令后,先将程序存储空间的更新标志位置为无需更新状态,然后重新进入引导程序的主循环,等待下一次刷写或者复位进入应用程序。
在整个刷写过程中上位机还会显示刷写进度;上位机会首先根据二进制 *.bin文件中的数据量计算一共需要刷写的数据帧数,然后根据每一帧的帧序号计算传输过程的完成度即传输进度,并进行显示。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (10)

1.一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,该方法包括以下步骤:
(1)在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机应用程序或者标定数据的更新;
(2)在权限校核通过的情况下,上位机执行引导更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的应用程序文件*.hex以及标定数据文件*.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数据根据通信协议的格式进行处理打包,以数据帧的形式向下位机发送;
(3)下位机在接收到上位机指令实现复位或者每次上电之后,首先进行初始化,然后执行引导程序检验程序存储空间中的更新标志位,判断是否进入更新程序,若无需进入则直接转入应用程序首地址开始执行应用程序;相反,则执行步骤(4)开始程序和标定数据的独立更新过程;
(4)在接收到上位机发送来的数据之后,下位机首先判断该帧数据是数据帧还是控制帧;若为控制帧,则根据控制帧的内容,进行相关控制操作;若为数据帧,则根据通信协议对数据进行校核,并将校核结果向上位机反馈,若校核出错,则根据出错类型,命令上位机重发该帧数据或者直接中断传输;若数据帧通过校核,则执行步骤(5)进入标定数据模块和应用程序模块的独立刷写流程;
(5)根据更新内容将程序存储空间分为以下四个部分:第一部分为“GOTO指令”、“复位地址”、主中断向量表和备用中断向量表;第二部分为Bootloader程序,无需经常更新;第三部分为用户写入的标定数据模块;第四部分为应用程序模块,包含ECU应用程序;应用程序模块和标定数据模块在程序存储空间中刷写的目标地址不同;
在应用程序模块刷写时,由于从上位机接收到的应用程序模块的二进制数据包含着整个芯片内部闪存空间的映射,需要在刷写应用程序模块时对每一帧数据的刷写位置进行限定;
在标定数据模块刷写时,由于标定数据模块的二进制数据帧中只包含有效的数据信息,直接按顺序将标定数据刷入相应程序存储空间地址即可;
上位机在读取完二进制*.bin文件所有数据之后,若最后一帧不完整,则用0xFF补足;同样,数据数量不足硬件单次刷写要求数量的均用0xFF补足;同时,上位机向下位机发送结束刷写指令;下位机接收该指令后,先将程序存储空间的更新标志位置为无需更新状态,然后重新进入引导程序的主循环,等待下一次刷写或者复位进入应用程序。
2.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述步骤(1)中,所述权限校核具体为:通过加密算法将随机数与指定硬件信息相结合来完成对应用程序或标定数据更新功能的锁定与解锁,以避免下位机程序存储空间被随意更改。
3.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述步骤(5)中,在刷写应用程序模块时对每一帧数据的刷写位置进行限定,具体为:根据数据帧序号来进行刷写位置判断,当写入位置为“GOTO指令”、“复位地址”和两个中断向量表时,程序会读取该位置现有的数据,来替换上位机发送来的数据帧中的相应数据,保证该位置的数据不会被修改;当写到第二部分Bootloader程序时,下位机将得到的数据全部遗弃,但写入位置会不断累加,即此时的数据帧将不被写入程序存储空间。
4.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述步骤(5)中,在整个刷写过程中上位机还会显示刷写进度;上位机会首先根据二进制*.bin文件中的数据量计算一共需要刷写的数据帧数,然后根据每一帧的帧序号计算传输过程的完成度即传输进度,并进行显示。
5.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述上位机是计算机(PC),所述下位机是任意汽车电子控制器(ECU),即一套完整的嵌入式系统;上位机与下位机之间的数据传输通过总线通信的方式实现,并且需要遵守相关的通信协议。
6.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述标定数据模块包含ECU运行所需的相关参数,标定数据模块需要被应用程序调用。
7.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述上位机包含以下几项基本功能:权限管理功能,文件转换功能,读取、发送及接收数据,更新进度显示。
8.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述下位机包含以下几项基本功能:接收、校核及发送数据,在程序存储空间的不同位置写入数据,基于硬件RTSP特性的在线自编程功能,基于硬件双中断向量表的程序实现。
9.根据权利要求8所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述基于硬件RTSP特性的在线自编程功能是指在下位机处理器支持RTSP特性的前提下,利用该特性下位机程序在运行过程中将接收到的数据直接写入处理器的程序存储空间中。
10.根据权利要求8所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述基于硬件双中断向量表的程序实现是指在下位机处理器支持双中断向量表特性的前提下,在实际开发中利用该特性令下位机在执行更新过程中和执行应用程序过程中分别采用不同的中断向量表,以分别执行各自相应的中断服务子程序,使得下位机在执行这两段程序时相互不干扰。
CN201811109375.6A 2018-09-21 2018-09-21 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 Active CN109522033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811109375.6A CN109522033B (zh) 2018-09-21 2018-09-21 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811109375.6A CN109522033B (zh) 2018-09-21 2018-09-21 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法

Publications (2)

Publication Number Publication Date
CN109522033A CN109522033A (zh) 2019-03-26
CN109522033B true CN109522033B (zh) 2020-08-11

Family

ID=65769853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811109375.6A Active CN109522033B (zh) 2018-09-21 2018-09-21 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法

Country Status (1)

Country Link
CN (1) CN109522033B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221851A (zh) * 2019-05-06 2019-09-10 万向钱潮股份有限公司 一种电子驻车系统程序升级方法
CN110362299B (zh) * 2019-06-14 2020-06-26 杭州古德微机器人有限公司 一种基于blockly和树莓派的在线图形化编程系统及其使用方法
CN111008010A (zh) * 2019-11-14 2020-04-14 天津航空机电有限公司 一种基于rs485总线的单片机应用软件在线编程方法及装置
CN111104143B (zh) * 2019-12-26 2021-08-31 北谷电子有限公司上海分公司 一种固件升级方法及升级装置
CN112000083A (zh) * 2020-09-01 2020-11-27 深圳市元征科技股份有限公司 Ecu数据刷写方法、刷写装置、刷写设备及存储介质
CN113010191A (zh) * 2021-03-31 2021-06-22 东风商用车有限公司 一种集成式车辆ecu刷写方法及系统
CN115277413B (zh) * 2022-07-07 2023-05-09 重庆长安汽车股份有限公司 车辆控制器的升级方法、装置、车辆及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093244B2 (en) * 2001-04-18 2006-08-15 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
CN102855151B (zh) * 2012-08-21 2016-06-08 武汉电信器件有限公司 不打断业务的光模块固件在应用升级方法

Also Published As

Publication number Publication date
CN109522033A (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN109522033B (zh) 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法
US7334117B2 (en) Device boot loader for processing one or more requests from a host computer system concurrently with loading or updating the firmware of the device
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
US7050859B1 (en) Systems and methods to port controller state and context in an open operating system
CN100383737C (zh) 单片机在线加载升级方法及系统
CN110134415A (zh) 一种控制器及其软件升级方法和装置
CN106648803A (zh) 一种dsp芯片在线升级方法
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN110663006B (zh) 对可编程逻辑控制器执行故障转移并控制物理系统的方法
CN105930186B (zh) 多cpu的软件加载方法及基于多cpu的软件加载装置
CN106293807A (zh) 一种基于DSP的Flash芯片引导加载方法
CN111267111B (zh) 一种机器人控制方法、装置及系统
WO2017151588A2 (en) A system and method for programming data transfer within a microcontroller
CN114138360B (zh) DSP在Flash上的多核烧写启动方法及系统
CN103793263A (zh) 一种基于PowerPC处理器的DMA事务级建模方法
CN106201649B (zh) 用于光模块监控的虚拟机
US5898859A (en) Address shadow feature and methods of using the same
CN103026339A (zh) 对微控制器中的软件参数重新配置的方法以及微控制器和控制设备
CN100452008C (zh) 只读存储器转接装置
Zhang et al. Design and implementation of remote upgrade system for vehicle terminal based on GPRS
CN110442074B (zh) 可编程逻辑控制器程序的处理装置
CN100492299C (zh) 一种嵌入式软件开发的方法及系统
CN106445574A (zh) 一种用于实现dsp系统在线编程方法
CN112802527B (zh) 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统
CN112764379B (zh) 一种基于dsp系统的iap控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Wu Feng

Inventor after: Lv Chenglei

Inventor after: Yao Dongwei

Inventor after: Li Zesong

Inventor after: Hou Jue

Inventor after: Jin Yilei

Inventor before: Yao Dongwei

Inventor before: Wu Feng

Inventor before: Lv Chenglei

Inventor before: Li Zesong

Inventor before: Hou Jue

Inventor before: Jin Yilei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant