用于车辆嵌入式软件的动态分析的设备转让专利

申请号 : CN201110125762.0

文献号 : CN102486750A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙正悳朴世荣金泰孝方豪正

申请人 : 现代自动车株式会社起亚自动车株式会社福尔摩握科事有限公司

摘要 :

本发明提供一种进行车辆的嵌入式软件的动态分析的设备。更确切地说,本发明涉及一种用于动态分析车辆的嵌入式软件、以根据该分析实时检测该嵌入式软件的错误的设备。更具体地,本发明涉及数据通信单元,其与车辆的电子单元实时地传送数据;和控制单元,根据通过该数据通信单元接收的数据来监视由电气领域的嵌入式软件使用的一个或多个硬件组件的情况,从而相应地输出监视的结果。

权利要求 :

1.一种用于车辆嵌入式软件的动态分析的设备,包括:

数据通信单元,与车辆的电子单元实时地传送数据;以及

控制单元,基于通过所述数据通信单元接收的数据,监视由电气领域的嵌入式软件使用的一个或多个计算机处理单元(CPU)和存储器的状况,其中在显示器上向用户输出分析结果。

2.如权利要求1所述的用于车辆嵌入式软件的动态分析的设备,其中所述控制单元监视所述存储器的所述嵌入式软件的调用栈深度。

3.如权利要求1所述的用于车辆嵌入式软件的动态分析的设备,其中所述控制单元监视用于所述嵌入式软件的CPU使用。

4.如权利要求1所述的用于车辆嵌入式软件的动态分析的设备,其中所述控制单元监视由所述嵌入式软件的软件平台检测到的错误代码。

5.如权利要求1所述的用于车辆嵌入式软件的动态分析的设备,其中所述控制单元监视所述存储器的特定地址的数据值,并且根据用户的输入来改变所述地址的数据值。

6.一种进行车辆嵌入式软件的动态分析的方法,包括:

经由车辆中的数据通信单元,在所述数据通信单元和所述车辆的一个或多个电子单元之间实时地传送数据,以检测嵌入式软件中的错误;

基于通过所述数据通信单元接收的数据,监视由所述嵌入式软件使用的一个或多个硬件组件的状况;以及在显示器上向用户显示分析结果。

7.如权利要求6所述的进行车辆嵌入式软件的动态分析的方法,还包括监视存储器的所述嵌入式软件的调用栈深度。

8.如权利要求6所述的进行车辆嵌入式软件的动态分析的方法,还包括监视用于所述嵌入式软件的CPU使用。

9.如权利要求6所述的进行车辆嵌入式软件的动态分析的方法,还包括监视由所述嵌入式软件的软件平台检测到的错误代码。

10.如权利要求6所述的进行车辆嵌入式软件的动态分析的方法,还包括监视所述存储器的特定地址的数据值,并且根据用户的输入来改变所述地址的所述数据值。

11.一种包含由处理器执行的可执行程序指令的用于车辆嵌入式软件的动态分析的计算机可读介质,包括:实时传送来自安装在车辆中的电子单元的数据以检测嵌入式软件中的错误的程序指令;以及基于接收的数据监视由所述嵌入式软件使用的一个或多个硬件组件的情况的程序指令,其中在显示器上向用户输出分析结果。

12.如权利要求11所述的计算机可读介质,还包括监视存储器的所述嵌入式软件的调用栈深度的程序指令。

13.如权利要求11所述的计算机可读介质,还包括监视用于所述嵌入式软件的CPU使用的程序指令。

14.如权利要求11所述的计算机可读介质,还包括监视由所述嵌入式软件的软件平台检测到的错误代码的程序指令。

15.如权利要求11所述的计算机可读介质,还包括监视所述存储器的特定地址的数据值并根据用户的输入来改变所述地址的所述数据值的程序指令。

说明书 :

用于车辆嵌入式软件的动态分析的设备

技术领域

[0001] 本发明涉及一种用于车辆嵌入式软件动态分析的设备。更确切地说,本发明涉及一种用于动态分析的设备,所述动态分析可以动态地分析车辆嵌入式软件并且根据该分析实时检测该嵌入式软件的错误。

背景技术

[0002] 一种嵌入式系统(内装系统,built-in system)是一种以硬件格式通过用于操作系统的嵌入式软件、仅执行特定功能的计算机系统。该嵌入式系统具有特定需求并且执行不同于个人计算机(PC)的预定任务。更确切地说,在嵌入式系统中并由该嵌入式系统执行的软件常常称作嵌入式软件。
[0003] 近来,已经实现了各种各样的功能来提升车辆的商业价值,这些车辆的电子设备也因此变得越来越复杂。因此,安装在车辆电子设备中的嵌入式软件又变得更加复杂,并且需要花费很长时间将软件执行到车辆系统中。因而,常常有人提出生产时间线(production time-line)的概念。
[0004] 因此,已经开发出用于车辆的OSEK操作系统来使嵌入式软件的实现更加容易。OSEK是德语的缩写,含义是“Offend Systeme und deren Schnittstellen fur die Elektronik im Kraftfahrzeug”,其英语意思是“(Open System and the Corresponding Interfaces for Automotive Electronic,用于汽车电子系统的开放系统和对应接口)”。更确切地说,OSEK已经建立用于车辆的分布控制器的开放式体系结构的工业标准化。
[0005] 近来,越来越多的车辆改为装备有使用OSEK操作系统的软件平台,除BCM(车身控制模块)之外,该OSEK操作系统开始广泛地用于车底盘电子设备。
[0006] 尽管操作系统的质量已经通过软件平台得到了改善,然而个别嵌入式软件的错误率也由于其所包含的功能的复杂性而增加。嵌入式软件中的这些错误导致在车辆的电子设备的操作中产生错误。因此,需要开发一种可以检测并且分析这些错误类型的设备。
[0007] 在背景技术部分公开的以上信息仅仅用于增强背景技术的理解,因此可能包含那些不构成对本领域普通技术人员而言在其国家中已知的现有技术的信息。

发明内容

[0008] 本发明提供一种用于动态分析的设备,该设备可以动态地分析车辆的嵌入式软件,并且根据该分析过程实时地检测该嵌入式软件的错误。更确切得说,本发明提供一种用于动态分析的设备,该设备可以基于例如OSEK操作系统,通过动态地分析嵌入式软件的软件级别,来检测与一个或多个错误相关的直接因素和原因。
[0009] 在一个方面,本发明提供一种用于车辆嵌入式软件的动态分析的设备,其包括:数据通信单元,与车辆的电子单元实时地传送数据;以及控制单元,根据经由数据通信单元接收的数据,监视由电气领域(electric field)的嵌入式软件使用的一个或多个计算机处理单元(CPU)和存储器的状况。然后将结果输出到在显示器以便用户检查。
[0010] 在一些实施例中,该控制单元监视存储器的嵌入式软件的调用栈深度。
[0011] 在另一个实施例中,该控制单元监视用于嵌入式软件的CPU使用。
[0012] 在又一个实施例中,该控制单元监视由嵌入式软件的软件平台检测到的错误代码。
[0013] 在又一个实施例中,该控制单元监视用于存储器的特定地址的数据值,并且根据用户的输入来改变用于该地址的数据值。
[0014] 因此,通过动态地分析嵌入式软件,尤其是基于OSEK操作系统的软件,可以检测到软件中难以发现的问题。因而,通过直接检测在嵌入式软件自身中生成的错误并且进行这些错误的分析以确定错误的原因,本发明的用于车辆嵌入式软件的动态分析的设备解决了可能会产生的一个或多个电子单元的质量问题或未知问题。

附图说明

[0015] 现在将参考附图所图示的某个示例性实施例来详细描述本发明的以上及其它特点,所述附图在下文中仅仅通过例示的方式给出而非用于限制本发明,其中:
[0016] 图1是示出根据本发明一示例性实施例的用于车辆嵌入式软件的动态分析的设备的配置和连接关系的图;
[0017] 图2是示出根据本发明一示例性实施例的用于车辆嵌入式软件的动态分析的设备的操作过程的流程图;以及
[0018] 图3是根据本发明一示例性实施例的用于车辆嵌入式软件的动态分析的设备所提供的监视屏。
[0019] 应当理解的是,所附附图并不必然地按比例制成,附图只是给出本发明基本原则的说明性的各种优选特点的某些简化表示。在此公开的本发明的具体设计特点,包括比如,具体尺寸、方向、位置和形状,在某种程度上会由特定的计划应用和使用环境来确定。
[0020] 在几副附图中,(相同的)附图标记指的是本发明的同样或等效部分。

具体实施方式

[0021] 在下文中,将对本发明的各种实施方式详细地说明以作参考,附图中和以下描述中会示出这些实施方式的实施例。虽然将结合示例性实施例对本发明进行描述,然而应当理解,本描述并非意图将本发明限制在那些示例性实施例中。相反地,本发明意图是不仅涵盖示例性实施例,而且包括其可以包括在如所附权利要求所定义的、本发明的精神和范围内的各种替换、改变,等效及其它实施方式。
[0022] 应当理解,在本文中所使用的术语“车辆”或“车辆的”或其它类似术语包括一般的机动车辆(诸如包括运动型多用途车(SUV)、公共汽车、卡车、各种商务车辆在内的客车)、包括各种艇和船在内的水运工具、飞行器等,并且包括混合动力车、电动车、插电式混合电动车、氢动力车以及其它替代燃料车(例如从除石油之外的能源中获得的燃料)。如本文所提及的,混合动力车是指具有两种或者多种动力源的车辆,例如既有汽油动力又有电动力的车辆。
[0023] 实施例
[0024] 下列实施例对本发明进行了举例说明,而不是意图对本发明进行限制。
[0025] 在下文中,将参考附图详细描述本发明的优选实施例,以使本领域技术人员可以容易地实施。
[0026] 本发明涉及一种进行车辆系统中一个或多个错误的分析的设备,所述设备可以动态地分析安装在车辆的电子单元中的嵌入式软件并且实时检测一个或多个错误。
[0027] 图1是示出根据本发明一示例性实施方式的用于动态进行车辆嵌入式软件的分析的设备2的配置和连接关系的图。如图所示,根据本发明的设备包括与车辆的电子单元1进行通信的数据通信单元20,和基于通过数据通信单元20接收到的数据动态地分析嵌入式软件的控制单元10。
[0028] 本发明的示例性实施例的数据通信单元20是一种用于实时地与电子单元1之间就待检查的数据进行通信的设备。在本发明的某些实施例中,K线(例如,KWP2000)协议通信可以被用作电子单元和该设备之间的通信装置。在此实施例中,数据通信单元20使用其中的转换器转换K线协议的数据,并且一旦接收到该数据就将该数据发送至控制单元10。
[0029] 此外,根据本发明的示例性实施例,控制单元10可以被配置为基于通过数据通信单元20接收的数据,监视其使用安装在电子单元1中并且在其中执行嵌入式软件的一个或多个硬件组件,例如,CPU(一个或多个CPU)和存储器,的状况,并从而输出监视结果。控制单元10可以分析与在执行嵌入式软件中的程序时接收的数据有关的日志,并实时检测生成的错误。
[0030] 作为示例,嵌入式软件可被安装在本发明的电子设备1的ECU(电子控制单元,Electronic Control Unit)中,并且设有在嵌入式软件上提供各种监控信息的软件平台。
[0031] 图2是示出根据本发明一示例性实施例的用于车辆嵌入式软件的动态分析的设备的操作过程的流程图。
[0032] 根据本发明的示例性实施例,将电施加给正被检查的电子单元(S10),并且响应于该电子单元被通电,该电子单元被选作通过连接到电子单元的本发明的动态分析设备进行监视的电子单元(S20)。如果选择该电子单元来加以监视,那么在该电子单元与根据本发明示例性实施方式的用于动态分析的设备之间的通信开始(S30)。该通信可以通过例如上文所述的K线(例如,KWP2000)协议通信来实现。
[0033] 更确切地说,根据所进行的通信,根据本发明的用于动态分析的设备可以实时地从该电子单元的软件平台接收和存储数据(S32)。也就是说,根据所接收的数据,用于动态分析的设备可操作以监视嵌入式软件。
[0034] 在根据本发明的用于动态分析的设备开始操作时,该设备提供动态分析功能,诸如检查CPU使用的功能(S40)、检查调用栈深度的功能(S42)、监视错误代码的功能(S44)和/或读取/写入存储器数据的功能(S46)。这些功能可以根据从与用于动态分析的设备相连接的电子单元的软件平台提供的数据来实现。
[0035] 参考图3说明由本发明一个实施例提供的动态分析功能。
[0036] 在本发明的某些实施例中,有必要监视调用栈深度。这些实施例,可以根据来自装有嵌入式软件12的ECU存储器的嵌入式软件的执行,来监视调用栈深度。也就是说,本发明的控制单元可以监视堆栈调用深度并以图表形式输出给用户,并且用户可以在堆栈深度无限增加时进行检查和确定。因此,用户可以看见因无限循环和递归调用(recursive call)而存在的潜在错误。
[0037] 在其它实施例中,有益地,可以监视嵌入式软件的CPU使用并且将其以图表形式14输出。在本发明的这些实施例中,通过本发明的设备,用户可以看到由于嵌入式软件的执行而引起的CPU负载中的改变,并且看到由于CPU的过载导致的任何故障错误。此外,此功能有助于防止CPU由于异常中断而发生堵塞(jam)。
[0038] 在本发明的其它实施例中,有利地,可以监视由嵌入式软件的软件平台16检测的错误代码。也就是说,控制单元可以接收由安装在电子单元中的软件平台检测到的错误代码,并相应地将该错误代码输出给用户。
[0039] 从而,控制单元可以显示错误代码中的变化并且输出错误代码产生的次数和时间。在此过程中,根据本发明,可以同时存储ECU的CPU时间和控制单元的系统时间,作为错误代码产生的时间。
[0040] 例如,在汽车电子结构和网络系统软件封装(CARNES SWP)被用作根据本发明一个实施例的软件平台时的错误代码如下。CARNES SWP是由韩国公司开发的平台软件程序。CARNES SWP根据用于汽车电子系统控制设备的软件平台、硬件以及估算工具执行诸如标准软件平台、应用软件之类的应用工程作业。
[0041] 表1
[0042]
[0043]
[0044] 在本发明的其它实施例中,可以对用于ECU存储器中特定地址的数据值进行监视,并且可以根据用户输入18对该数据值作出改变。在此实施例中,本发明的控制单元可以提供用于输入地址的输入窗和特定容量的存储器以监视,并且显示由标签(tag)定义的存储器的监视值(例如,标签名、地址、容量和数据值)。此外,通过定义多个待监视的标签,可以同时监视若干存储地址。
[0045] 根据本发明的一些实施例,控制器还可以提供一种用于手动地改变存储器的特定地址的数据值的输入窗,并且提供根据用户输入来改变地址的数据值的功能。因此,通过分析存储器中用于某些地址的数据值,并且将某些值应用到以上某些地址以改变该数据值,用户可以直接地看到异常情况。
[0046] 有利地,通过动态地分析软件级别、通过经由例如K线与电子单元进行通信来接收数据、根据该数据监视用于该嵌入式软件的CPU和/或存储器的使用、并将监视结果提供给用户,本发明允许用户检测车辆嵌入式软件中与一个或多个错误相关的直接原因和因素。特别是,由于根据本发明的用于动态分析的设备可以在执行该嵌入式软件时实时地分析和检测错误,所以可以动态地分析该嵌入式软件自身。
[0047] 此外,本发明可被体现为包含由处理器执行的可执行程序指令的计算机可读介质上的计算机可读介质存储装置。计算机可读记录介质的示例包括ROM、RAM、光盘(CD)-ROM、磁带、软盘和光数据存储装置。该计算机可读记录介质还可被分布在计算机系统所耦合的网络中,以便采用分布式方式来存储并执行该计算机可读介质。
[0048] 已经参考优选实施例对本发明进行了详细描述。然而,应当理解,在不脱离本发明的原理和精神的范围内,本领域技术人员可以对这些实施例进行改变;本发明的保护范围由所附权利要求及其等效物来限定。