CN107539239B - 用于汽车电子控制单元中启动汽车电子部件的方法和系统 - Google Patents
用于汽车电子控制单元中启动汽车电子部件的方法和系统 Download PDFInfo
- Publication number
- CN107539239B CN107539239B CN201710010605.2A CN201710010605A CN107539239B CN 107539239 B CN107539239 B CN 107539239B CN 201710010605 A CN201710010605 A CN 201710010605A CN 107539239 B CN107539239 B CN 107539239B
- Authority
- CN
- China
- Prior art keywords
- osek
- stack
- ecu
- boot
- processor
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明针对车辆通信的早期可用性方面,公开一种用于汽车电子控制单元中启动汽车电子的方法和系统。所述方法包括在电子控制单元(ECU)的各个启动阶段中,都实现基于汽车电子开放式系统及其接口(OSEK)的控制器局域网络(CAN)堆栈,其中,所述CAN堆栈存储在所述ECU的映射存储区域中。所述方法包括创建存储信息的数据结构,所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构存储在所述映射存储区域中。所述数据结构中存储的信息用于执行所述基于OSEK的CAN堆栈的一个或多个指令,在所述ECU中启动汽车电子,其中,所述一个或多个指令持续执行于所述ECU的各个启动阶段。
Description
技术领域
本发明总体涉及汽车,尤其涉及但不限于一种用于汽车电子控制单元(ECU)中启动汽车电子的方法和系统。
背景技术
汽车电子是汽车中使用的电产生系统。首个汽车电子部件被用以控制所述汽车的发动机功能,且称作电子控制单元(ECU)。随着汽车电子控制被用于越来越多的汽车应用中,汽车中使用的ECU的数量也开始增加。一些在汽车中使用的ECU的应用包括变速器控制系统、底盘控制系统、主动安全系统、驾驶员辅助系统、信息娱乐系统和乘客舒适性系统。实际上,比起汽车的实际功能,很多现在的汽车购买者则更加关注汽车中的嵌入式汽车电子。
另一方面,由于发动机本身是汽车更新非常快而复杂的部分,所以汽车的汽车电子需要一个实时期限。起初,汽车电子系统是简易的嵌入式系统。但在最近几年内,该系统的复杂性已经增加,使得需要使用带有高级操作系统(OS,如QNX、Linux、Win CE等)的复杂系统。但是由于这附加的复杂性,使得汽车电子的启动过程有时变得更慢。这反过来又会延迟与汽车中的汽车电子有关的关键功能性运作过程。
已有的汽车组件利用标准汽车总线(称为控制器局域网络(CAN)总线),使得在使用各种汽车电子的过程中,汽车中各种ECU和硬件部件能够互相连通。然而,由于启动过程的延迟,基于CAN的应用要在CAN总线开始运作很长时间之后,才能开始运作。在CAN总线中,启动过程中的这种延迟将引发通信的延迟。一般地,CAN总线的可行期望值为100毫秒到300毫秒。然而,高级OS只需花费几秒便可启动且使CAN网络可用。因此,需要一种方法和系统,该方法和系统在ECU操作系统完成启动之前,能提前使CAN总线可用且能减少所花费的时间。
在汽车中,汽车电子的启动主要面临的挑战包括,在汽车ECU汽车电子启动过程中,实现操作系统与ECU应用的同步启动。
发明内容
本发明公开一种用于汽车电子控制单元(ECU)中启动汽车电子的方法和系统。汽车中,启动过程的各个阶段都利用存储在汽车ECU的映射存储区域的可执行映像。存储在ECU的映射存储区域中的信息用于在ECU中启动汽车电子,从而使持续于各个启动阶段中的启动过程得到加速。
相应地,本发明涉及一种用于汽车ECU中启动汽车电子的方法。所述方法包括通过电子系统,在所述ECU的各个启动阶段中,都实现基于汽车电子开放式系统及其接口(OSEK)的控制器局域网络(CAN)堆栈,其中,所述基于OSEK的CAN堆栈存储在ECU的映射存储区域中。所述方法进一步包括创建存储信息的数据结构,所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构存储在所述ECU的所述映射存储区域中。一旦完成创建所述数据结构,所述数据结构中存储的信息用于执行所述基于OSEK的CAN堆栈的一个或多个指令,用于在所述ECU中启动汽车电子,其中,所述一个或多个指令持续执行于所述ECU的各个启动阶段,从而完成对所述ECU中汽车电子的启动。
进一步地,本发明涉及一种用于汽车电子控制单元(ECU)中启动汽车电子的电子系统。所述电子系统包括处理器和以通信方式联接至所述处理器的存储器,其中,所述存储器存储处理器可执行指令,所述处理器可执行指令在执行时,触发所述处理器执行所述电子系统的一个或多个功能。起初,所述电子系统在所述ECU的各个启动阶段中,都实现基于汽车电子开放式系统及其接口(OSEK)的控制器局域网络(CAN)堆栈,其中,所述基于OSEK的CAN堆栈存储在ECU的映射存储区域中。进一步地,所述电子系统创建存储信息的数据结构,所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构存储在所述ECU的所述映射存储区域中。最后,所述电子系统根据存储在所述数据结构中的信息,所述基于OSEK的CAN堆栈的一个或多个指令被作为所述ECU中所述汽车电子的一部分启动进程执行,其中,所述一个或多个指令持续执行于所述ECU的各个启动阶段,从而在所述ECU中完成所述汽车电子的启动。
上述发明内容只是示例性,而并不旨在以任何方式作出限制。除了上述示例性的方面、实施例和特征,进一步地方面、实施例和特征可通过对附图和以下详细说明的参考,将会变得更加明白。
附图说明
以下附图将并入本发明并构成本发明的一部分,并与说明书结合图解例示性实施例,用于解释本发明公开的原理。在附图中,附图标记的最左侧数字表示所述附图标记第一次出现的附图。整个附图使用的相同的数字指示类似的特征和部件。现在将只以示例的方式,对根据本发明主题的实施例所述的一些系统实施例和/或方法进行说明,参考附图,其中:
图1A展示了根据本发明公开的一些实施例,说明一种用于汽车ECU中启动汽车电子的方法的例示性环境;
图1B展示了根据本发明公开的一些实施例的接口函数指针表的结构;
图2A和2B展示了根据本发明公开的一些实施例,在ECU中开始执行启动过程时出现的事件的时间线;
图2C展示了根据本发明公开的一些实施例,ECU的映射存储区域的示例;
图3展示了根据本发明公开的某些实施例,说明基于OSEK的CAN堆栈的各执行阶段的方框图;
图4展示了根据本发明公开的一些实施例,说明一种用于汽车ECU中启动汽车电子的方法的流程图;
图5显示了用于实施符合本发明公开实施例的例示性计算机系统的方框图。
本领域技术人员应该了解,本发明任何方框图都表示包含本发明主题原理的说明性系统的概念视图。类似地,应该了解,任何流程图、流程表、状态变换图、伪代码和类似的各种代表性过程,在无论是否详细示出计算机或处理器的情况下,都可以基本上在计算机可读介质中表现出来,且可以通过所述计算机或处理器执行。
附图标记:
具体实施方式
本发明使用的词语“例示性”是指“作为示例、例子或说明”。本发明的任何“例示性”实施例或实施方式不应解释为比其他实施例更具优选性或更具优势。
虽然本发明易于进行各种修改和采取各种可选形式,但其具体实施例已经通过附图中示例的方式展示出了,且将在下面进行详细说明。然而,应该知道,其并不旨在将本发明限制为所公开的特定形式,相反的是,在不脱离所公开实施方式的精神和范围的前提下,还可进行修改、等同以及做出其他实施方式。
术语“包括”、“包含”或任意其他变化旨在覆盖非排他性包括,比如包含一组元件或步骤但不仅仅包含这些元件或步骤的设置、设备或方法,且可包括未明确列出或固有的设置、设备或方法的其它要素。换句话说,系统或装置中通过“包括...”形式出现的一个或多个元素,在没有更多的限制性因素的情况下,不会防止系统或方法中出现其他元素或额外的元素。
本发明涉及一种用于汽车电子控制单元(ECU)中启动汽车电子的系统和方法。本发明提出一种用于提升汽车中启动速度的方案。本发明涉及一种在汽车ECU内的操作系统(OS)通过OS启动和执行阶段来开始执行和继续CAN堆栈执行操作之前,一次性启动基于汽车电子开放式系统及其接口(OSEK)的控制器局域网络(CAN)堆栈的方法。由于OS从硬件级别到其本身应用进程中参考映射存储区域,且继续执行一个或多个操作,所以对基于OSEK的CAN堆栈的一次性启动加强了OS级别和应用级别上的启动过程,因此减少了执行启动操作所需的时间。进一步地,本发明公开了在OS之前使基于OSEK的CAN堆栈可用的方法,用于实现快速CAN网络可用性。由于CAN网络堆栈一直存在闪存的一个位置中,所以还避免了CAN网络堆栈码的重复。随后,将在低占用率OSEK支持的OS中运行CAN网络堆栈和相关的应用,一旦高级主OS完成启动时,这种运行将作为进程运行,从而使启动过程和OS的启动同时进行。
在下面将要说明的本发明的实施例中,将参考形成其一部分的附图,且通过本发明可以实践的示例具体实施例的方式来示出。这些实施例的说明足够详细,使得本领域技术人员可实践本公开,应该知道,可以使用其他实施例,且可以在不偏离本发明公开的范围的情况下,作出修改。因此,下面的说明并不作为限制性的说明。
图1A展示了根据本发明公开的一些实施例,说明一种用于汽车ECU中启动汽车电子的方法的例示性环境。
汽车的ECU101负责控制汽车内的一个或多个嵌入式电气系统或子系统。ECU101的重要元素之一是操作系统111,比如QNX实时操作系统(RTOS),其管理和执行ECU101的应用11121到应用n 112n(统一称作应用112)中的一个或多个应用。通过ECU101的操作系统111执行的ECU101的一个或多个应用可以包括,但不限于,发动机控制应用、速度控制应用、变速器控制应用、蓄电池管理应用和用于管理人机接口的应用。
在一个实施例中,类似于任何计算机化系统,汽车中的ECU101应该在汽车中的一个或多个电气系统和子系统可被使用之前进行启动。ECU101的启动过程可以分为一个或多个启动阶段201,也就是,启动加载阶段201a、预启动阶段201b和后启动阶段201c。然而,通常情况下,只有在完成启动过程之后,也就是,只有在完成预启动阶段201b之后,才可以执行ECU101的操作系统111和一个或多个应用112。因此,由于初始化所需的一个或多个应用(包括CAN堆栈117和从属应用)和/或启动汽车电子123所需的一个或多个应用只有在启动过程完成后才可以在ECU101中执行,所以这些汽车电子123的初始化将会出现延迟。本发明通过在ECU101的映射存储区域113中引入可早期执行的基于OSEK的CAN堆栈117(也称作CAN堆栈117),从而消除了ECU101中汽车电子123的CAN网络通信功能的延迟。电子系统102执行映射存储区域113中存储的一个或多个指令,以实现ECU101的快速CAN网络通信功能。
在一个实施例中,可以在汽车的ECU101中使用电子系统102,以对操作系统111进行初始化和执行ECU101的一个或多个应用112。电子系统102包括I/O接口103、存储单元105和处理器107。I/O接口103可以用于与汽车的ECU101交换一个或多个数据和/或指令。电子系统102的存储单元105可以以通信方式联接至电子系统102的处理器107。存储单元105存储一个或多个数据和/或由处理器107执行的处理器可执行指令。处理器107执行存储在存储单元105中的一个或多个指令,从而执行用于在ECU101中快速启动汽车电子123所需的一个或多个操作。
在一个实施例中,电子系统102可以设置为实现ECU101的各个启动阶段201中存储在映射存储区域113中的CAN堆栈117,用于为基于OSEK的CAN堆栈121提供运行环境,以执行ECU101各个启动阶段201。OSEK是低占用率操作系统,其可以运行CAN堆栈117并为ECU101的各种操作提供标准化软件体系结构,还可为汽车中的ECU101指定所使用的标准运行接口。
CAN堆栈117使用ECU101中分配的CAN总线122,管理一个或多个应用112与ECU101中的汽车电子123之间的通信。CAN总线122是基于消息的协议,其设计用于通过连接至两个或多个ECU的网关,在汽车中将数据在相同和不同的网络中的ECU之间进行传递。CAN堆栈117可以在通过CAN总线122对ECU101中一个或多个应用112进行执行的过程中,使得ECU101和汽车电子123互相进行通信。作为示例,CAN总线122可以用于为汽车的底盘和动力传动系统ECU101之间提供网络连接,以管理发动机和控制变速器。一般地,CAN堆栈117还可以用作连接人体与舒适电子的网络。这里,CAN堆栈117用作ECU101的一个或多个应用112和CAN总线122中其他ECU之间的接口。在一个实施例中,如图1A所示,可以将OSEK OS 115和CAN堆栈117放置在ECU101的映射存储区域113中。映射存储地址范围可以随着ECU101在持续的各个启动阶段中的进行而变化。随后,将在OSEK OS 115中运行CAN堆栈117和一个或多个相关的应用112,从而,提前提供CAN网络功能,同时在启动加载阶段201a的过程中启动操作系统111。
在一个实施例中,与基于OSEK的CAN堆栈121的运行环境相关的信息可以存储执行时间数据(比如消息缓存),以作为ECU101的映射存储区域113中的数据结构119。存储在数据结构119中的信息可以包括,但不限于,运行信息、状态信息、消息缓存和基于OSEK的CAN堆栈121的运行环境的诊断会话状态。ECU101可以使用存储在数据结构119中的信息,用作应用程序功能,该应用程序功能被用来提供给汽车中的汽车电子123。本发明下面列出了存储在数据结构119中的一个或多个运行数据的例示性代表。
1.OSEK OS115的运行数据:
OSEK_运行OsekOS_运行数据;
2.CAN堆栈117消息缓存的运行数据:
CAN_MSG消息_缓存[支持的MSG的数量];
3.CAN应用的运行数据:
CAN_SM CAN_应用运行数据;
4.ECU101的各种应用112的运行数据:
按键应用按键运行数据;
燃料应用燃料运行数据;
传感器应用传感器运行数据;
在一个实施例中,与基于OSEK的CAN堆栈121的运行环境相关的信息可以以数据结构119内的接口函数指针表125的形式存储。图1B展示了根据本发明的某些实施例的接口函数指针表125的结构。接口函数指针表125包括在持续的各个启动阶段201中都执行OSEK OS115的一个或多个操作所需的子程序指针。在一个实施例中,多个接口函数指针表125可以存储在数据结构119中,其中,多个接口函数指针表125中的每个都对应由ECU101执行的不同的应用112。在另一实施例中,接口函数指针表125可以存储在电子系统102的存储单元105中。
在一个实施例中,接口函数指针表125可以包括用于连接ECU101(设备接口)和汽车电子123接口函数的不同子程序指针。上述接口函数指针表125中子程序指针的实施,随着其在持续的各个启动阶段201中的进行而发生变化。因此,每个子程序指针都在各自启动阶段201的OSEK运行中实施。子程序指针的另一方面是,由这些指针标明的子程序本质上是无状态的。这使得不需在运行中携带任何运行数据,即可交换基于OSEK的CAN堆栈121的运行环境中的子程序。
作为示例,假设接口函数指针表125包括三个子程序指针,即‘设定时间基准’、‘设定域’和‘读取域’。每个存储在接口函数指针表125中的子程序指针都指向ECU101中的存储位置,其中,所述存储位置存储了对应于调用子程序指针的一个或多个指令。基于OSEK的CAN堆栈120的运行接口在实现ECU101中基于OSEK的CAN堆栈121的运行环境的过程中,调用接口函数指针表125中的一个或多个子程序指针。
表A
表A展示了接口函数指针表125的子程序指针,和在ECU101内存储位置中指向所对应的子程序的存储地址。如表所示,由于各个启动阶段201的OSEK运行的变化,所以接口函数指针表125中的每个子程序指针都在各个启动阶段201指向了不同的存储位置。可以依据基于OSEK的CAN堆栈121的运行环境的本质和所执行的应用112,在OSEK运行的运行过程中,而不是在编译时间过程中,动态地确定每个子程序的存储位置。在一个实施例中,与在单个存储位置中存储完整接口函数指针表125相反的是,对应于一个启动阶段201的OSEK运行将存储唯一一份接口函数指针表125。
在一个实施例中,在完成各个启动阶段201的执行时,根据存储在数据结构119中的信息,更新CAN堆栈117的接口函数指针表125。作为示例,可以使用执行ECU101的一个或多个应用112所需的一个或多个应用程序接口(API),在基于OSEK的CAN堆栈121的整个运行环境中,更新接口函数指针表125。
图2A和2B展示了根据本发明公开的一些实施例,在ECU中开始执行启动过程时出现的事件的时间线。在一个实施例中,在图2A和2B中以202指示的X轴表示各个启动阶段201的执行时间。类似地,在图2A和2B中以200指示的Y轴表示启动阶段201的各个启动阶段。
在通常情况下,如图2A所示,启动过程的启动以启动加载阶段201a的启动作为开始。在启动加载阶段201a的过程中,称为“启动加载”的一段代码运行在ECU101的操作系统111启动之前。在一个实施例中,启动加载可专门用于ECU101中所使用的操作系统111,且用于启动操作系统111和一个或多个应用112。预启动阶段201b开始于启动加载阶段201a完成时。预启动阶段201b用作为ECU101的操作系统111的加载阶段,且来自于ROM存储器。在后启动阶段201c的过程中,ECU101的操作系统111被启动并与一个或多个应用112一起开始运作,所述一个或多个应用需要用来运行汽车中的汽车电子123。此处,如图2A所示,明显的是,ECU101的操作系统111和一个或多个应用112只在ECU101的后启动阶段201c中被启动,因此,无论何时在汽车中发出使用ECU101的一个应用112的请求时,都会产生服务的延迟。
然而,如图2B所述,在ECU101的各个启动阶段201中实现CAN堆栈117,将通过在启动加载阶段201a的早期阶段引入基于OSEK的CAN堆栈121的功能、运行环境,并通过在持续的各个其他启动阶段201中继续提供相同的应用环境,使上述延迟得到消除。此处,ECU101的操作系统111和一个或多个应用112得到启动,并通过基于OSEK的CAN堆栈121的运行环境,运行于启动加载阶段201a的早期阶段。
图2C标明ECU101的映射存储区域113的存储器映射205。在启动加载阶段201a的过程中,启动加载器205a在启动内核加载器304、内核306、ECU101的操作系统111和一个或多个应用112之前,启动CAN堆栈117。在完成预启动阶段201b时,在一个实施例中,基于OSEK的CAN堆栈121的运行环境的单个副本保持在ECU101的映射存储区域113中,各个启动阶段201都利用由基于OSEK的CAN堆栈121的运行环境提供的相同组数的功能和系统接口。
图3展示了根据本发明的某些实施例,说明基于OSEK的CAN堆栈的各种执行阶段的方框图。
在一个实施例中,在各个启动阶段201的过程中,ECU101可运行基于OSEK的CAN堆栈121的单个运行环境,所述运行环境可提供各种接口,包括,CAN驱动程序、通用输入/输出(GPIO)接口、模数(A/D)驱动程序和计时器。由于CAN堆栈117的一个或多个功能随着ECU101的各个启动阶段201不断变化,所以基于OSEK的CAN堆栈121的运行环境会对应各个启动阶段201而变化。然而,每个基于OSEK的CAN堆栈121的运行环境都在持续的各个启动阶段201中,继续提供精确地同一组系统接口。此处,如图3所示,序列301标明ECU101的启动加载阶段201a,其中,运行A型OSEK运行121a,以在启动加载阶段201a支持OSEK OS 115和CAN堆栈117。在序列303处,运行B型OSEK运行121b,以支持OSEK OS 115和CAN堆栈117,同时启动ECU101的内核加载器304和内核306。类似地,在序列305处,运行C型OSEK运行121c,以支持OSEK OS 115和CAN堆栈117,其中,所述C型OSEK运行为CAN堆栈117提供平台,以使其与ECU101的一个或多个应用112进行接口。虽然各个启动阶段201使用的OSEK运行不同,但是仅通过变动每个OSEK运行中功能实现的方式(即,A、B和C型),使得每个OSEK运行持续提供执行各个启动阶段201所需的相同组数系统接口。在一个实施例中,每个OSEK运行的示例都存储在启动阶段201的各自启动镜像的闪存中。
图4展示了根据本发明的一些实施例,说明一种用于汽车ECU101中启动汽车电子的方法的流程图。
如图4所示,方法400包括使用电子系统102来启动汽车ECU101中汽车电子123的一个或多个方框。可以在计算机可执行指令的一般背景下对方法400进行说明。一般来说,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的路径、程序、对象、组件、数据结构、规程、模块和函数。
所述方法400的描述顺序并不能理解为一个限制,且可以以任何顺序结合任何数量的所述方法方框,以实现所述方法。另外,可以在不偏离本发明所述主题的精神和范围的情况下,从所述方法中删除个别方框。此外,可以在任何合适的硬件、软件、固件或其组合中实施所述方法。
在方框401处,电子系统102在所述ECU101的各个启动阶段201中,都实现基于汽车电子开放式系统及其接口(OSEK)的控制器局域网络(CAN)堆栈,其中,所述CAN堆栈117存储在所述ECU101的映射存储区域113中。在一个实施例中,OSEK OS 115用于执行ECU101的CAN堆栈117和一个或多个应用112。各个所述启动阶段201包括启动加载阶段201a、预启动阶段201b和后启动阶段201c。在一个实施例中,各个所述启动阶段201中所述基于OSEK的CAN堆栈121的运行环境都为各个所述启动阶段201提供相同组数的系统接口。然而,在各个所述启动阶段201处,都单独实现所述基于OSEK的CAN堆栈121的所述运行环境。
在方框403处,所述电子系统102,创建存储信息的数据结构119,所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构119存储在所述ECU101的所述映射存储区域113中。该电子系统102使得数据结构119持续存在于各个启动阶段201中。
在方框405处,所述电子系统102根据所述数据结构119中存储的信息,执行所述基于OSEK的CAN堆栈117的一个或多个指令,用于在所述ECU101中启动所述汽车电子123,其中,所述一个或多个指令持续执行于所述ECU101的各个启动阶段201。所述基于OSEK的CAN堆栈117的所述一个或多个指令在后启动阶段201c中被作为所述OSEK OS 115的应用进程执行。在一个实施例中,电子系统102进一步包括在完成各个启动阶段201的执行时,根据存储在数据结构119中的信息,更新CAN堆栈117的接口函数指针表125。该接口函数指针表125包括在持续的各个启动阶段201中都执行OSEK OS115的一个或多个操作所需的子程序指针。使用执行所述OSEK OS115操作所需的一个或多个API,更新所述接口函数指针表125。
计算机系统
图5说明了用于实施符合本发明公开实施例的例示性计算机系统500的方框图。在一个实施例中,计算机系统500可以是用于汽车ECU101中启动汽车电子123的电子系统102。计算机系统500可以包括中央处理单元(“CPU”或“处理器”502)。处理器可以包括至少一个用于执行程序组件的数据处理器,所述程序组件用于执行用户或系统生成的业务流程。用户可以包括人、如使用本发明包括的那些设备的人,或设备本身。处理器502可以包括特殊处理单元,比如,集成系统控制器、存储管理控制单元、浮点单元、图像处理单元、数字信号处理单元等。
可以设置处理器502通过I/O接口501与一个或多个输入/输出(I/O)设备(511和512)联通。I/O接口501可以使用通信协议/方法,比如,但不限于,声频、模拟、数字、立体、IEEE-1394、串行总线、通用串行总线(USB)、红外线、BNC、同轴电缆、组件、组合、数字可视接口(DVI)、高清多媒体接口(HDMI)、射频(RF)天线、S视频、视频图形阵列(VGA)、IEEE 802n/b/g/n/x、蓝牙、蜂窝(例如,码分多址(CDMA)、高速分组接入(HSPA+)、全球移动通信系统(GSM)、长期演进(LTE)或类似的)等。
使用I/O接口501,计算机系统500可以与一个或多个I/O设备(511和512)联通。
在一些实施例中,可以设置处理器502通过网络接口503与CAN通信网络509联通。CAN网络接口503可以与通信网络509联通。网络接口503可应用CAN的连接协议。使用网络接口503和通信网络509,计算机系统500可在总线上与一个或多个ECU(ECU 1 5101到ECUN510N)联通。
在一些实施例中,可以设置处理器502通过存储器控制器504与存储器505(例如,RAM、ROM等)联通。存储器控制器504可以连接至存储器505,所述存储器包括,但不限于,NAND闪存、NOR闪存、eMMC、EEPROM等。
此外,可以利用一个或多个计算机可读存储介质实施与本发明一致的实施例。计算机可读存储介质指的是任何类型的物理存储,可以在所述物理存储中存储处理器可读的信息或数据。因此,计算机可读存储介质可存储由一个或多个处理器执行的指令,其包括用于引发处理器执行与本发明所述实施例一致的步骤或阶段的指令。术语“计算机可读介质”应该理解为包括有形项目,并排除载波和瞬态信号,如非瞬态的。示例包括随机存取存储器(RAM)、只读存储器(ROM)、易失性存储器、非易失性存储器等。
本发明阐述了本公开实施例的优势
在一个实施例中,本发明公开提供一种用于汽车电子控制单元(ECU)中快速启动汽车电子的方法。
在一个实施例中,本发明公开提供了一种在汽车ECU的操作系统及其功能性应用激活之前,用于实现在启动早期一次性启动CAN堆栈和相关应用的方法。
在一个实施例中,本发明公开的方法减少了汽车中汽车电子启动过程中启动ECU的操作系统所需的延迟和/或等待时间。
除非有特别说明,否则术语“一实施例”、“实施例”、“该实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”表示本发明的一个或多个(并非所有)实施例。
除非有特别说明,否则术语“包含”、“包括”、“具有”及其变体表示“包含但不限于”。
除非有特别说明,否则所列举的项目并不暗示任何或多个项目是相互排斥的。
除非有特别说明,否则术语“一”、“一个”和“该”表示“一个或多个”。
带有互相通信的几个组成部分的实施例说明并不暗示所有这些组成部分是必须的。相反的是,对各种可选组成部分的说明阐述了本发明众多可能的实施例。
当本发明说明了单个设备或物件,容易想到的是,可使用不止一个设备/物件(无论是否协作)来代替单个设备/物件。类似地,本发明所述不止一个设备或物件(无论是否协作)处,容易想到的是,可使用单个设备/物件代替所述不止一个设备或物件,或者,可使用不同数量的设备/物件代替所示数量的设备或程序。一个设备的功能和/或特征可以由未明确描述的但具备该功能/特征的一个或多个其他设备备选体现。因此,本发明的其他实施例不需包括所述设备本身。最后,说明书中使用的语言主要是出于可读性和教学目的,并且选择该语言不是用来描绘或限制本发明的主题。因此,它的意图是本发明的范围不受该详细说明的限制,而是受到权利要求条款的限制。相应地,本发明公开实施例旨在显示在权利要求中说明的本发明的范围,而非限制本发明的范围。
虽然本发明已经公开了各种方面和实施例,但其他方面和实施例对于本领域技术人员来说是容易想到的。本文发明的各个方面和实施例的目的是为了说明权利要求表明的真实的范围和精神,而并非是为了设限。
Claims (18)
1.一种用于在汽车电子控制单元ECU(101)中启动汽车电子部件(123)的方法,其特征在于,所述方法包括:
通过电子系统(102),在所述ECU(101)的各个启动阶段(201)中实现基于汽车电子开放式系统及其接口OSEK的控制器局域网络CAN堆栈(117),其中,所述基于OSEK的CAN堆栈(117)存储在所述ECU(101)的映射存储区域(113)中;
通过所述电子系统(102),创建用于存储信息的数据结构(119),所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构(119)存储在所述ECU(101)的所述映射存储区域(113)中;以及
通过所述电子系统(102),根据所述数据结构(119)中存储的所述信息,执行所述基于OSEK的CAN堆栈(117)的一个或多个指令,以在所述ECU(101)中启动所述汽车电子部件(123),其中,所述一个或多个指令持续执行于所述ECU(101)的各个所述启动阶段(201)。
2.如权利要求1所述的方法,其特征在于,采用OSEK操作系统(115)来运行所述基于OSEK的CAN堆栈(117)和存储在所述ECU(101)中的一个或多个应用(112)。
3.如权利要求2所述的方法,其特征在于,进一步包括:当完成执行各个所述启动阶段(201)时,根据所述数据结构(119)中存储的所述信息,更新所述基于OSEK的CAN堆栈(117)的接口函数指针表(125),其中,所述接口函数指针表(125)包括在各个所述启动阶段(201)中执行OSEK操作系统(115)的一个或多个操作所需的一个或多个子程序指针。
4.如权利要求3所述的方法,其特征在于,使用执行所述OSEK操作系统(115)的一个或多个操作所需的应用程序接口API以更新所述接口函数指针表(125)。
5.如权利要求3所述的方法,其特征在于,所述基于OSEK的CAN堆栈(117)的所述一个或多个指令在后启动阶段(201c)中被作为所述OSEK操作系统(115)的应用进程执行。
6.如权利要求1所述的方法,其特征在于,各个所述启动阶段(201)包括启动加载阶段(201a)、预启动阶段(201b)和后启动阶段(201c)。
7.如权利要求1所述的方法,其特征在于,所述数据结构(119)持续存在于各个所述启动阶段(201)。
8.如权利要求1所述的方法,其特征在于,各个所述启动阶段(201)中所述基于OSEK的CAN堆栈的运行环境(121) 都为各个所述启动阶段(201)提供同一组的系统接口。
9.如权利要求8所述的方法,其特征在于,在各个所述启动阶段(201)分别实现所述基于OSEK的CAN堆栈的所述运行环境(121) 。
10.一种用于在汽车电子控制单元ECU(101)中启动汽车电子部件(123)的电子系统(102),其特征在于,所述电子系统(102)包括:
处理器(107);以及
以通讯方式与所述处理器(107)相连的存储单元(105),其中,所述存储单元(105)存储处理器可执行指令,当执行所述处理器可执行指令时,所述处理器(107)执行以下操作:
在所述ECU(101)的各个启动阶段(201)中,都实现基于汽车电子开放式系统及其接口OSEK的控制器局域网络CAN堆栈(117),其中,所述基于OSEK的CAN堆栈(117)存储在所述ECU(101)的映射存储区域(113)中;
创建用于存储信息的数据结构(119),所述信息至少涉及运行信息、状态信息、消息缓存和诊断会话状态,其中,所述数据结构(119)存储在ECU(101)的所述映射存储区域(113)中;以及
根据所述数据结构(119)中存储的信息,执行所述基于OSEK的CAN堆栈(117)的一个或多个指令,以在所述ECU(101)中启动所述汽车电子部件(123),其中,所述一个或多个指令持续执行于所述ECU(101)的各个启动阶段(201)。
11.如权利要求10所述的电子系统(102),其特征在于,所述处理器可执行指令触发所述处理器(107)运行所述基于OSEK的CAN堆栈(117)和在OSEK操作系统(115)中运行所述ECU(101)中存储的一个或多个应用(112)。
12.如权利要求11所述的电子系统(102),其特征在于,当完成执行各个所述启动阶段(201)时,根据所述数据结构(119)中存储的信息,所述处理器可执行指令进一步触发所述处理器(107)更新所述基于OSEK的CAN堆栈(117)的接口函数指针表(125),其中,所述接口函数指针表(125)包括在各个所述启动阶段(201)中执行所述OSEK操作系统(115)的一个或多个操作所需的一个或多个子程序指针。
13.如权利要求12所述的电子系统(102),其特征在于,所述处理器可执行指令触发所述处理器(107)使用执行所述OSEK操作系统(115)的一个或多个操作所需的一个或多个应用程序接口API以更新所述接口函数指针表(125)。
14.如权利要求12所述的电子系统(102),其特征在于,所述处理器可执行指令触发所述处理器(107)执行所述基于OSEK的CAN堆栈(117)的所述一个或多个指令,其中所述一个或多个指令在后启动阶段(201c)中被作为所述OSEK操作系统(115)的应用进程执行。
15.如权利要求10所述的电子系统(102),其特征在于,各个所述启动阶段(201)包括启动加载阶段(201a)、预启动阶段(201b)和后启动阶段(201c)。
16.如权利要求10所述的电子系统(102),其特征在于,所述数据结构(119)持续存在于各个所述启动阶段(201)。
17.如权利要求10所述的电子系统(102),其特征在于,各个所述启动阶段(201)中所述基于OSEK的CAN堆栈的运行环境(121)都为各个所述启动阶段(201)提供同一组系统接口。
18.如权利要求17所述的电子系统(102),其特征在于,所述处理器可执行指令进一步触发所述处理器(107)在各个所述启动阶段(201)分别实现所述基于OSEK的CAN堆栈的所述运行环境(121)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201641022337 | 2016-06-29 | ||
IN201641022337 | 2016-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107539239A CN107539239A (zh) | 2018-01-05 |
CN107539239B true CN107539239B (zh) | 2020-08-04 |
Family
ID=57133002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710010605.2A Active CN107539239B (zh) | 2016-06-29 | 2017-01-06 | 用于汽车电子控制单元中启动汽车电子部件的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10162643B2 (zh) |
EP (1) | EP3264264A1 (zh) |
CN (1) | CN107539239B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10725791B2 (en) * | 2017-08-16 | 2020-07-28 | Harman International Industries, Incorporated | Operating system boot up optimizations |
CN109144029A (zh) * | 2018-08-24 | 2019-01-04 | 安徽江淮汽车集团股份有限公司 | 一种can总线的局部休眠唤醒的方法及系统 |
CN109766144B (zh) * | 2019-01-22 | 2021-09-24 | 湖北亿咖通科技有限公司 | 一种控制事件响应方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212632B1 (en) * | 1998-07-31 | 2001-04-03 | Flashpoint Technology, Inc. | Method and system for efficiently reducing the RAM footprint of software executing on an embedded computer system |
US7103646B1 (en) | 1998-08-07 | 2006-09-05 | Hitachi, Ltd. | Distributed control system and information processing system |
US20030204549A1 (en) * | 1998-10-22 | 2003-10-30 | Wolfgang Eibach | Operating system for handling dynamic and static tasks |
US20030176951A1 (en) * | 2002-01-09 | 2003-09-18 | Demarchi Julian A. | System integrating a reformer and a fuel cell system |
US7401335B2 (en) * | 2003-02-28 | 2008-07-15 | Wind River Systems, Inc. | Single stack kernel |
US7209490B2 (en) * | 2004-07-01 | 2007-04-24 | Temic Automotive Of North America, Inc. | Rapid vehicle bus network activity |
US7461247B2 (en) * | 2005-06-03 | 2008-12-02 | Qnx Software Systems Gmbh & Co. Kg | Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization |
DE102005048037A1 (de) | 2005-10-07 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Steuerung/Regelung wenigstens einer Task |
US20100079472A1 (en) * | 2008-09-30 | 2010-04-01 | Sean Shang | Method and systems to display platform graphics during operating system initialization |
US9900448B2 (en) * | 2011-12-06 | 2018-02-20 | Intel Corporation | Technologies for displaying images during a pre-boot phase of a vehicle computing platform |
CN102801551B (zh) | 2012-03-14 | 2014-09-24 | 中国汽车技术研究中心 | 基于osek网络管理的can网络管理方法 |
CN103036704B (zh) | 2012-11-13 | 2015-01-21 | 合肥工业大学 | 一种快速重建汽车osek nm逻辑环的方法 |
US10604072B2 (en) * | 2014-04-02 | 2020-03-31 | Continental Automotive Gmbh | Early rear view camera video display in a multiprocessor architecture |
-
2016
- 2016-08-22 US US15/242,840 patent/US10162643B2/en active Active
- 2016-09-30 EP EP16191850.3A patent/EP3264264A1/en not_active Withdrawn
-
2017
- 2017-01-06 CN CN201710010605.2A patent/CN107539239B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US10162643B2 (en) | 2018-12-25 |
US20180004535A1 (en) | 2018-01-04 |
EP3264264A1 (en) | 2018-01-03 |
CN107539239A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180341476A1 (en) | Software updating device, software updating system, and software updating method | |
CN107539239B (zh) | 用于汽车电子控制单元中启动汽车电子部件的方法和系统 | |
US20190138296A1 (en) | Updating system, electronic control unit, updating management device, and updating management method | |
JP6832374B2 (ja) | ソフトウェア更新装置、車両及びソフトウェア更新方法 | |
US8271707B2 (en) | Method and system for PCI hybrid function | |
JP2008217530A (ja) | 情報処理装置および設定方法 | |
JP7223895B2 (ja) | 車両のための拡張可能なコンピューティングアーキテクチャ | |
US11914871B2 (en) | Electronic control device and program-update method | |
US20170234989A1 (en) | Quick positioning system and vehicle-mounted system | |
US20210173634A1 (en) | Vehicle control device and program update system | |
US10956144B2 (en) | Apparatus for providing update of vehicle and computer-readable storage medium | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
CN113377512A (zh) | 车机系统的启动方法、装置及设备 | |
WO2016035244A1 (ja) | 車載装置 | |
US20220147040A1 (en) | Electronic Control Device and Method for Setting Control Data | |
CN116610370A (zh) | 一种启动方法、装置、设备及存储介质 | |
KR20180086907A (ko) | 차량용 블랙박스의 펌웨어 업데이트 시스템 및 방법 | |
EP2998859B1 (en) | Display control device, display control method, and program | |
CN111061521B (zh) | 一种启动设备的方法及系统 | |
US8316362B2 (en) | Method for updating a program section | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20230406236A1 (en) | Vehicle device | |
JP7180542B2 (ja) | 情報処理装置および情報処理方法 | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
WO2023053234A1 (ja) | 電子機器および高速通信方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |