CN110554937B - 车辆用软件诊断系统以及其操作方法 - Google Patents

车辆用软件诊断系统以及其操作方法 Download PDF

Info

Publication number
CN110554937B
CN110554937B CN201910343939.0A CN201910343939A CN110554937B CN 110554937 B CN110554937 B CN 110554937B CN 201910343939 A CN201910343939 A CN 201910343939A CN 110554937 B CN110554937 B CN 110554937B
Authority
CN
China
Prior art keywords
software
verification
target
shared memory
target software
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
CN201910343939.0A
Other languages
English (en)
Other versions
CN110554937A (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.)
Hyundai AutoEver Corp
Original Assignee
Hyundai AutoEver Corp
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 Hyundai AutoEver Corp filed Critical Hyundai AutoEver Corp
Publication of CN110554937A publication Critical patent/CN110554937A/zh
Application granted granted Critical
Publication of CN110554937B publication Critical patent/CN110554937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了车辆用软件诊断系统以及其操作方法,根据本发明的车辆用软件诊断系统的操作方法可包括:生成具有与在多个核心中分别执行目标软件的诊断相关的函数及语法的多个数据集的步骤;向共享内存依次输出所述多个数据集的步骤;根据所述共享内存的数据集操作所述目标软件的步骤;以及在验证核验证所述操作结果的步骤。

Description

车辆用软件诊断系统以及其操作方法
技术领域
本发明涉及一种车辆用软件诊断系统以及其操作方法。
背景技术
随着车辆的电气电子结构变复杂,用于控制其的软件的数量和复杂性也增加。因此,开发软件所需的时间也在增加,发生软件缺陷的可能性也在增加。
为了解决这些软件的复杂性并减少缺点,已经出现了对确保汽车嵌入式软件技术领域的可靠性和可重用性的标准化软件平台的需求。
为此,欧洲汽车先进企业和零部件供应商相互合作,建立了一个所谓汽车开放系统架构(AUTomotive Open System Architecture;AUTOSAR)的汽车嵌入式软件平台标准。
汽车开放系统架构是以可靠性和可重用性为目的开发的汽车电子零件用软件标准平台,诸多汽车公司专注于开发配备有基于汽车开放系统架构开发的平台的商用汽车。
汽车开放系统架构软件平台包含通信、诊断、存储器等适用于各种控制器的集成规范,为了应用于实际控制器,经由只提取必要的软件部分重新配置(reconfiguration)系统的过程。此重新配置过程是使用汽车开放系统架构软件平台的关键技术之一。
在先技术
专利文件
(专利文件1)韩国公开专利:10-2011-0059420,公开日:2011年6月2日,发明名称:车辆用电子控制装置的诊断装置以及方法
(专利文件2)韩国公开专利:10-2014-0078344,公开日:2014年6月25日,发明名称:车辆软件的性能判断方法
(专利文件3)韩国授权专利:10-1804603,授权日:2017年11月28日,发明名称:重建微控制器内的软件的参数的方法、微控制器以及控制装置
(专利文件4)韩国公开专利:10-2016-0047147,公开日:2016年5月2日,发明名称:基于汽车开放系统架构的软件平台验证装置以及方法
(专利文件5)美国公开专利:US 2017/0010958,公开日:2017年1月12日,发明名称:REAL TIME ANALYSIS AND CONTROL FOR A MULTPROCESSOR SYSTEM.
发明内容
本发明的目的在于,提供一种不仅节俭费用,还能减少验证时间的车辆用软件诊断系统以及其的操作方法。
本发明的其他目的在于,提供一种减少存储器的使用的车辆用软件诊断系统以及其的操作方法。
根据本发明的实施例的车辆用软件诊断系统的操作方法,其中,可包括:生成具有与在多个核心中分别执行目标软件的诊断相关的函数及语法的多个数据集的步骤;向共享内存依次输出所述多个数据集的步骤;根据所述共享内存的数据集操作所述目标软件的步骤;以及在验证核验证所述操作结果的步骤。
实施例中,生成所述多个数据集的步骤,可包括:从所述目标软件中提取内存映射信息和函数及语法信息的步骤;以及通过组合所述所提取的内存映射信息和函数及语法信息来创建数据库的步骤。
操作所述目标软件的步骤,可包括:在所述目标软件确认所述共享内存的数据集,在所述共享内存中存在数据集时,从所述共享内存读取所述数据集操作所述目标软件的步骤。
操作所述目标软件的步骤,可包括:根据所述数据集中包含的函数及语法信息操作所述目标软件,在改变所述语法的同时执行所述函数的步骤。
所述方法,进一步包括判断是否已经完成了基于所述多个数据集的所述目标软件的验证,若没有完成,则将下一个数据集输出到所述共享内存的步骤。
所述方法,进一步包括若完成了所述目标软件的验证,则对所述目标软件的验证结果创建数据库的步骤。
所述多个核心和所述验证核构成一个车辆用多核系统。
根据本发明的实施例的车辆用软件诊断系统,可包括:目标部,从与多个核心相对应的每个目标软件中提取内存映射信息和函数及语法信息;资料部,组合所述所提取的内存映射信息和所述函数及语法信息;验证部,通过对所述组合的信息根据所述目标软件的每个规格创建数据库来生成多个数据集;共享内存,用于存储所述多个数据集中的至少一个;以及测试管理部,根据存储在所述共享内存中的数据集来操作所述目标部,以使所述目标部根据数据集操作目标软件。
所述目标部在所述测试管理部的控制下操作所述目标软件,并将所述操作结果可发送到所述共享内存。
所述验证部读取存储在所述共享内存中的操作结果,并通过比较所述读取的操作结果和预期动作结果验证结果来可以执行对所述目标软件的验证。
所述验证部可包括验证核,所述验证核具有用于验证所述多个核心的验证平台。
所述验证部判断是否存在未输出到所述共享内存的数据集,若存在,则将下一个数据集输出到所述共享内存,若不存在,则可将验证结果创建数据库。
所述目标部根据所述数据集中包含的函数及语法信息操作所述目标软件,可在改变所述语法的同时执行所述函数。
发明效果
根据本发明的实施例的车辆用软件诊断系统及其操作方法可以根据自验证软件验证在多个核心中操作的目标软件,而无需单独的测试台或测试代码。因此,本发明的车辆用软件诊断系统及其操作方法可以在不使用昂贵的测试台的情况下,可以实时执行软件验证。
并且,根据本发明的实施例的车辆用软件诊断系统及其操作方法,通过在与测试有关的数据集中只有所需数据集使用共享内存,从而,可以与以往相比改善共享内存不足的现象。
附图说明
以下所附图面是为帮助理解本实施例而示出的,与详细说明一起提供实施例。但是,本实施例的技术特征并不限定于特定图面,在各图中公开的特征可以互相组合构成新的实施例。
图1是通用车辆用软件诊断系统1的示例图。
图2是示出根据本发明的实施例的车辆用多核系统100的示例框图。
图3是示出根据本发明的实施例的车辆用软件诊断系统300的结构的示例框图。
图4是根据本发明的实施例的车辆用软件诊断系统300的软件诊断方法的示例流程图。
图5是在根据本发明的实施例的车辆用多核系统100中有关欢迎灯软件的测试操作的示例图。
图6是更详细地示出验证图5中所示的欢迎灯软件的过程的图。
图7是示出根据本发明的实施例的在车辆用软件诊断系统300中实时重设测试用例的过程的示例图。
图8是示出根据本发明的实施例的车辆用软件诊断系统300的操作方法的示例流程图。
图中:
1、300:车辆用软件诊断系统,20、30:测试台,10、100::车辆用多核系统,12、110:第一核心,14、120:第二核心,130:第三核心,16、140:外围电路,142:共享内存,310:测试规格部,320:目标部,330:资料部,340:验证部,350:测试管理部,360:输出部,SWP1:第一目标软件,SWP2:第二目标软件
具体实施方式
下面,利用附图明确且详细记载本发明的内容使得本发明所属领域的技术人员可容易实施。
对本发明可进行多种变更并且可具有多种形态,因而在附图中例示并在本说明书中详细说明特定实施例。但应当理解,这并非将本发明限定在特定的公开方式,而是包括包含在本发明的思想及技术范围之内的所有变更、等同技术方案及替代方案。第一、第二等术语可用于说明多种结构要素,但所述结构要素并不局限于所述术语。
所述术语可以以从其他结构要素区分一个结构要素为目的而使用,例如在不脱离本发明的权利范围的情况下,第一结构要素可以被称为第二结构要素,类似地,第二结构要素也可以被称为第一结构要素。当被提及某种结构要素与另一结构要素“连接”或“联接”时,应当理解为可以直接与其他结构要素相连接或相联接,但也可在中间存在其他结构要素。相反,当提及某种结构要素与另一结构要素“直接连接”或“直接联接”时,应当理解为中间不存在其他结构要素。
用于说明结构要素之间的关系的其他表达,即,“~之间”和“直接在~之间”或“与~相邻”和“与~直接相邻”等的表达也应以相同的方式进行解释。本说明书中所使用的术语仅仅用于说明特定实施例,而并非限定本发明。除非在文脉上明确表示不同的含义,单数的表达包括复数的表达。
在本说明书中,“包括”或“具有”等术语所要指定实施的特征、数字、步骤、动作、结构要素、部件或这些组合的存在,而不得理解为排除一个或一个以上的其他特征或数字、步骤、动作、结构要素、部件或这些组合的存在或附加可能性。除非另有定义,包含技术术语及科学术语在内的使用于本说明书中的所有术语具有与本发明所属技术领域的技术人员普遍理解的含义相同的含义。在普遍使用的词典中所定义的术语应解释为具有与相关技术的文脉上所具有的含义一致的含义,并且,除非在本说明书中明确定义,则不应以理想性或过于公式化的含义来进行解释。
图1是通用车辆用软件诊断系统1的示例图。参照图1,车辆用软件诊断系统1包括多核系统10以及多个测试台20、30。
多核系统10包括第一核心12;A、第二核心14;B及外围电路16。第一核心12由第一目标软件SWP1驱动,第二核心14由第二目标软件SWP2驱动。外围电路16包括输入/输出设备、计时器、存储器等。
在通用车辆用软件诊断系统1的情况下,至少一个测试台20、30将测试代码发送到多核系统10,并根据测试代码验证在每个核心12、14执行的目标软件SWP1、SWP2的操作。
测试台20、30通过控制器区域网络(control area network:CAN)、通用异步接收器/发送器(universal asynchronous receiver/transmitter:UART)、内部集成电路(inter integrated circuit:I2C)、串行外设接口(Serial Peripheral Interface:SPI)等各种通信方式向目标软件发送指令操作目标软件,并根据操作结果验证目标软件。
由于通用车辆用软件诊断系统1需要目标车辆控制器,即与多核系统10完全分离的测试台20、30,因此需要测试台20、30的安装费用,并且,包括多核系统10的诊断时间增加等车辆用软件诊断所必要的诸多问题。
而且,需要用于连接测试台20、30和多核系统10之间的通信线路、每个核心的测试代码,并且要求开发测试台20、30读取软件的操作结果的新的环境。结果,在负载增加的情况下,对车辆用软件的测试是不可避免的。
而且,由于通用车辆用软件诊断系统1需要许多用于验证目标软件的测试用例,因此,会导致装载有目标软件的核心的内存不足的现象。
因此,通用车辆用软件诊断系统1必须周期性地修改或构建测试代码以验证整个目标软件SWP1、SWP2。
根据本发明的实施例的车辆用软件诊断系统,通过在多核环境下将一个核心构成为验证用平台,从而,可以验证其他核心。
图2是示出根据本发明的实施例的车辆用多核系统100的示例框图。
根据图2,车辆用多核系统100,可以包括第一核心110;A、第二核心120;B、第三核心130;P、以及外围电路140。
第一核心110可以被实现为由第一目标软件SWP1驱动。虽未图示,第一目标软件SWP1可以存储在多核系统100内的非易失性存储器(例如,只读存储器(ROM)、闪存、电阻存储器等)中。
第二核心120可以被实现为由第二目标软件SWP2驱动。第二目标软件SWP2可以存储在非易失性存储器中。
第三核心130可以实现为由验证软件驱动。验证软件可以基于各种数据集验证第一目标软件SWP1和第二目标软件SWP2的操作。
每个数据集可以由函数(function)和语法(argument)的组合而组成。验证软件可以存储在非易失性存储器中。
实施例中,第一目标软件SWP1及第二目标软件SWP2中的每一个可以被实现为接收从验证软件发送的数据集,并根据所接收的数据集执行测试操作。
实施例中,验证软件可以向目标软件SWP1、SWP2依次发送数据集。在图2中,尽管示出了三个核心110、120、130,但是应该理解多核系统100中的核心的数量不限于此。
图2示出了用于驱动验证软件的其他的核心130,但是应该理解可以不存在用于仅驱动验证软件的其他的核心。
外围电路140可以包括驱动多核系统100所需的各种设备(输入/输出设备、定时器、存储器等)。尤其,外围电路140可以包括由核心110、120、130共享的共享内存142以及用于与外部通信的通信部144。
实施例中,共享内存142可以是易失性存储器(例如,随机存取存储器(RAM)、静态随机存取存储器(SRAM)等)。
另一方面,应该理解共享内存142不一定是易失性存储器。共享内存142可以是由核心(处理器)直接处理的非易失性存储器,例如3D Xpoint存储器或NVDIMM-P等。
实施例中,可以经由共享内存142将数据集发送到目标软件SWP1、SWP2。
根据本发明的实施例的车辆用多核系统100的软件诊断过程为如下。
从目标核心110:A的内存映射信息及函数/语法信息,可以生成在系统环境中可能发生的所有组合(①)。此处,可在目标核心110构建内存映射信息,并可在目标核心110解析函数/语法信息。
可通过在验证核130:P将函数/语法信息和与其对应的存储器地址信息创建为数据库来生成数据集(②)。
为了方便说明,图2示出了生成100个数据集,但是应该理解本发明的数据集的数量不限于此。
每个数据集可以由一个函数信息(Func_PtrX)、至少一个语法信息(ArgumentX)和存储器地址(0xXXXXXXXX)组成。
对应于目标软件(例如,SWP1)的测试请求的数据集(函数、语法、存储器地址)可以被发送到共享内存142(③)。
在本实施例中,假设由第一数据集(或数据集1)执行验证。
目标核心110;A可以读取对应的数据集并根据所读取的数据集执行目标软件SWP1(④)。
目标软件SWP1的执行结果通过共享内存142发送到验证核130;P(⑤),验证核130可根据接收结果验证目标软件SWP1。
目标软件SWP1的验证结果可以通过UART或以太网等的通信部144发送到外部设备(例如,PC 200)(⑥)。
根据本发明的实施例的车辆用多核系统100,通过内部的验证软件验证目标软件(SWP1、SWP2)的操作,从而,在软件诊断操作中不需要其他的测试台。
图3是根据本发明的实施例的车辆用软件诊断系统300的结构的示例图。
根据图3,车辆用软件诊断系统300包括测试规格部310、目标部320、资料部330、验证部340、测试管理部350以及输出部360。
测试规格部310可以输出用于验证操作的输入数据(⑦)。
目标部320可以输出各目标软件SWP1、SWP2的内存映射信息和函数/语法信息(⑧)。此处,内存映射信息可以包括存储器地址信息。
此外,目标部320可根据测试序列操作目标软件,并且,通过共享内存370(图2中142)将操作结果发送到验证部340
Figure BDA0002041637570000081
资料部330从目标部302接收与测试规格部310所需的信息(内存映射信息,函数/语法信息),并将该信息发送到验证部340以创建数据库DB(⑨)。
资料部330可以将从目标部310提取的内存映射信息以及函数/语法信息组合成数据集(Func_Ptr,Argument,Memory Address等)。
资料部330可以将来自测试规格部310的输入数据包括在数据集中。
验证部340可以通过共享内存370(图2的142)将测试序列中的函数单元的数据集发送到测试管理部350(⑩)。
测试管理部350可根据发送的测试序列操作目标部320
Figure BDA0002041637570000091
验证部340可以确认来自目标部320的操作结果,基于操作结果执行目标软件的验证,并将验证结果发送到输出部360/>
Figure BDA0002041637570000092
在实施例中,验证部340存储对数据集所预期的操作结果(预期操作结果),将来自目标部320的操作结果与预期操作结果进行比较,对目标软件执行验证。
输出部360可以使用如CAN/UART/SPI/I2C/以太网等的通信从验证部340接收验证结果,并输出其结果。输出部360可为多核系统100的外部PC200(参见图2)。
在实施例中,测试规格部310和输出部360可以在图2所示的PC200中实现。在实施例中,目标部320、资料部330、验证部340及测试管理部350可以在图2所示的多核系统100中实现。
根据本发明的实施例的车辆用软件诊断系统300不执行存在于目标部的静态测试代码,而是验证部将要执行的函数及语法的信息发送到目标部来执行测试。
目标部包括用于执行该操作的管理器程序。因此,本发明的车辆用软件诊断系统00不需要构建或下载用于软件诊断的静态测试代码,可以实时重设测试。
图4是示出根据本发明的实施例的车辆用软件诊断系统300的软件诊断方法的示例流程图。
根据图2至图4,车辆用软件诊断系统300的软件诊断方法可以如下进行。
可以从目标部320提取目标软件的内存映射信息和函数/语法信息(S110)。在资料部330中可以执行内存映射信息和函数/语法信息的组合(S120)。
在验证部340对资料部330的输出信息创建数据库,生成与测试操作有关的多个数据集,验证部340将生成的数据集写入共享内存140(S140)。
当在步骤S140中生成数据集时,验证部340可以生成包括从测试规格部310输入的输入数据的数据集。
目标部320从共享内存142可以周期性地确认数据集(S150)。目标部320可以在改变包括在数据集中的语法的同时执行函数(S160)。目标部320可以将操作结果写入共享内存142(S170)。
验证部340可以基于共享内存142的值执行目标软件的验证并存储验证结果(S180)。
例如,验证部340可以将存储在共享内存142中的操作结果与预定的预期操作结果进行比较,以执行目标软件的验证。
在验证部340可以判断剩余(未输出到共享内存)数据集的数量是否为零。若剩余数据集的数量不是0(S190中的否),则可以执行步骤S140。另一方面,若剩余数据集的数量为0(S190中的是),则验证部340可以将验证结果创建数据库DB(S200)。
即,验证部340判断是否完成了对多个数据集的目标软件的验证。若未完成(S190-否),则将下一个数据集输出到共享内存,若完成(S190-是),则可以将验证结果创建数据库。
验证部340可以通过通信部144(UART/以太网)将验证结果发送到输出部360(S210)。输出部360最后可以输出软件验证结果(S220)。
图5是示出根据本发明的实施例的车辆用多核系统100中有关欢迎灯软件的测试操作的示例图。
测试规格部510可以选择并输出与欢迎灯相关的各种车辆的环境(IGN开/关,开/关门,RKE锁定/解锁等)的所有可能函数/语法的组合。
从欢迎灯软件提取内存映射信息和函数/语法信息,并且所提取的内存映射信息和函数/语法信息与从测试规格部510输入的信息一起在验证部520创建数据库,从而,可以生成多个数据集TC1至TC6(测试指令)。
每个数据集可以通过共享内存530发送到目标处理器540。
由目标处理器驱动的软件可以包括基础软件(BSW:basic software)、测试管理部,欢迎灯、停车辅助系统(PAS:parking assist system)、车身控制模块(BCM:bodycontrol module)、智能钥匙(SMK:smart key)、轮胎压力监控系统(TPMS:tire pressuremonitoring system)等。
测试管理部541可以从共享内存530读取数据集,并根据所读取的数据集操作欢迎灯软件。
图6是更详细地示出验证图5中所示的欢迎灯软件的过程的图。
目标软件的BSW542可以从共享内存530接收数据集并发送到测试管理部541,或者将欢迎灯软件543的操作结果输出到共享内存530。
测试管理部541可以包括测试指令TC和测试消息TM。此处,测试消息TM是用于指示读取或写入共享内存的指令,并且测试消息TC是用于指示目标软件的操作的指令。
图7是示出根据本发明的实施例的在车辆用软件诊断系统中实时重设测试用例的过程的图。
测试管理部710可以检查共享内存并判断是否存在相关的测试用例。若存在相关的测试用例,则测试管理部710可以从共享内存读取函数及语法。若调用相关函数,则测试管理部710执行目标软件的操作,软件操作结果可以返回到共享内存。
例如,假设TC(测试指令)有100种。在现有的软件诊断系统中,测试代码静态存储在目标部(Core)中。每个TC都具有几个函数和语法(变量)。若一个函数占用5个字节,假设一个TC基本上是4个函数,那么大约是20个字节。若TC有100个,则100个TC的大小为2000个字节,并且所有TC都存储在共享内存中。
相反,本发明的软件诊断系统,测试管理部通过共享内存(一个函数仅分配5个字节)仅接收一个函数。
查看TC1,在验证部可以通过共享内存将func_ptr_A和argument a,b发送给测试管理部。然后,测试管理部可以读取该部分,并在目标部中执行通过测试管理部读取的函数/语法。然后,在验证部可以再次发送func_ptr_B和c、d信息。
此外,测试控制部可以执行其他的TC。结果,在诊断操作中可以仅分配对应于一个函数、多个语法(argument)的存储器部分(5个字节)。
现有的软件诊断系统根据静态固定的测试用例执行了验证操作。另一方面,本发明的软件诊断系统可以通过函数/语法信息分配实时重设测试用例。
图8是示出根据本发明的实施例的车辆用软件诊断系统300的操作方法的示例流程图。
根据图2至图8,软件诊断系统300的操作方法为如下。
可以使用从目标SW提取的内存映射和函数/语法信息来生成用于测试操作的多个数据集(S810)。可以将多个数据集按顺序输出到共享内存(S820)。从共享内存读取数据集,并且可以根据所读取的数据集操作目标软件(S830)。此后,通过共享内存将操作结果发送到验证部,并且验证部基于操作结果验证目标软件(S840),并且可以输出验证结果。
如本领域的技术人员理解根据本发明的多个步骤及/或操作,还可以为其他的技术思想以不同的顺序或并列地在其他实施例中实施。
根据实施例,可以利用存储于一个以上的非暂时性计算机可读介质的指令、程序、交互式数据结构(interactive data structure)、用户及/或驱动服务器的一个以上的程序实现或执行多个步骤及/或动作的局部或全部。作为示例,一个以上的非暂时性计算机可读介质可以是软件、固件、硬件及/或其任何组合。此外,本说明书中所提的“模块”的功能可以用软件、固件、硬件及/或其任何组合来实现。
用于实现/执行本发明的实施例的一个以上动作/步骤/模块的一个以上的非暂时性计算机可读介质及/或装置可以包括包含专用集成电路(ASICs,application-specificintegrated circuits)、标准集成电路、微控制器的、执行适当指令的控制器及/或嵌入式控制器、现场可编程门阵列(FPGA,field-programmable gate arrays)、复杂可编程逻辑器件(CPLDs,complex programmable logic devices)及类似器件,但是,并不局限于此。
根据本发明的实施例的车辆用软件诊断系统及其操作方法可以通过在多核环境中将一个核心构成为验证用平台来验证其他核心。在实施例中,作为用于执行验证的核心间通信方法(进行测试的指令)可以利用共享内存。共享内存可从所有内核访问,并且易于配置。由于在一个系统中存在目标SW和验证SW,所以可以从公共外围电路访问。由于具有目标SW的内存映射和函数/语法信息,因此验证的覆盖范围(coverage)相当高。验证单元可以将各种测试用例实时地与内存映射和函数/语法信息组合,可以执行基于函数的测试,而不是继续进行已经在现有目标SW中定义的验证用例。
根据本发明的实施例的车辆用软件诊断系统及其操作方法可以在多核环境中一次验证多个核心。另外,根据本发明的实施例的车辆用软件诊断系统及其操作方法可以相对于验证核中的其他核心实时且全方位地、随机且动态地进行验证。可以降低目标SWP性能影响,并且可以提高验证的有效性,可以增加验证程序的可重用性。就成本而言,与以往相比便宜。
另外,本发明的所述内容只是用于实施发明的具体实施例而已。本发明不仅包括具体且能实际利用的装置本身,而且,还包括将来能作为技术利用的抽象的概念的构想所谓技术思想。

Claims (12)

1.一种车辆用软件诊断系统的操作方法,其中,包括:
生成具有与在多个核心中分别执行目标软件的诊断相关的函数及语法的多个数据集的步骤;
向共享内存依次输出所述多个数据集的步骤;
根据所述共享内存的数据集操作所述目标软件的步骤;以及
在验证核验证操作结果的步骤,
其中,生成所述多个数据集的步骤,包括:
从所述目标软件中提取内存映射信息和函数及语法信息的步骤;以及
组合所提取的所述内存映射信息和函数及语法信息来创建数据库,以由此针对所述目标软件生成所述多个数据集的步骤。
2.根据权利要求1所述的方法,其中,操作所述目标软件的步骤包括:在所述目标软件确认所述共享内存的数据集;在所述共享内存中存在数据集时,从所述共享内存读取所述数据集以操作所述目标软件的步骤。
3.根据权利要求1所述的方法,其中,操作所述目标软件的步骤包括:根据所述数据集中包含的函数及语法信息操作所述目标软件,在改变所述语法的同时执行所述函数的步骤。
4.根据权利要求1所述的方法,其中,进一步包括判断是否已经完成了基于所述多个数据集的所述目标软件的验证,若没有完成,则将下一个数据集输出到所述共享内存的步骤。
5.根据权利要求4所述的方法,其中,进一步包括若完成了所述目标软件的验证,则对所述目标软件的验证结果创建数据库的步骤。
6.根据权利要求1所述的方法,其中,所述多个核心和所述验证核构成一个车辆用多核系统。
7.一种车辆用软件诊断系统,其中,包括:
目标部,从与多个核心相对应的每个目标软件中提取内存映射信息和函数及语法信息;
资料部,组合所提取的所述内存映射信息和所述函数及语法信息;
验证部,通过对组合的信息根据所述目标软件的每个规格创建数据库来针对每个所述目标软件生成多个数据集;
共享内存,用于存储所述多个数据集中的至少一个;以及
测试管理部,根据存储在所述共享内存中的数据集来操作所述目标部,以使所述目标部根据所述数据集操作目标软件。
8.根据权利要求7所述的车辆用软件诊断系统,其中,所述目标部在所述测试管理部的控制下操作所述目标软件,并将操作结果发送到所述共享内存。
9.根据权利要求7所述的车辆用软件诊断系统,其中,所述验证部读取存储在所述共享内存中的操作结果,并通过比较读取的所述操作结果和预期动作结果验证结果来执行对所述目标软件的验证。
10.根据权利要求7所述的车辆用软件诊断系统,其中,所述验证部包括验证核,所述验证核具有用于验证所述多个核心的验证平台。
11.根据权利要求7所述的车辆用软件诊断系统,其中,所述验证部判断是否存在未输出到所述共享内存的数据集,若存在,则将下一个数据集输出到所述共享内存,若不存在,则将验证结果创建数据库。
12.根据权利要求7所述的车辆用软件诊断系统,其中,所述目标部根据所述数据集中包含的函数及语法信息操作所述目标软件,在改变所述语法的同时执行所述函数。
CN201910343939.0A 2018-05-31 2019-04-26 车辆用软件诊断系统以及其操作方法 Active CN110554937B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0062673 2018-05-31
KR1020180062673A KR102131982B1 (ko) 2018-05-31 2018-05-31 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
CN110554937A CN110554937A (zh) 2019-12-10
CN110554937B true CN110554937B (zh) 2023-05-23

Family

ID=68576511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910343939.0A Active CN110554937B (zh) 2018-05-31 2019-04-26 车辆用软件诊断系统以及其操作方法

Country Status (4)

Country Link
US (1) US11352018B2 (zh)
KR (1) KR102131982B1 (zh)
CN (1) CN110554937B (zh)
DE (1) DE102019207132A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102188738B1 (ko) * 2019-12-09 2020-12-08 현대오트론 주식회사 오토사 운영체제의 알람 오프셋 최적화 장치
CN111679868A (zh) * 2020-06-02 2020-09-18 上海元城汽车技术有限公司 汽车软件模型集成方法、装置、设备及存储介质
CN112445630B (zh) * 2020-11-18 2023-06-02 深圳市元征科技股份有限公司 一种信息交互方法、装置及终端设备
KR20220079221A (ko) 2020-12-04 2022-06-13 에스케이하이닉스 주식회사 저장 장치 및 컴퓨팅 시스템
CN112597721B (zh) * 2020-12-29 2022-03-18 无锡中微亿芯有限公司 一种高效的fpga集成验证方法
CN112817805A (zh) * 2021-01-22 2021-05-18 中汽创智科技有限公司 基于自适应平台汽车开放系统架构的内存数据安全验证系统及方法
CN113703868A (zh) * 2021-08-30 2021-11-26 深圳市元征软件开发有限公司 车辆诊断软件配置方法、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226502A (zh) * 2008-02-03 2008-07-23 中兴通讯股份有限公司 一种自动化测试方法及系统
KR20110059420A (ko) * 2009-11-27 2011-06-02 한국전자통신연구원 차량용 전자 제어 장치의 진단 장치 및 방법
US8402438B1 (en) * 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
CN102999423A (zh) * 2012-11-15 2013-03-27 华为技术有限公司 一种多核测试的方法和装置
CN103729288A (zh) * 2013-11-01 2014-04-16 华中科技大学 一种嵌入式多核环境下应用程序的调试方法
CN107077407A (zh) * 2015-01-21 2017-08-18 日立汽车系统株式会社 车辆控制装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441236B2 (en) * 2004-10-27 2008-10-21 Bae Systems Land & Armaments L.P. Software test environment for regression testing ground combat vehicle software
KR20110023124A (ko) * 2009-08-28 2011-03-08 한국전자통신연구원 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법
JPWO2011141992A1 (ja) * 2010-05-10 2013-07-22 トヨタ自動車株式会社 故障診断装置及び故障診断方法
US8732670B1 (en) * 2010-06-29 2014-05-20 Ca, Inc. Ensuring determinism during programmatic replay in a virtual machine
DE102010039021B4 (de) 2010-08-06 2023-02-23 Robert Bosch Gmbh Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät
DE102011005766A1 (de) * 2011-03-18 2012-09-20 Zf Friedrichshafen Ag Steuergerät für ein Kraftfahrzeug
US9477585B2 (en) 2012-11-09 2016-10-25 Coherent Logix, Incorporated Real time analysis and control for a multiprocessor system
KR20140078344A (ko) 2012-12-17 2014-06-25 콘티넨탈 오토모티브 시스템 주식회사 차량 소프트웨어의 성능 판단방법
US9875173B2 (en) * 2014-06-30 2018-01-23 Microsoft Technology Licensing, Llc Time travel debugging in managed runtime
KR102190663B1 (ko) 2014-10-22 2020-12-14 현대자동차주식회사 오토사 기반의 소프트웨어 플랫폼 검증 장치 및 그 방법
US9989589B2 (en) * 2016-03-25 2018-06-05 William Birurakis Computer system for automatic test equipment (ATE) using one or more dedicated processing cores for ATE functions
US11074158B2 (en) * 2017-12-01 2021-07-27 International Business Machines Corporation Gray-box testing based on concrete usages
US10628275B2 (en) * 2018-03-07 2020-04-21 Nxp B.V. Runtime software-based self-test with mutual inter-core checking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402438B1 (en) * 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
CN101226502A (zh) * 2008-02-03 2008-07-23 中兴通讯股份有限公司 一种自动化测试方法及系统
KR20110059420A (ko) * 2009-11-27 2011-06-02 한국전자통신연구원 차량용 전자 제어 장치의 진단 장치 및 방법
CN102999423A (zh) * 2012-11-15 2013-03-27 华为技术有限公司 一种多核测试的方法和装置
CN103729288A (zh) * 2013-11-01 2014-04-16 华中科技大学 一种嵌入式多核环境下应用程序的调试方法
CN107077407A (zh) * 2015-01-21 2017-08-18 日立汽车系统株式会社 车辆控制装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
腾英岩.多核多线程技术.《多核多线程技术》.东软电子出版社,2012, *

Also Published As

Publication number Publication date
CN110554937A (zh) 2019-12-10
DE102019207132A1 (de) 2019-12-05
KR102131982B1 (ko) 2020-07-08
KR20190136673A (ko) 2019-12-10
US20190367042A1 (en) 2019-12-05
US11352018B2 (en) 2022-06-07

Similar Documents

Publication Publication Date Title
CN110554937B (zh) 车辆用软件诊断系统以及其操作方法
US10409587B2 (en) Method for programming vehicle electronic control modules
US9792440B1 (en) Secure boot for vehicular systems
CN104247361A (zh) 采用消息过滤规则的安全配给对车辆电子控制单元的安全消息过滤
US20120096477A1 (en) Apparatus and method for providing vehicle information
US20130103379A1 (en) Apparatus and method for verifying interoperability between application software and autosar service
US20060218340A1 (en) Data validity determining method for flash EEPROM and electronic control system
US9298949B2 (en) Method for programming a mobile end device chip
CN114218882A (zh) 一种SoC芯片检验方法、装置及相关设备
Pike et al. Secure automotive software: The next steps
CN102708044A (zh) 完整性和兼容性验证装置和方法
KR102279776B1 (ko) 오토사 베이직 소프트웨어 테스팅 자동화 시스템 및 그 방법
US10691805B2 (en) Resident manufacturing test software based system for mitigating risks associated with vehicle control modules
CN103294837B (zh) 一种集成电路的验证调试方法及系统
US11669641B2 (en) Method for the computer-aided parameterization of a technical system
CN116225739A (zh) 计算设备及其安全服务的部署和扩展方法
CN105512032A (zh) 一种中间库虚拟控制测试方法及其系统
US9477446B1 (en) Bottom-up approach for integrating models for software components using contracts
CN108763145B (zh) 多核架构、接口卡和处理数据包的方法
CN111666219A (zh) 业务功能的验证方法和装置、计算机系统和存储介质
CN109491648B (zh) 嵌入式软件中库函数独立分区的实现方法和系统以及设备
CN117331565A (zh) 软件生成方法、装置、计算机设备及存储介质
US10904341B2 (en) Method for using a control device in different data transmission systems, control device, and data transmission system for performing such a method
CN117992021A (zh) 域控制器的架构生成方法、装置、设备及存储介质
CN116896749A (zh) 车用远程升级方法、装置、设备及存储介质

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211104

Address after: Seoul, South Kerean

Applicant after: Hyundai Aotebo Corp.

Address before: Seoul, South Kerean

Applicant before: HYUNDAI AUTRON Co.,Ltd.

GR01 Patent grant
GR01 Patent grant