KR102131982B1 - 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 - Google Patents
차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102131982B1 KR102131982B1 KR1020180062673A KR20180062673A KR102131982B1 KR 102131982 B1 KR102131982 B1 KR 102131982B1 KR 1020180062673 A KR1020180062673 A KR 1020180062673A KR 20180062673 A KR20180062673 A KR 20180062673A KR 102131982 B1 KR102131982 B1 KR 102131982B1
- Authority
- KR
- South Korea
- Prior art keywords
- software
- target software
- shared memory
- verification
- unit
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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/2242—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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
본 발명은 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법에 관한 것이다.
차량의 전기 전자적 구조가 복잡해짐에 따라 이를 제어하기 위한 소프트웨어의 양과 복잡도 또한 증가하고 있다. 따라서 소프트웨어를 개발하는데 소요되는 기간 역시 늘어나고 있으며 소프트웨어의 결함이 발생할 확률도 증가하고 있다. 이러한 소프트웨어의 복잡도를 해결하고 결함을 줄이기 위해 차량용 임베디드(embedded) 소프트웨어 기술에서 신뢰성과 재사용성을 보장해주는 표준화된 소프트웨어 플랫폼의 필요성이 대두되었다. 이를 위해 유럽계 자동차 선진 업체와 부품공급업자들이 서로 협력하여 오토사(AUTomotive Open System Architecture; AUTOSAR)라는 자동차 임베디드 소프트웨어 플랫폼 표준을 설립하였다. 오토사는 신뢰성과 재사용성을 목적으로 개발된 차량 전장용 소프트웨어 표준 플랫폼으로써 많은 자동차 회사에서 오토사를 기반으로 개발한 플랫폼이 탑재된 상용차 개발에 주력하고 있다. 오토사 소프트웨어 플랫폼은 통신, 진단, 메모리 등 다양한 제어기에 적용되기 위한 통합 사양을 담고 있고, 실제 제어기에 적용하기 위해서는 필요한 소프트웨어 부분만을 추출하여 시스템을 재구성(reconfiguration)하는 과정을 거치게 된다. 이러한 재구성 과정이 오토사 소프트웨어 플랫폼 사용을 위한 핵심 기술 중 하나이다.
본 발명의 목적은 비용을 절감하면서 검증 시간을 줄이는 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 메모리 사용을 줄이는 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템의 동작 방법은: 복수의 코어들의 각각에서 실행되는 타겟 소프트웨어의 진단에 관련된 함수 및 구문을 갖는 복수의 데이터 셋을 생성하는 단계; 상기 복수의 데이터 셋을 순차적으로 공유 메모리에 출력하는 단계; 상기 공유 메모리의 데이터 셋에 따라 상기 타겟 소프트웨어를 동작시키는 단계; 및 검증 코어에서 상기 동작 결과를 검증하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 복수의 데이터 셋을 생성하는 단계는, 상기 타겟 소프트웨어로부터 메모리 맵 정보와 함수 및 구문 정보를 추출하는 단계; 및 상기 추출된 메모리 맵 정보와 함수 및 구문 정보 및 입력 데이터를 조합함으로써 데이터 베이스화 시키는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 타겟 소프트웨어에서 상기 공유 메모리의 데이터 셋을 확인하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 공유 메모리에 데이터 셋이 존재할 때, 상기 공유 메모리로부터 상기 데이터 셋을 읽는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 타겟 소프트웨어를 동작시키는 단계는, 상기 읽혀진 데이터 셋에 따라 상기 타겟 소프트웨어를 동작시키는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 타겟 소프트웨어를 동작시키는 단계는, 상기 데이터 셋에 포함된 함수 및 구문에 따라 상기 타겟 소프트웨어를 동작시키는 단계를 포함하고, 상기 구문을 변경하면서 상기 함수를 수행할 수 있다.
실시 예에 있어서, 상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료 되었는 지를 판별하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 공유 메모리에 출력하는 단계는, 상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료되지 않았을 때, 다음 데이터 셋을 상기 공유 메모리에 출력하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료되었을 때, 상기 타겟 소프트웨어의 진단 결과를 데이터베이스화시키는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 진단 결과를 외부로 출력하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 복수의 코어들과 상기 검증 코어는 하나의 차량용 멀티 코어 시스템을 구성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템은, 복수의 코어들에 대응하는 타겟 소프트웨어들의 각각으로부터 메모리 맵 정보와 함수 및 구문 정보를 추출하는 타겟부; 상기 추출된 메모리 맵 정보와 상기 함수 및 구문 정보를 조합하는 자료부; 상기 타겟 소프트웨어들의 각각의 사양에 따라 상기 조합된 정보를 데이터베이스화함으로써 복수의 데이터 셋을 생성하는 검증부; 상기 복수의 데이터 셋 중에서 적어도 하나를 저장하는 공유 메모리; 및 상기 공유 메모리에 저장된 데이터 셋에 따라 상기 타겟 소프트웨어들 중에서 대응하는 타겟 소프트웨어를 실행시키는 테스트 매니저부를 포함할 수 있다.
실시 예에 있어서, 상기 타겟부는 상기 테스트 매니저부의 제어에 따라 상기 타겟 소프트웨어를 동작시키고, 상기 동작 결과를 상기 공유 메모리로 전송하는 것을 특징으로 한다.
실시 예에 있어서, 상기 검증부는 상기 공유 메모리에 저장된 동작 결과를 읽어오고, 상기 읽혀진 동작 결과와 상기 적어도 하나의 데이터 셋을 이용하여 검증 결과를 확인하는 것을 특징으로 한다.
실시 예에 있어서, 상기 검증 결과를 외부로 출력하기 위한 통신부를 더 포함할 수 있다.
실시 예에 있어서, 상기 검증부는 상기 복수의 코어들을 검증하기 위한 검증용 플랫폼을 갖는 검증 코어를 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은, 별도의 테스트 벤치 혹은 테스트 코드 없이 자체 검증 소프트웨어에 따라 복수의 코어에서 동작하는 타겟 소프트웨어들을 검증할 수 있다. 이에 따라, 본 발명의 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은 고가의 테스트 벤치를 사용하지 않고, 실시간으로 소프트웨어 검증을 수행할 수 있다.
또한, 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은, 테스트 관련 데이터 셋을 필요한 만큼만 공유 메모리를 사용함으로써, 종래의 그것과 비교하여 공유 메모리 부족 현상을 개선할 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 일반적인 차량용 소프트웨어 진단 시스템(1)을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)을 예시적으로 보여주는 블록도이다.
도 3는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 구성을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 소프트웨어 진단 방법을 예시적으로 보여주는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)에서 웰컴 라이트(welcome light) 소프트웨어 관련한 테스트 동작을 예시적으로 보여주는 도면이다.
도 6은 도 5에 도시된 웰컴 라이트 소프트웨어를 검증하는 과정을 보다 자세하고 보여주는 도면이다.
도 7는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)에서 실시간으로 테스트 케이스를 재설정하는 과정을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 1은 일반적인 차량용 소프트웨어 진단 시스템(1)을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)을 예시적으로 보여주는 블록도이다.
도 3는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 구성을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 소프트웨어 진단 방법을 예시적으로 보여주는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)에서 웰컴 라이트(welcome light) 소프트웨어 관련한 테스트 동작을 예시적으로 보여주는 도면이다.
도 6은 도 5에 도시된 웰컴 라이트 소프트웨어를 검증하는 과정을 보다 자세하고 보여주는 도면이다.
도 7는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)에서 실시간으로 테스트 케이스를 재설정하는 과정을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 동작 방법을 예시적으로 보여주는 흐름도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일반적인 차량용 소프트웨어 진단 시스템(1)을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 차량용 소프트웨어 진단 시스템(1)은 멀티 코어 시스템(10) 및 복수의 테스트 벤치(20, 30)를 포함한다. 멀티 코어 시스템(10)은 제 1 코어(12; A), 제 2 코어(14; B), 및 주변 회로(16)를 포함한다. 제 1 코어(12)는 제 1 타겟 소프트웨어(SWP1)에 의해 구동되고, 제 2 코어(14)는 제 2 타겟 소프트웨어(SWP2)에 의해 구동된다. 주변 회로(16)는 입출력 장치, 타이머, 메모리 등)을 포함한다.
일반적인 차량용 소프트웨어 진단 시스템(1)은, 외부의 적어도 하나의 테스트 벤치(20, 30)로부터 테스트 코드(test code)를 멀티 코어 시스템(10)으로 전송하고, 테스트 코드에 따라 각 코어(12, 14)에서 실행되는 소프트웨어(SWP1, SWP2) 동작을 검증한다.
테스트 벤치(20, 30)는 CAN(control area network), UART(universal asynchronous receiver/transmitter), I2C(inter integrated circuit), SPI(serial peripheral interface), Ethernet 등 다양한 통신 방식을 통하여 타겟 소프트웨어에 명령을 전달하고, 전달된 명령에 따라 타겟 소프트웨어를 동작시킴으로 소프트웨어 검증을 수행한다.
일반적인 차량용 소프트웨어 진단 시스템(1)은 타겟 차량 제어기, 즉 멀티 코어 시스템(10)와 완전히 분리 되어 테스트 벤치(20,30)를 필요로 한다. 이러한 테스트 벤치(20,30)의 구성에 따른 비용, 시간에 대한 소모가 상당히 크다. 또한, 테스트 벤치(20, 30)와 멀티 코어 시스템(10) 사이를 연결하기 위한 통신 라인이 필요하다. 코어 각각의 테스트 코드가 필요하고, 결과를 읽기 위하여 새로운 환경 개발이 요구된다. 이로 인하여 부하가 증가된 상황에서 테스트가 진행될 수밖에 없다. 또한 일반적인 차량용 소프트웨어 진단 시스템(1)은 타겟 소프트웨어 검증을 수행하기 위한 테스트 케이스(test case)를 상당히 많이 필요로 하기 때문에, 타겟 소프트웨어가 로딩된 코어의 메모리 부족 현상을 야기할 수 있다. 이로 인하여 일반적인 차량용 소프트웨어 진단 시스템(1)은 전체 타겟 소프트웨어(SWP1, SWP2)를 검증하기 위하여 주기적으로 테스트 코드를 수정 하거나 빌드(build) 해야만 한다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템은 멀티코어 환경에서 하나의 코어를 검증용 플랫폼으로 구성함으로써, 다른 코어들을 검증하도록 구현될 수 있다.
도 2는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)을 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 차량용 멀티 코어 시스템(100)은 제 1 코어(110; A), 제 2 코어(120; B), 및 제 3 코어(130; P), 및 주변 회로(140)를 포함할 수 있다.
제 1 코어(110)는 제 1 타겟 소프트웨어(SWP1)에 의해 구동되도록 구현될 수 있다. 도시되지 않았지만 제 1 타겟 소프트웨어(SWP1)는 멀티 코어 시스템(100) 내부의 비휘발성 메모리(예를 들어, ROM(read only memory), 플래시 메모리, 저항성 메모리 등)에 저장될 수 있다. 제 2 코어(120)는 제 2 타겟 소프트웨어(SWP2)에 의해 구동되도록 구현될 수 있다. 제 2 타겟 소프트웨어(SWP2)는 비휘발성 메모리에 저장될 수 있다.
제 3 코어(130)는 검증 소프트웨어에 의해 구동되도록 구현될 수 있다. 검증 소프트웨어는 다양한 데이터 셋(set data)에 의거하여 제 1 타겟 소프트웨어(SWP1) 및 제 2 타겟 소프트웨어(SWP2)의 동작을 검증할 수 있다. 각 데이터 셋은 함수(기능; function)과 구문(아규먼트; argument)의 조합으로 이루어질 수 있다. 검증 소프트웨어는 비휘발성 메모리에 저장될 수 있다.
실시 예에 있어서, 제 1 및 제 2 타겟 소프트웨어(SWP1, SWP2)의 각각은, 검증 소프트웨어로부터 전송된 데이터 셋을 수신하고, 수신된 데이터 셋에 따라 테스트 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 검증 소프트웨어는 순차적으로 데이터 셋을 타겟 소프트웨어(SWP1, SWP2)로 전송할 수 있다. 한편, 도 2에서는 3개의 코어(110, 120, 130)가 도시되지만, 멀티 코어 시스템(100)의 코어의 개수는 여기에 제한되지 않는다고 이해되어야 할 것이다.
한편, 도 2에서는 검증 소프트웨어를 구동하는 별도의 코어(130)이 도시되지만, 검증 소프트웨어 만을 구동하기 위한 별도의 코어가 존재하지 않을 수도 있다고 이해되어야 할 것이다.
주변 회로(140)는 멀티 코어 시스템(100)을 구동하는데 필요한 다양한 장치들(입출력 장치, 타이머, 메모리 등)를 포함할 수 있다. 특히, 주변 회로(140)는 코어들(110, 120, 130)에 의해 공유되는 공유 메모리(142), 및 외부와 통신을 수행하기 위한 통신부(144)를 포함할 수 있다. 실시 예에 있어서, 공유 메모리(142)는 휘발성 메모리 (예를 들어, RAM(random access memory), SRAM(synchronous random access memory) 등)일 수 있다. 한편, 공유 메모리(142)가 반드시 휘발성 메모리일 필요는 없다고 이해되어야 할 것이다. 공유 메모리(142)는 3D Xpoint 메모리 혹은 NVDIMM-P 등과 같이, 코어(프로세서)에 의해 직접 핸들링 되는 비휘발성 메모리일 수 있다. . 실시 예에 있어서, 데이터 셋은 공유 메모리(142)를 경유하여 타겟 소프트웨어(SWP1, SWP2)로 전송될 수 있다.
본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)의 소프트웨어 진단 과정은 다음과 같다. 타겟 코어(110; A)의 메모리 맵 정보 및 함수/구문 정보로부터 시스템 환경에서 일어날 수 있는 모든 조합이 생성될 수 있다(①). 여기서 메모리 맵 정보는 타겟 코어(110)에서 빌드(build) 되고, 함수/구문 정보는 타겟 코어(110)에서 파싱(parching) 될 수 있다. 검증 코어(130, P)에 함수/구문 정보와 이에 대응하는 메모리 어드레스 정보가 데이터베이스화 됨으로써 데이터 셋이 생성될 수 있다(②). 도 2에서는 설명의 편의를 위하여 100개의 데이터 셋이 생성되는 것을 도시하였으나, 본 발명의 데이터 셋의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다. 각 데이터 셋은 하나의 함수 정보(Func_PtrX), 적어도 하나의 구문 정보(ArgumentX), 메모리 어드레스(0xXXXXXXXX)로 구성될 수 있다. 타겟 소프트웨어(예를 들어, SWP1)에 대한 테스트 요청에 대응하는 데이터 셋(함수, 구문, 메모리 어드레스)이 공유 메모리(142)로 전송될 수 있다(③). 타겟 코어(110; A)에서 대응하는 데이터 셋을 읽고, 읽혀진 데이터 셋에 따라 타겟 소프트웨어(SWP1)를 실행할 수 있다(④). 타겟 소프트웨어(SWP1)의 실행 결과는 공유 메모리(142)를 통해 검증 코어(130; P)에 전송되고, 검증 코어(130)는 주변 회로(140)와 함께 수신된 결과에 따라 타겟 소프트웨어(SWP1)의 검증 결과를 판별할 수 있다(⑤). 판별된 타겟 소프트웨어(SWP1)의 검증 결과는 UART/Ethernet 등과 같은 통신부(144)을 통해 외부 장치(예를 들어, PC; 200)로 전송될 수 있다(⑥).
본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)은 타겟 소프트웨어(SWP1, SWP2)의 동작을 내부의 검증 소프트웨어에 의해 검증 가능하게 함으로써, 소프트웨어 진단 동작에서 별도의 테스트 벤치를 필요치 않는다.
도 3는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 구성을 예시적으로 보여주는 도면이다. 도 3를 참조하면, 차량용 소프트웨어 진단 시스템(300)은, 테스트 사양부(310), 타겟부(320), 자료부(330), 검증부(340), 테스트 매니저부(350), 및 출력부(360)를 포함할 수 있다.
테스트 사양부(310)는 검증 동작을 위한 입력 데이터를 출력 할 수 있다(①
타겟부(320)는 각 타겟 소프트웨어(SWP1, SWP2)의 메모리 맵(memory map) 정보와 함수/구분(function/argument) 정보를 출력할 수 있다(②여기서 메모리 맵 정보는 메모리 어드레스 정보를 포함할 수 있다. 또한, 타겟부(320)는 테스트 시퀀스에 따라 타겟 소프트웨어를 동작시키고, 동작 결과를 공유 메모리(142)를 통해 검증부(340)로 전송할 수 있다(⑥
자료부(330)는 테스트 사양부(310)에 필요한 정보(메모리 맵 정보, 함수/구문 정보)를 수신하고, 이를 검증부(340)로 전송하여 DB(database)화 시킬 수 있다(③자료부(330)는 타겟부(310)로부터 추출된 메모리 맵 정보 및 함수/구문 정보를 데이터 셋(Func_Ptr, Argument, Memory Address 등)으로 조합할 수 있다.
검증부(340)는 공유 메모리(142; 도 2 참조)를 통해 테스트 시퀀스에 있는 함수 단위의 데이터 셋을 테스트 매니저부(350)로 전송할 수 있다(④
테스트 매니저부(350)는 전송된 테스트 시퀀스에 따라 타겟부(320)를 동작시킬 수 있다(⑤검증부(340)는 주변 회로(140, 도 2 참조)를 이용하여 검증 결과를 확인 및 반복할 수 있다.
출력부(360)는 검증 결과를 CAN/UART/SPI/I2C/Ethernet 등과 같은 통신을 이용하여 수신하고, 그 결과를 출력할 수 있다. 출력부(360)는 멀티 코어 시스템(100)의 외부의 PC(200)일 수 있다.
실시 예에 있어서, 테스트 사양부(310)과 출력부(360)는 도 2에 도시된 PC(200)에서 구현될 수 있다. 실시 예에 있어서, 나머지 구성, 타겟부(320), 자료부(330), 검증부(340), 및 테스트 매니저부(350)는 도 2에 도시된 멀티 코어 시스템(100)에서 구현될 수 있다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)은 타겟부에 존재하는 정적 테스트 코드(static test code)를 수행하는 것이 아니라, 검증부에서 수행하고자 하는 함수(function)와 구문(argument)들의 정보를 타겟부에 전송하고 테스트를 수행할 수 있다. 타겟부는 이러한 동작을 수행하기 위한 매니저 프로그램을 포함하고 있다. 이로써, 본 발명의 차량용 소프트웨어 진단 시스템(300)은 소프트웨어 진단을 위한 정적 테스트 코드(static test code) 빌드 하거나 다운로드 시킬 필요가 없으며, 실시간으로 테스트를 재설정할 수 있다.
도 4는 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 소프트웨어 진단 방법을 예시적으로 보여주는 흐름도이다. 도 2 내지 도 4를 참조하면, 차량용 소프트웨어 진단 시스템(300)의 소프트웨어 진단 방법은 다음과 같이 진행될 수 있다.
타겟부(320)에서 타겟 소프트웨어의 메모리 맵 정보와 함수/구문 정보가 추출될 수 있다(S110). 자료부(330)에서 메모리 맵 정보와 함수/구문 정보의 조합이 수행될 수 있다(S120). 검증부(340)에서 자료부(330)의 출력 정보 및 입력부(131)의 입력 데이터가 DB화 됨으로써, 테스트 동작과 관련된 복수의 데이터 셋이 생성될 수 있다(S140). 검증부(340)에서 데이터 셋을 공유 메모리(140)에 쓸 수 있다(S140). 타겟부(320)에서 공유 메모리(142)로부터 데이터 셋을 주기적으로 확인할 수 있다(S150). 타겟부(320)에서 데이터 셋에 포함된 구문을 변경하면서 함수를 수행할 수 있다(S160). 타겟부(320)에서 동작 결과를 공유 메모리(142)에 쓸 수 있다(S170). 검증부(340)에서 주변 회로(140)과 공유 메모리(142) 값을 수신하고, 그 검증 결과를 저장할 수 있다(S180). 검증부(340)에서 남은 데이터 셋의 개수가 0 인지 판별될 수 있다. 만일 남은 데이터 셋의 개수가 0이 아니라면, S140 단계가 진행될 수 있다. 반면에, 남은 데이터 셋의 개수가 0이라면, 검증부(340)는 검증 결과를 DB화 시킬 수 있다(S200). 검증부(340)는 검증 결과를 통신부(144; UART/Ethernet)를 통해 출력부(360)로 전송할 수 있다(S210). 출력부(360)는 최종적으로 소프트웨어 검증 결과를 확인할 수 있다(S220).
도 5는 본 발명의 실시 예에 따른 차량용 멀티 코어 시스템(100)에서 웰컴 라이트(welcome light) 소프트웨어 관련한 테스트 동작을 예시적으로 보여주는 도면이다. 테스트 사양부는 웰컴 라이트에 관련된 다양한 자동차의 환경(IGN 온/오프, 도어 개폐, RKE 락/언락 등) 가능한 모든 함수/구문들의 조합을 선정하여 출력할 수 있다. 웰컴 라이트 소프트웨어로부터 메모리 맵 정보와 함수/구문 정보가 추출되고, 추출된 메모리 맵 정보와 함수/구문 정보는 테스트 사양부로부터 입력된 정보와 함께 데이터베이스화 됨으로써, 복수의 데이터 셋(TC1 ~ TC6; 테스트 명령)이 생성될 수 있다.
데이터 셋의 각각은 공유 메모리를 통하여 타겟 프로세서로 전송될 수 있다. 타겟 프로세서에 의해 구동되는 소프트웨어는 BSW(basic software), 테스트 매니저부 웰컴 라이트, PAS(parking assist system), BCM(body control module), SMK(smart key), TPMS(tire pressure monitoring system) 등을 포함할 수 있다. 테스트 매니저부는 공유 메모리로부터 데이터 셋을 읽고, 읽혀진 데이터 셋에 따라 웰컴 라이트 소프트웨어를 동작시킬 수 있다.
도 6은 도 5에 도시된 웰컴 라이트 소프트웨어를 검증하는 과정을 보다 자세하고 보여주는 도면이다. 타겟 소프트웨어의 BSW는 공유 메모리로부터 데이터 셋의 수신하여 테스트 매니저부에 전달하거나 및 웰컴 라이트 소프트웨어의 동작 결과를 공유 메모리로 출력할 수 있다.
테스트 매니저부는 테스트 명령(TC) 및 테스트 메시지(TM)를 포함할 수 있다. 여기서, 테스트 메시지(TM)는 공유 메모리의 읽기 혹은 쓰기를 지시하는 명령이고, 테스트 메시지(TC)는 타겟 소프트웨어의 동작을 지시하는 명령이다.
도 7은 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템에서 실시간으로 테스트 케이스를 재설정하는 과정을 예시적으로 보여주는 도면이다.
테스트 매니저부는 공유 메모리를 체크하고, 관련된 테스트 케이스가 있는지 없는지를 판별할 수 있다. 만일, 관련된 테스트 케이스가 존재한다면, 공유 메모리로부터 함수 및 구문을 읽어 올 수 있다. 관련 함수가 꺼내지면(invoke), 이에 따라 타겟 소프트웨어 동작이 수행될 수 있다. 소프트웨어 동작 결과는 공유 메모리로 리턴 될 수 있다.
예를 들어, TC가 100 가지가 있다고 가정하겠다. 종래 소프트웨어 진단 시스템에서 테스트 코드는 타겟부(Core)에 정적으로 저장된다. TC 한 개당 여러 함수(function)과 구문(변수)들을 가지고 있다. 하나의 함수가 5 byte를 차지한다면, 한 개의 TC가 기본적으로 4개의 함수라고 가정하면 약 20byte 이다. TC가 100개면, 2000 byte를 차지한다. 그 부분이 공유 메모리에 모두 차지가 되어 있다.
반면에, 본 발명의 소프트웨어 진단 시스템은 테스트 매니저부가 하나의 함수에 대해서만 공유 메모리(한 개의 Function 5byte정도만 할당)를 통해 수신할 수 있다. TC1을 보면, 검증부에서 func_ptr_A와 argument a, b를 공유 메모리를 통해 전송할 수 있다. 그리고 테스트 매니저부는 그 부분을 읽어 내고, 타겟부에서 읽혀진 함수/구문을 수행할 수 있다. 그 후, 검증부에서 다시 func_ptr_B와 c, d 정보를 전송할 수 있다. 또한, 테스트 매니저부는 다른 TC를 수행할 수 있다. 결국은 진단 동작에서 하나의 함수(function), 복수의 구문(argument)에 대응하는 메모리 부분만 할당(5byte)될 수 있다.
종래의 소프트웨어 진단 시스템은 정적으로 고정된 테스트 케이스에 따라 검증 동작을 수행하였다. 반면에 본 발명의 소프트웨어 진단 시스템은 함수/구문 정보 할당을 통하여 실시간으로 테스트 케이스를 재설정할 수 있다.
도 8은 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템(300)의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 2 내지 도 8를 참조하면, 소프트웨어 진단 시스템(300)의 동작 방법은 다음과 같다. 타겟 SW로부터 추출된 메모리 맵, 함수/구문 정보를 이용하여 테스트 동작을 위한 복수의 데이터 셋이 생성될 수 있다(S210). 복수의 데이터 셋은 순차적으로 공유 메모리로 출력될 수 있다(S220). 공유 메모리로부터 데이터 셋을 읽어오고, 읽혀진 데이터 셋에 따라 타겟 소프트웨어가 동작될 수 있다(S230). 이후 동작 결과는 공유 메모리를 통하여 검증부로 전송되고, 검증부는 동작 결과에 따른 타겟 소프트웨어에 대한 테스트 결과를 출력할 수 있다(S240).
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.
본 발명의 실시 예들의 하나 이상의 동작들/단계들/모듈들을 구현/수행하기 위한 하나 이상의 비-일시적 컴퓨터-판독가능 매체 및/또는 수단들은 ASICs(application-specific integrated circuits), 표준 집적 회로들, 마이크로 컨트롤러를 포함하는, 적절한 명령들을 수행하는 컨트롤러, 및/또는 임베디드 컨트롤러, FPGAs(field-programmable gate arrays), CPLDs(complex programmable logic devices), 및 그와 같은 것들을 포함할 수 있지만, 여기에 한정되지는 않는다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은, 멀티코어 환경에서 하나의 코어를 검증용 플랫폼으로 구성함으로써 다른 코어들을 검증할 수 있다. 실시 예에 있어서, 검증을 수행하기 위한 코어 간 통신 방법(테스트를 진행하라는 커맨드)으로는 공유 메모리가 이용될 수 있다. 공유 메모리는 모든 코어에서 접근이 가능하고, 구성하기가 쉽다. 하나의 시스템 내에 타겟 SW와 검증 SW가 존재하기 때문에, 공통의 주변회로에서 모두 접근이 가능하다. 타겟 SW의 메모리 맵과 함수/구문 정보를 갖고 있기 때문에, 검증의 커버리지(coverage)가 상당히 높다. 종래의 타겟 SW에서 이미 정의된 검증 케이스를 진행하는 것이 아니라, 메모리 맵과 함수/구문 정보로 검증부에서 실시간으로 다양한 테스트 케이스를 조합하고, 함수 기반의 테스트가 진행될 수 있다.
본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은 multi Core 환경에서 여러 코어들을 한번에 검증 가능하다. 또한, 본 발명의 실시 예에 따른 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법은 검증 코어에서 타 코어들에 대해 실시간 적이고 전 방향적으로 Random, Dynamic하게 검증 가능하다. Target SWP 성능 영향이 감소하고, 검증의 유효성 증가될 수 있다. 검증 프로그램의 재사용성이 증가될 수 있다. 비용적인 측면에서도 종래의 그것과 비교하여 저렴하다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
1, 300: 차량용 소프트웨어 진단 시스템
20, 30; 테스트 벤치
10, 100: 차량용 멀티 코어 시스템
12, 110: 제 1 코어
14, 120: 제 2 코어
130: 제 3 코어
16, 140: 주변 회로
142: 공유 메모리
310: 테스트 사양부
320: 타겟부
330: 자료부
340: 검증부
350: 테스트 매니저부
360: 출력부
SWP1: 제 1 타겟 소프트웨어
SWP2: 제 2 타겟 소프트웨어
20, 30; 테스트 벤치
10, 100: 차량용 멀티 코어 시스템
12, 110: 제 1 코어
14, 120: 제 2 코어
130: 제 3 코어
16, 140: 주변 회로
142: 공유 메모리
310: 테스트 사양부
320: 타겟부
330: 자료부
340: 검증부
350: 테스트 매니저부
360: 출력부
SWP1: 제 1 타겟 소프트웨어
SWP2: 제 2 타겟 소프트웨어
Claims (16)
- 차량용 소프트웨어 진단 시스템의 동작 방법에 있어서:
복수의 코어들의 각각에서 실행되는 타겟 소프트웨어의 진단에 관련된 함수 및 구문을 갖는 복수의 데이터 셋을 생성하는 단계;
상기 복수의 데이터 셋을 순차적으로 공유 메모리에 출력하는 단계;
상기 공유 메모리의 데이터 셋에 따라 상기 타겟 소프트웨어를 동작시키는 단계; 및
검증 코어에서 상기 타겟 소프트웨어의 동작 결과를 검증하는 단계를 포함하고,
상기 복수의 코어들과 상기 검증 코어는 하나의 멀티 코어 시스템을 구성하고, 상기 복수의 데이터 셋을 생성하는 단계, 상기 공유 메모리에 출력하는 단계, 상기 타겟 소프트웨어를 동작시키는 단계, 및 상기 검증하는 단계는 상기 검증 코어에서 수행되는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 복수의 데이터 셋을 생성하는 단계는,
상기 타겟 소프트웨어로부터 메모리 맵 정보와 함수 및 구문 정보를 추출하는 단계; 및
상기 추출된 메모리 맵 정보와 함수 및 구문 정보 및 입력 데이터를 조합함으로써 데이터 베이스화 시키는 단계를 포함하는 방법. - 제 1 항에 있어서,
상기 타겟 소프트웨어에서 상기 공유 메모리의 데이터 셋을 확인하는 단계를 더 포함하는 방법. - 제 3 항에 있어서,
상기 공유 메모리에 데이터 셋이 존재할 때, 상기 공유 메모리로부터 상기 데이터 셋을 읽는 단계를 더 포함하는 방법. - 제 4 항에 있어서,
상기 타겟 소프트웨어를 동작시키는 단계는,
상기 공유 메모리로부터 읽혀진 상기 데이터 셋에 따라 상기 타겟 소프트웨어를 동작시키는 단계를 포함하는 방법. - 제 4 항에 있어서,
상기 타겟 소프트웨어를 동작시키는 단계는,
상기 데이터 셋에 포함된 함수 및 구문에 따라 상기 타겟 소프트웨어를 동작시키는 단계를 포함하고,
상기 구문을 변경하면서 상기 함수를 수행하는 방법. - 제 1 항에 있어서,
상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료되었는 지를 판별하는 단계를 더 포함하는 방법. - 제 7 항에 있어서,
상기 공유 메모리에 출력하는 단계는,
상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료되지 않았을 때, 다음 데이터 셋을 상기 공유 메모리에 출력하는 단계를 포함하는 방법. - 제 7 항에 있어서,
상기 복수의 데이터 셋에 대한 상기 타겟 소프트웨어 진단이 완료되었을 때, 상기 타겟 소프트웨어의 진단 결과를 데이터베이스화시키는 단계를 더 포함하는 방법. - 제 9 항에 있어서,
상기 진단 결과를 외부로 출력하는 단계를 더 포함하는 방법. - 삭제
- 복수의 코어들에 대응하는 타겟 소프트웨어들의 각각으로부터 메모리 맵 정보와 함수 및 구문 정보를 추출하는 타겟부;
상기 추출된 메모리 맵 정보와 상기 함수 및 구문 정보를 조합하는 자료부;
상기 타겟 소프트웨어들의 각각의 사양에 따라 상기 조합된 정보를 데이터베이스화함으로써 복수의 데이터 셋을 생성하는 검증부;
상기 복수의 데이터 셋 중에서 적어도 하나를 저장하는 공유 메모리; 및
상기 공유 메모리에 저장된 데이터 셋에 따라 상기 타겟 소프트웨어들 중에서 대응하는 타겟 소프트웨어를 실행시키는 테스트 매니저부를 포함하고,
상기 타겟부, 상기 자료부, 상기 검증부 및 상기 테스트 매니저부는 상기 복수의 코어들과 함께 하나의 멀티 코어 시스템을 구성하는 검증 코어에 구비되는 것을 특징으로 하는, 차량용 소프트웨어 진단 시스템. - 제 12 항에 있어서,
상기 타겟부는 상기 테스트 매니저부의 제어에 따라 상기 타겟 소프트웨어를 동작시키고, 상기 타겟 소프트웨어의 동작 결과를 상기 공유 메모리로 전송하는 것을 특징으로 하는 차량용 소프트웨어 진단 시스템. - 제 12 항에 있어서,
상기 검증부는 상기 공유 메모리에 저장된 동작 결과를 읽어오고, 상기 공유 메모리로부터 읽혀진 동작 결과와 상기 적어도 하나의 데이터 셋을 이용하여 검증 결과를 확인하는 것을 특징으로 하는 차량용 소프트웨어 진단 시스템. - 제 14 항에 있어서,
상기 검증 결과를 외부로 출력하기 위한 통신부를 더 포함하는 차량용 소프트웨어 진단 시스템. - 제 12 항에 있어서,
상기 검증부는 상기 복수의 코어들을 검증하기 위한 검증용 플랫폼을 갖는 것을 특징으로 하는 차량용 소프트웨어 진단 시스템.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180062673A KR102131982B1 (ko) | 2018-05-31 | 2018-05-31 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
US16/393,505 US11352018B2 (en) | 2018-05-31 | 2019-04-24 | System for diagnosing software for vehicle and operating method thereof |
CN201910343939.0A CN110554937B (zh) | 2018-05-31 | 2019-04-26 | 车辆用软件诊断系统以及其操作方法 |
DE102019207132.5A DE102019207132A1 (de) | 2018-05-31 | 2019-05-16 | System zum Diagnostizieren von Software von Fahrzeug und Betriebsverfahren dafür |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180062673A KR102131982B1 (ko) | 2018-05-31 | 2018-05-31 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190136673A KR20190136673A (ko) | 2019-12-10 |
KR102131982B1 true KR102131982B1 (ko) | 2020-07-08 |
Family
ID=68576511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180062673A KR102131982B1 (ko) | 2018-05-31 | 2018-05-31 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11352018B2 (ko) |
KR (1) | KR102131982B1 (ko) |
CN (1) | CN110554937B (ko) |
DE (1) | DE102019207132A1 (ko) |
Families Citing this family (7)
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集成验证方法 |
CN112817805B (zh) * | 2021-01-22 | 2024-07-02 | 中汽创智科技有限公司 | 基于自适应平台汽车开放系统架构的内存数据安全验证系统及方法 |
CN113703868B (zh) * | 2021-08-30 | 2024-10-01 | 深圳市元征软件开发有限公司 | 车辆诊断软件配置方法、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130061098A1 (en) * | 2010-05-10 | 2013-03-07 | Toyoya Jidosha Kabushiki Kaisha | Failure check apparatus and failure check method |
Family Cites Families (18)
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 |
US8402438B1 (en) * | 2007-12-03 | 2013-03-19 | Cadence Design Systems, Inc. | Method and system for generating verification information and tests for software |
CN101226502B (zh) * | 2008-02-03 | 2010-10-13 | 中兴通讯股份有限公司 | 一种自动化测试方法及系统 |
KR20110023124A (ko) * | 2009-08-28 | 2011-03-08 | 한국전자통신연구원 | 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법 |
KR20110059420A (ko) | 2009-11-27 | 2011-06-02 | 한국전자통신연구원 | 차량용 전자 제어 장치의 진단 장치 및 방법 |
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 |
EP2917837B1 (en) | 2012-11-09 | 2019-01-02 | Coherent Logix Incorporated | Real time analysis and control for a multiprocessor system |
CN102999423B (zh) * | 2012-11-15 | 2016-03-02 | 华为技术有限公司 | 一种多核测试的方法和装置 |
KR20140078344A (ko) | 2012-12-17 | 2014-06-25 | 콘티넨탈 오토모티브 시스템 주식회사 | 차량 소프트웨어의 성능 판단방법 |
CN103729288B (zh) * | 2013-11-01 | 2016-02-24 | 华中科技大学 | 一种嵌入式多核环境下应用程序的调试方法 |
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 | 현대자동차주식회사 | 오토사 기반의 소프트웨어 플랫폼 검증 장치 및 그 방법 |
JP6393628B2 (ja) * | 2015-01-21 | 2018-09-19 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
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 |
-
2018
- 2018-05-31 KR KR1020180062673A patent/KR102131982B1/ko active IP Right Grant
-
2019
- 2019-04-24 US US16/393,505 patent/US11352018B2/en active Active
- 2019-04-26 CN CN201910343939.0A patent/CN110554937B/zh active Active
- 2019-05-16 DE DE102019207132.5A patent/DE102019207132A1/de active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130061098A1 (en) * | 2010-05-10 | 2013-03-07 | Toyoya Jidosha Kabushiki Kaisha | Failure check apparatus and failure check method |
Also Published As
Publication number | Publication date |
---|---|
DE102019207132A1 (de) | 2019-12-05 |
KR20190136673A (ko) | 2019-12-10 |
CN110554937A (zh) | 2019-12-10 |
CN110554937B (zh) | 2023-05-23 |
US11352018B2 (en) | 2022-06-07 |
US20190367042A1 (en) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102131982B1 (ko) | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 | |
CN109684672B (zh) | 一种soc芯片系统级验证系统及方法 | |
JP5724033B2 (ja) | 車両内のコンポーネントを診断するシステム | |
US7941771B2 (en) | Method for functional verification of an integrated circuit model for constituting a verification platform, equipment emulator and verification platform | |
KR102000957B1 (ko) | 프로그램가능한 테스트 기기 | |
US20130103379A1 (en) | Apparatus and method for verifying interoperability between application software and autosar service | |
CN113419755B (zh) | 汽车ecu程序刷写方法、系统、可读存储介质及计算机设备 | |
KR102154279B1 (ko) | 차량용 디버깅 시스템의 동작 방법 | |
WO2024109535A1 (zh) | 通信交互方法、装置、设备及存储介质 | |
CN113326670B (zh) | 原型验证系统、方法、处理单元、及设备 | |
KR102279776B1 (ko) | 오토사 베이직 소프트웨어 테스팅 자동화 시스템 및 그 방법 | |
CN116560931A (zh) | 一种芯片验证平台和方法、电子设备、存储介质 | |
CN116483717A (zh) | 一种接口验证方法、装置、电子设备及存储介质 | |
CN116319499A (zh) | 车辆的诊断方法、装置、电子设备及存储介质 | |
CN113655773B (zh) | 一种车机系统通信串口压力测试系统及方法 | |
US20160224456A1 (en) | Method for verifying generated software, and verifying device for carrying out such a method | |
CN117331565B (zh) | 软件生成方法、装置、计算机设备及存储介质 | |
KR20130088990A (ko) | 미들웨어 장치 및 방법 | |
CN114707444B (zh) | 编译验证系统的方法、电子设备及存储介质 | |
CN117631655B (zh) | 用于车辆诊断的安全通信方法、装置、设备及存储介质 | |
CN112124287B (zh) | 一种epb按键的故障识别方法、装置、设备和介质 | |
CN111176998B (zh) | 一种液压控制软件的配置项测试方法 | |
CN115344030A (zh) | 一种汽车故障诊断系统及方法 | |
CN117389239A (zh) | 用于车辆调试的方法和装置 | |
CN117632364A (zh) | Autosar虚拟化平台、应用方法、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |