KR20220023203A - 소프트웨어 관리 방법 및 그 방법을 제공하는 장치 - Google Patents

소프트웨어 관리 방법 및 그 방법을 제공하는 장치 Download PDF

Info

Publication number
KR20220023203A
KR20220023203A KR1020200104790A KR20200104790A KR20220023203A KR 20220023203 A KR20220023203 A KR 20220023203A KR 1020200104790 A KR1020200104790 A KR 1020200104790A KR 20200104790 A KR20200104790 A KR 20200104790A KR 20220023203 A KR20220023203 A KR 20220023203A
Authority
KR
South Korea
Prior art keywords
software
area
stored
identification information
calibration data
Prior art date
Application number
KR1020200104790A
Other languages
English (en)
Inventor
이호준
Original Assignee
주식회사 엘지에너지솔루션
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 주식회사 엘지에너지솔루션 filed Critical 주식회사 엘지에너지솔루션
Priority to KR1020200104790A priority Critical patent/KR20220023203A/ko
Publication of KR20220023203A publication Critical patent/KR20220023203A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은, 애플리케이션과 매칭되지 않는 캘리브레이션 데이터가 존재하는 경우, 소프트웨어를 관리하는 방법 및 그 방법을 제공하는 장치에 관한 것으로, 본 발명의 장치는, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리, 그리고 소프트웨어 리프로그래밍을 수행하기 전에 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 프로세서를 포함하고, 상기 프로세서는, 상기 판단결과 일치하지 않으면, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 리프로그래밍인 상기 소프트웨어 리프로그래밍을 수행한다.

Description

소프트웨어 관리 방법 및 그 방법을 제공하는 장치{SOFTWARE REPROGRAMMING METHOD AND APPARATUS PROVIDING THE SAME}
본 발명은, 애플리케이션과 매칭되지 않는 캘리브레이션 데이터가 메모리에 저장되는 경우, 소프트웨어를 관리하는 방법 및 그 방법을 제공하는 장치에 관한 것이다.
차량에 탑재되는 소프트웨어(software, S/W)에 대한 튜닝(tuning)을 효율적으로 수행하기 위해, 메모리 영역을 캘리브레이션 데이터(calibration data)가 저장되는 제1 영역 및 애플리케이션(application, APP)이 저장되는 제2 영역으로 구별하고 있다.
한편, 제1 소프트웨어에 대한 제1 캘리브레이션 데이터와 제1 애플리케이션이 메모리의 제1 영역 및 제2 영역에 저장되어 있는 상태에서, 잘못된 소프트웨어 튜닝으로 제2 소프트웨어에 대한 제2 캘리브레이션 데이터가 제1 영역에 저장될 수 있다. 즉, 메모리의 제1 영역에는 제2 소프트웨어에 대한 제2 캘리브레이션 데이터가 저장되고, 제2 영역에는 제1 소프트웨어에 대한 제1 애플리케이션이 저장되어, 캘리브레이션 데이터와 애플리케이션이 매칭되지 않을 수 있다.
종래 메모리의 제1 영역 및 제2 영역에 대한 리프로그래밍인 소프트웨어 리프로그래밍(software reprogramming) 시도 시에, 차량의 안전을 위해 조건을 검토하여, 위험한 상황에서 소프트웨어 리프로그래밍이 수행되는 것을 금지하고 있다. 이때, 조건에 대한 판단기준은 메모리의 제1 영역에 저장되는 캘리브레이션 데이터일 수 있다.
예를 들어, 잘못된 소프트웨어 튜닝으로 애플리케이션과 매칭되지 않는 캘리브레이션 데이터가 메모리에 저장된 상태에서 제1 소프트웨어에 대한 소프트웨어 리프로그래밍 시도가 있는 경우, 메모리의 제1 영역에 저장되어 있는 조건에 대한 판단기준이 제2 소프트웨어에 대한 제2 캘리브레이션 데이터이므로, 제1 소프트웨어에 대한 소프트웨어 리프로그래밍의 조건을 통과하지 못하게 된다.
결국, 제1 소프트웨어는 애플리케이션과 캘리브레이션 데이터가 매칭되지 않아 정상적으로 실행되지 못할 뿐만 아니라, 소프트웨어 리프로그래밍도 불가능하여, 복구 불가 상태에 빠지는 문제가 발생할 수 있다.
본 발명은, 소프트웨어 리프로그래밍(software reprogramming)을 수행하기 전에, 메모리의 제1 영역에 저장된 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보와, 메모리의 제2 영역에 저장된 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 일치하는지 판단하고, 일치하지 않는 경우 제약조건에 대한 판단 없이 소프트웨어 리프로그래밍을 수행하는 소프트웨어 관리 방법 및 그 방법을 제공하는 장치를 제공하고자 한다.
본 발명은, 소프트웨어에 대한 실행 전에, 메모리의 제1 영역에 저장된 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보와, 메모리의 제2 영역에 저장된 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 일치하는지 판단하고, 일치하지 않는 경우 소프트웨어가 탑재된 시스템이 구동하지 못하도록 에러 모드로 진입하는 소프트웨어 관리 방법 및 그 방법을 제공하는 장치를 제공하고자 한다.
본 발명은, 에러모드 진입 후 소프트웨어 리프로그래밍을 수행하는 소프트웨어 관리 방법 및 그 방법을 제공하는 장치를 제공하고자 한다.
본 발명의 일 특징에 따른 장치는, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리, 그리고 소프트웨어 리프로그래밍을 수행하기 전에 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 프로세서를 포함하고, 상기 프로세서는, 상기 판단결과 일치하지 않으면, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행한다.
상기 프로세서는, 상기 판단결과 일치하면, 상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 검토하고, 상기 제약조건을 만족하면 상기 소프트웨어 리프로그래밍을 수행할 수 있다.
상기 제약조건은, 상기 캘리브레이션 데이터를 포함할 수 있다.
상기 프로세서는, 상기 제약조건을 만족하지 못하면, 상기 소프트웨어 리프로그래밍을 수행하지 않을 수 있다.
본 발명의 다른 특징에 따른 장치는, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리, 그리고 소프트웨어를 실행하기 전에 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 프로세서를 포함하고, 상기 프로세서는, 상기 판단결과 일치하지 않으면, 상기 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진입한다.
상기 프로세서는, 상기 에러모드 진입 후, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행할 수 있다.
상기 프로세서는, 상기 판단결과 일치하면, 상기 소프트웨어가 탑재된 시스템을 구동하는 운행모드로 진행할 수 있다.
본 발명의 또 다른 특징에 따른 소프트웨어 관리 방법은, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리가 포함되는 장치에서, 제어부가 소프트웨어 리프로그래밍을 수행하는 방법으로서, 상기 소프트웨어 리프로그래밍을 시작하기 전에, 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계, 그리고 상기 판단결과 일치하지 않으면, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는 단계를 포함한다.
상기 소프트웨어 관리 방법은, 상기 판단결과 일치하면, 상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 만족하는지 검토하는 단계를 더 포함하고, 상기 검토결과 제약조건을 만족하면, 상기 소프트웨어 리프로그래밍을 수행하는 단계로 진행할 수 있다.
상기 소프트웨어 관리 방법은, 상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 만족하는지 검토하는 단계 이후에, 상기 검토결과 제약조건을 만족하지 않으면, 상기 소프트웨어 리프로그래밍을 수행하지 않고 상기 소프트웨어 리프로그래밍의 불수행을 지시하는 알림 메시지를 생성하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따른 소프트웨어 관리 방법은, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리가 포함되는 장치에서, 제어부가 상기 소프트웨어를 실행하는 방법으로서, 상기 소프트웨어 실행 전에, 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계, 상기 판단결과 일치하지 않으면, 상기 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진입하는 단계, 그리고
상기 에러모드 진입 후, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는 단계를 포함한다.
상기 소프트웨어 관리 방법은, 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계 이후, 상기 판단결과 일치하면, 상기 소프트웨어가 탑재된 시스템을 구동하는 운행모드로 진행하는 단계를 더 포함할 수 있다.
본 발명은, 잘못된 소프트웨어 튜닝으로 애플리케이션과 캘리브레이션 데이터가 매칭되지 않는 경우에도 소프트웨어 리프로그래밍이 수행될 수 있도록 하여, 소프트웨어를 정상 상태로 복구할 수 있다.
본 발명은, 잘못된 소프트웨어 튜닝으로 애플리케이션과 캘리브레이션 데이터가 매칭되지 않는 경우에는 차량 시스템이 구동하지 못하도록 에러 모드로 진입하여, 소프트웨어의 오동작에 의해 차량이 위험상태에 빠지는 것을 예방할 수 있다.
본 발명은, 에러 모드로 진입한 이후 소프트웨어 리프로그래밍을 수행하여, 소프트웨어를 정상 상태로 복구할 수 있다.
도 1은 일 실시예에 따른 소프트웨어가 탑재되는 장치를 설명하는 블럭도이다.
도 2는 도 1의 메모리의 영역을 설명하는 개념도이다.
도 3은 일 실시예에 따라 소프트웨어 리프로그래밍 시에 소프트웨어를 관리 방법을 설명하는 흐름도이다.
도 4는 다른 실시예에 따라 소프트웨어 실행 시에 소프트웨어를 관리 방법을 설명하는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 일 실시예에 따른 소프트웨어가 탑재되는 장치를 설명하는 블럭도이고, 도 2는 도 1의 메모리의 영역을 설명하는 개념도이다.
도 1을 참고하면, 소프트웨어(software, S/W)가 탑재되는 장치(100)는, 통신부(110), 메모리(130), 그리고 프로세서(150)를 포함한다.
실시예에 따른 장치(100)는, 차량 시스템에 포함되는 장치로 설명하나 이에 한정되는 것은 아니며, 휴대 단말, 건물 운영 시스템, 비행기 등 소프트웨어로 운영되는 각종 전자 시스템에 포함되는 장치일 수 있다. 또한, 소프트웨어는, 차량 운영에 관련된 소프트웨어로 설명하나 이에 한정되는 것은 아니며, 각종 전자 장치를 운영하는 소프트웨어일 수 있다.
통신부(110)는 차량 내 통신을 위한 통신 프로토콜을 포함하여, 각종 전자 제어 장치(예를 들어, ECU)와 통신할 수 있다. 예를 들어, 통신부(110)는 CAN 통신 모듈, LIN 통신 모듈, FlexRay 통신 모듈 등을 포함할 수 있다.
메모리(130)는, 차량 시스템을 운영하는 소프트웨어를 저장할 수 있다. 이때, 소프트웨어는, 애플리케이션(application, APP) 및 캘리브레이션 데이터(calibration data, CAL_D)를 포함할 수 있다. 실시예에 따른, 메모리(130)는, 소프트웨어의 튜닝(tuning)이 효율적으로 수행되기 위해, 메모리 영역을 애플리케이션(APP)이 저장되는 제1 영역 및 캘리브레이션 데이터(CAL_D)가 저장되는 제2 영역으로 구별할 수 있다.
도 2를 참고하면, 메모리(130)는, 캘리브레이션 데이터(CAL_D) 및 캘리브레이션 데이터(CAL_D)에 대응하는 제1 소프트웨어의 제1 식별정보(SW_ID_1)가 저장되는 제1 영역(131)을 포함한다. 메모리(130)는, 애플리케이션(APP) 및 애플리케이션(APP)에 대응하는 제2 소프트웨어의 제2 식별정보(SW_ID_2)가 저장되는 제2 영역(133)을 포함한다.
Figure pat00001
표 1은, 동일한 소프트웨어에 대한 캘리브레이션 데이터(CAL_D) 및 애플리케이션(APP)이 메모리(130)의 제1 영역 및 제2 영역에 각각 저장되어 있는 일 예시이다.
예를 들어, 표 1 및 도 2를 참고하면, 소프트웨어의 version 1.0(이하, A)이 배포되면, 제1 영역(131)에는 A 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_A) 및 A 소프트웨어의 식별정보(SW_ID_A)가 저장될 수 있다. 제2 영역(133)에는, A 소프트웨어에 대응하는 애플리케이션(APP_A) 및 A 소프트웨어의 식별정보(SW_ID_A)가 저장된다. 시스템이 정상적으로 구동되기 위해서는, 제1 영역(131)에 저장되는 캘리브레이션 데이터(CAL_D)와 제2 영역(133)에 저장되는 애플리케이션(APP)이 모두 동일한 소프트웨어, 즉, A 소프트웨어에 대응하여야 한다.
실시예에 따라, 프로세서(150)는 차량 운행을 최적화 하기 위해 캘리브레이션 데이터(CAL_D)를 변경하거나, 캘리브레이션 데이터(CAL_D)가 저장되는 제1 영역(131)만을 리프로그래밍(reprogramming)하는 소프트웨어 튜닝(tuning)을 수행할 수 있다.
소프트웨어 튜닝이 수행되면, A 소프트웨어가 배포될 때 제1 영역(131)에 최초 저장된 캘리브레이션 데이터(A_0)는, 제1 캘리브레이션 데이터(A_1), 제2 캘리브레이션 데이터(A_2)로 변경될 수 있다. 이때, 소프트웨어 튜닝이 수행되더라도, 제1 영역(131)에 저장된 A 소프트웨어의 식별정보(SW_ID_A)는 변경되지 않는다. 따라서, 정상적인 소프트웨어 튜닝이 수행되는 경우, 메모리(130)의 제1 영역(131) 및 제2 영역(133)에 각각 저장되어 있는 캘리브레이션 데이터(CAL_D) 및 애플리케이션(APP)은 동일한 소프트웨어에 대응하고, 소프트웨어의 식별정보(SW_ID_A)도 같다.
다른 예를 들어, 소프트웨어의 version 2.0(이하, B)이 배포되면, 제1 영역(131)에는 B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B) 및 B 소프트웨어의 식별정보(SW_ID_B)가 저장된다. 제2 영역(133)에는, B 소프트웨어에 대응하는 애플리케이션(APP_B) 및 B 소프트웨어의 식별정보(SW_ID_ B)가 저장된다. 시스템이 정상적으로 구동되기 위해서는, 제1 영역(131)에 저장되는 캘리브레이션 데이터(CAL_D)와 제2 영역(133)에 저장되는 애플리케이션(APP)이 모두 동일한 소프트웨어, 즉, B 소프트웨어에 대응하여야 한다.
Figure pat00002
표 2는, 상이한 소프트웨어에 대한 캘리브레이션 데이터(CAL_D) 및 애플리케이션(APP)이 메모리(130)의 제1 영역 및 제2 영역에 각각 저장되어 있는 일 예시이다.
예를 들어, 잘못된 소프트웨어 튜닝(tuning)으로 제1 영역은, B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B) 및 B 소프트웨어의 식별정보(SW_ID_B)가 저장된다. 제2 영역은, A 소프트웨어에 대응하는 애플리케이션(APP_A) 및 A 소프트웨어의 식별정보(SW_ID_A)가 저장되어 있다. 즉, 잘못된 소프트웨어 튜닝(tuning)으로 애플리케이션(APP_A)과 매칭되지 않는 캘리브레이션 데이터(CAL_B)가 메모리(130)에 될 수 있다.
프로세서(150)는, 소프트웨어 리프로그래밍(S/W reprogramming) 또는 소프트웨어 튜닝(S/W tuning)을 수행하여 차량 시스템을 최적화할 수 있다. 또한, 프로세서(150)는, 운전자의 제어에 따라 소프트웨어를 실행하여 차량 시스템을 운영할 수 있다.
프로세서(150)는, 애플리케이션(APP)과 매칭되지 않는 캘리브레이션 데이터(CAL)가 메모리(130)에 저장되는 경우, 캘리브레이션 데이터(CAL_D)과 애플리케이션(APP)을 매칭시키기 위해 제1 영역 및 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하여 수 있다. 즉, 프로세서(150)는, 제1 영역(131)에 저장되는 캘리브레이션 데이터(CAL_D)와 제2 영역(133)에 저장되는 애플리케이션(APP)이 모두 동일한 소프트웨어에 대응하도록 A 소프트웨어 또는 B 소프트웨어에 대한 소프트웨어 리프로그래밍을 수행할 수 있다.
도 3은 일 실시예에 따라 소프트웨어 리프로그래밍 시에 소프트웨어를 관리 방법을 설명하는 흐름도이다.
도 1 내지 도 3을 참고하여, 소프트웨어 관리 방법 및 그 방법을 제공하는 장치를 설명한다.
도 1을 참고하면, 프로세서(150)는, 소프트웨어 리프로그래밍을 수행하기 전에, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보와 애플리케이션에 대응하는 소프트웨어의 제2 식별정보의 일치 여부를 판단한다(S110, S130).
메모리(130)는, 차량 시스템을 운영하는 소프트웨어가 저장될 수 있다. 이때, 소프트웨어는, 애플리케이션(APP) 및 캘리브레이션 데이터(CAL_D)를 포함할 수 있다. 실시예에 따라, 메모리(130)는, 소프트웨어 튜닝(tuning)이 효율적으로 수행되기 위해, 메모리 영역을 캘리브레이션 데이터(CAL_D)가 저장되는 제1 영역 및 애플리케이션(APP)이 저장되는 제2 영역으로 구별할 수 있다.
제1 영역에는, 캘리브레이션 데이터(CAL_D) 외 캘리브레이션 데이터(CAL_D)에 대응하는 소프트웨어의 제1 식별정보가 저장된다. 제2 영역에는, 애플리케이션(APP) 외 애플리케이션(APP)에 대응하는 소프트웨어의 제2 식별정보가 저장된다. 소프트웨어가 정상적으로 구동되기 위해서는, 캘리브레이션 데이터(CAL_D)에 대응하는 소프트웨어와 애플리케이션(APP)에 대응하는 소프트웨어가 동일하여야 하며, 소프트웨어가 동일하면 제1 식별정보와 제2 식별정보가 일치한다. 즉, 동일 종류 및 동일 버전의 소프트웨어에 대한 캘리브레이션 데이터(CAL_D) 및 애플리케이션(APP)이 각각 제1 영역 및 제2 영역에 저장되어야 한다.
소프트웨어 튜닝은, 차량 구동 중 최적 값을 찾기 위해 캘리브레이션 데이터(CAL_D) 중 일부를 변경하거나, 캘리브레이션 데이터(CAL_D)가 저장되는 제2 영역만을 리프로그래밍하는 것이다.
캘리브레이션 데이터(CAL_D)는 캘리브레이션을 수행한 결과이다. 예를 들어, 차량의 엑셀 브레이크를 10% 밟으면, 엔진 출력은 20%로 상승하고, 차량의 엑셀 브레이크를 20% 밟으면, 엔진 출력은 30%로 상승하는 것으로 캘리브레이션 데이터(CAL_D)가 저장될 수 있다. 그러나, 실제 차량의 운행시, 차량의 엑셀 브레이크를 10% 밟으면 엔진 출력은 30%로 상승하고, 차량의 엑셀 브레이크를 20% 밟으면 엔진 출력은 40%로 상승할 수 있다. 그러면, 프로세서(150)는, 대응하는 각 캘리브레이션 데이터(CAL_D)만 변경(엑셀 브레이크를 10% 밟았을 때 엔진 출력: 20%에서 30%로 변경 및 엑셀 브레이크를 20% 밟았을 때 엔진 출력: 30%에서 40%로 변경)하거나, 또는 캘리브레이션 데이터(CAL_D)가 저장되는 제2 영역을 리프로그래밍하는 소프트웨어 튜닝을 수행할 수 있다.
정상적인 소프트웨어 튜닝, 예를 들어, A 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_A)와 애플리케이션(APP_A)이 메모리(130)에 저장되어 있는 상태에서, 제1 영역에 대해 A 소프트웨어에 대한 소프트웨어 튜닝이 수행될 수 있다.
정상적인 소프트웨어 튜닝이 수행되면, 캘리브레이션 데이터(CAL_A0)는 변경(CAL_A1)될 수 있으나, 제1 영역에 저장되는 A 소프트웨어의 제1 식별정보(SW_ID_A)는 변경되지 않는다. 즉, 정상적인 소프트웨어 튜닝으로 캘리브레이션 데이터(CAL_A0)만 변경(CAL_A1)될 뿐, 캘리브레이션 데이터(CAL_A1)에 대응하는 A 소프트웨어가 변경되는 것은 아니다. 따라서, 정상적인 소프트웨어 튜닝이 수행되면, 캘리브레이션 데이터(CAL_A1)에 대응하는 소프트웨어와 애플리케이션(APP_A)에 대응하는 소프트웨어가 동일하다.
비정상적인 소프트웨어 튜닝, 예를 들어, A 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_A) 및 애플리케이션(APP_A)가 메모리(130)에 저장되어 있는 상태에서, 제1 영역에 대해 B 소프트웨어에 대한 소프트웨어 튜닝이 잘못 수행될 수 있다.
비정상적인 소프트웨어 튜닝이 수행되면, 제1 영역에는 B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B) 및 B 소프트웨어의 제1 식별정보(SW_ID_B)가 저장될 수 있다. 결국, B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B)는 제2 영역에 저장된 A 소프트웨어에 대응하는 애플리케이션(APP_A)과 매칭되지 않고, 소프트웨어가 탑재된 시스템은 정상적으로 구동하지 못하게 된다.
다음으로, 제1 식별정보와 제2 식별정보가 일치하면(S130, Yes), 프로세서(150)는, 소프트웨어 리프로그래밍을 수행하기 위한 전제 조건인 제약조건을 판단한다(S150).
제약조건은, 적어도 하나 이상의 제약조건을 포함할 수 있으며, 제약조건에 대한 판단기준은 캘리브레이션 데이터(CAL_D)를 포함할 수 있다. 캘리브레이션 데이터(CAL_D)는, 차속에 대한 판단기준인 제1 기준값, 그리고, 엔진 RPM에 대한 판단기준인 제2 기준값을 포함할 수 있다.
S150 단계에서, 프로세서(150)는, 차속이 제1 기준값 이하인지 판단하는 제1 제약조건을 검토할 수 있다(S151).
S150 단계에서, 판단결과 차속이 제1 기준값 이하이면(S151, Yes), 프로세서(150)는, 엔진 RPM이 제1 기준값 이하인지 판단하는 제2 제약조건을 검토할 수 있다(S153).
다음으로, 엔진 RPM이 제1 기준값 이하이면(S153, Yes)이거나, 또는 제1 식별정보와 제2 식별정보가 일치하지 않으면(S130, No), 프로세서(150)는, 제약조건에 대한 판단 없이 소프트웨어 리프로그래밍(software reprogramming)을 수행한다(S170).
실시예에 따른 프로세서(150)는, 제약조건을 모두 통과한 경우(S151, Yes) (S153, Yes)뿐만 아니라, 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)이 매칭되지 않는 경우(S130, No)에도 소프트웨어 리프로그래밍을 수행한다.
소프트웨어 리프로그래밍은, 제1 영역 및 제2 영역을 모두 리프로그래밍 하는 것이다. 그러면, 매칭되지 않는 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)을 동일한 소프트웨어에 대한 캘리브레이션 데이터(CAL_A)와 애플리케이션(APP_A)으로 변경하여 매칭되도록 할 수 있다.
예를 들어, 소프트웨어 리프로그래밍은, B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B)가 저장된 제1 영역 및 A 소프트웨어에 대응하는 애플리케이션(APP_A)이 저장된 제2 영역을 모두 A 소프트웨어로 리프로그래밍 하는 것이다. 그러면, A 소프트웨어가 저장된 시스템은 정상적으로 구동될 수 있다.
다른 예를 들어, 소프트웨어 리프로그래밍은, B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B)가 저장된 제1 영역 및 A 소프트웨어에 대응하는 애플리케이션(APP_A)이 저장된 제2 영역을 모두 B 소프트웨어로 리프로그래밍 하는 것이다. 그러면, B 소프트웨어가 저장된 시스템은 정상적으로 구동될 수 있다.
종래에는, S130 단계에 대한 판단 없이, 소프트웨어 리프로그래밍을 수행하기 전에 제약조건을 판단하는 S150 단계를 바로 검토했다. 그러면, 예를 들어, 매칭되지 않는 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)이 메모리(130)에 저장된 상태에서 소프트웨어 리프로그래밍 시도가 있는 경우, 메모리(130)의 제1 영역에 저장되어 있는 제약조건에 대한 판단기준이 B 소프트웨어에 대한 캘리브레이션 데이터(CAL_B)이므로, A 소프트웨어에 대한 소프트웨어 리프로그래밍에 대한 제약조건을 통과하지 못하게 된다. 즉, S190 단계로 진행한다. 그러면, A 소프트웨어는 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)이 매칭되지 않아 정상적으로 실행되지 못할 뿐만 아니라, A 소프트웨어 리프로그래밍도 불가능하여, 복구 불가 상태에 빠지는 문제가 있었다.
실시예에 따른, 프로세서(150)는, 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)이 매칭되지 않는 경우(S130, No)에도 소프트웨어 리프로그래밍을 수행하여(S170), 소프트웨어를 정상 상태로 복구할 수 있다.
다음으로, 제약조건을 만족하지 못하면(S151, No)(S153, No), 프로세서(150)는, 소프트웨어 리프로그래밍을 수행하지 않는다(S190).
실시예에 따라, 프로세서(150)는, 소프트웨어 리프로그래밍의 불수행을 지시하는 알림 메시지를 생성할 수 있다.
도 4는 다른 실시예에 따라 소프트웨어 실행 시에 소프트웨어를 관리 방법을 설명하는 흐름도이다.
도 1, 도 2, 및 도 4를 참고하여, 소프트웨어 관리 방법 및 그 방법을 제공하는 장치를 설명한다.
도 4를 참고하면, 프로세서(150)는, 소프트웨어를 실행하여 시스템을 구동하기 전에, 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보와 애플리케이션에 대응하는 소프트웨어의 제2 식별정보의 일치 여부를 판단한다(S210, S230).
메모리(130)는, 차량 시스템을 운영하는 소프트웨어가 저장될 수 있다. 이때, 소프트웨어는, 애플리케이션(APP) 및 캘리브레이션 데이터(CAL_D)를 포함할 수 있다. 실시예에 따라, 메모리(130)는, 소프트웨어 튜닝(tuning)이 효율적으로 수행되기 위해, 메모리 영역을 캘리브레이션 데이터(CAL_D)가 저장되는 제1 영역 및 애플리케이션(APP)이 저장되는 제2 영역으로 구별할 수 있다.
제1 영역에는, 캘리브레이션 데이터(CAL_D) 외 캘리브레이션 데이터(CAL_D)에 대응하는 소프트웨어의 제1 식별정보가 저장된다. 제2 영역에는, 애플리케이션(APP) 외 애플리케이션(APP)에 대응하는 소프트웨어의 제2 식별정보가 저장된다. 소프트웨어가 정상적으로 구동되기 위해서는, 캘리브레이션 데이터(CAL_D)에 대응하는 소프트웨어와 애플리케이션(APP)에 대응하는 소프트웨어가 동일하여야 하며, 소프트웨어가 동일하면 제1 식별정보와 제2 식별정보가 일치한다. 즉, 동일 종류 및 동일 버전의 소프트웨어에 대한 캘리브레이션 데이터(CAL_D) 및 애플리케이션(APP)이 각각 제1 영역 및 제2 영역에 저장되어야 한다.
소프트웨어 튜닝은, 차량 구동 중 최적 값을 찾기 위해 캘리브레이션 데이터(CAL_D) 중 일부를 변경하거나, 캘리브레이션 데이터(CAL_D)가 저장되는 제2 영역만을 리프로그래밍 하는 것이다.
정상적인 소프트웨어 튜닝, 예를 들어, A 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_A)와 애플리케이션(APP_A)이 메모리(130)에 저장되어 있는 상태에서, 제1 영역에 대해 A 소프트웨어에 대한 소프트웨어 튜닝이 수행될 수 있다.
정상적인 소프트웨어 튜닝이 수행되면, 캘리브레이션 데이터(CAL_A0)는 변경(CAL_A1)될 수 있으나, 제1 영역에 저장되는 A 소프트웨어의 제1 식별정보(SW_ID_A)는 변경되지 않는다. 즉, 캘리브레이션 데이터(CAL_A0)만 변경(CAL_A1)될 뿐, 캘리브레이션 데이터(CAL_A1)에 대응하는 A 소프트웨어가 변경되는 것은 아니다. 따라서, 캘리브레이션 데이터(CAL_A1)에 대응하는 소프트웨어와 애플리케이션(APP_A)에 대응하는 소프트웨어는 동일하다.
비정상적인 소프트웨어 튜닝, 예를 들어, A 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_A) 및 애플리케이션(APP_A)가 메모리(130)에 저장되어 있는 상태에서, 제1 영역에 대해 B 소프트웨어에 대한 소프트웨어 튜닝이 잘못 수행될 수 있다.
비정상적인 소프트웨어 튜닝이 수행되면, 제1 영역에는 B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B) 및 B 소프트웨어의 제1 식별정보(SW_ID_B)가 저장될 수 있다. 결국, 제1 영역에 저장된 B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B)는 제2 영역에 저장된 A 소프트웨어에 대응하는 애플리케이션(APP_A)과 매칭되지 않고, 소프트웨어가 탑재된 시스템은 정상적으로 구동하지 못하게 된다.
다음으로, 제1 식별정보와 제2 식별정보가 일치하면(S230, Yes), 프로세서(150)는, 소프트웨어를 실행한다(S250).
다음으로, 제1 식별정보와 제2 식별정보가 일치하지 않으면(S230, No), 프로세서(150)는, 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진입하고, 소프트웨어 리프로그래밍을 수행한다(S270).
비정상적인 소프트웨어 튜닝 등에 의해, 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)이 매칭되지 않으면, 소프트웨어가 탑재된 시스템은 정상적으로 구동하지 못하게 된다.
S270 단계에서, 프로세서(150)는, 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진행한다(S271).
비정상적인 소프트웨어는 시스템이 잘못 구동되도록 하여 사고가 발생할 수 있다. 따라서, 프로세서(150)는, 선제적 조치로 시스템의 운행을 금지하여 발생할 수 있는 사고를 미연에 예방할 수 있다.
S270 단계에서, 프로세서(150)는, 에러모드 진입 후, 소프트웨어 리프로그래밍을 수행한다(S273).
소프트웨어 리프로그래밍은, 제1 영역 및 제2 영역을 모두 리프로그래밍 하는 것이다. 그러면, 매칭되지 않는 캘리브레이션 데이터(CAL_B)와 애플리케이션(APP_A)을 동일한 소프트웨어에 대한 캘리브레이션 데이터(CAL_A)와 애플리케이션(APP_A)으로 변경하여 매칭되도록 할 수 있다.
예를 들어, 소프트웨어 리프로그래밍은, B 소프트웨어에 대응하는 캘리브레이션 데이터(CAL_B)가 저장된 제1 영역 및 A 소프트웨어에 대응하는 애플리케이션(APP_A)이 저장된 제2 영역을 모두 A 소프트웨어로 리프로그래밍 하는 것이다. 그러면, 캘리브레이션 데이터(CAL_A)와 애플리케이션(APP_A)이 매칭되고, A 소프트웨어가 저장된 시스템은 정상적으로 구동될 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.

Claims (12)

  1. 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리, 그리고
    소프트웨어 리프로그래밍을 수행하기 전에 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 판단결과 일치하지 않으면, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는, 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 판단결과 일치하면, 상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 검토하고, 상기 제약조건을 만족하면 상기 소프트웨어 리프로그래밍을 수행하는, 장치.
  3. 제2항에 있어서,
    상기 제약조건은,
    상기 캘리브레이션 데이터를 포함하는, 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제약조건을 만족하지 못하면, 상기 소프트웨어 리프로그래밍을 수행하지 않는, 장치.
  5. 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리, 그리고
    소프트웨어를 실행하기 전에 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 판단결과 일치하지 않으면, 상기 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진입하는, 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 에러모드 진입 후, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는, 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 판단결과 일치하면, 상기 소프트웨어가 탑재된 시스템을 구동하는 운행모드로 진행하는, 장치.
  8. 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리가 포함되는 장치에서, 제어부가 소프트웨어 리프로그래밍을 수행하는 방법으로서,
    상기 소프트웨어 리프로그래밍을 시작하기 전에, 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계, 그리고
    상기 판단결과 일치하지 않으면, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는 단계를 포함하는, 소프트웨어 관리 방법.
  9. 제8항에 있어서,
    상기 판단결과 일치하면, 상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 만족하는지 검토하는 단계를 더 포함하고,
    상기 검토결과 제약조건을 만족하면, 상기 소프트웨어 리프로그래밍을 수행하는 단계로 진행하는, 소프트웨어 관리 방법.
  10. 제8항에 있어서,
    상기 소프트웨어 리프로그래밍을 수행하기 위한 적어도 하나의 제약조건을 만족하는지 검토하는 단계 이후에,
    상기 검토결과 제약조건을 만족하지 않으면, 상기 소프트웨어 리프로그래밍을 수행하지 않고 상기 소프트웨어 리프로그래밍의 불수행을 지시하는 알림 메시지를 생성하는 단계를 더 포함하는, 소프트웨어 관리 방법.
  11. 캘리브레이션 데이터에 대응하는 소프트웨어의 제1 식별정보가 저장되는 제1 영역과, 애플리케이션에 대응하는 소프트웨어의 제2 식별정보가 저장되는 제2 영역을 포함하는 메모리가 포함되는 장치에서, 제어부가 상기 소프트웨어를 실행하는 방법으로서,
    상기 소프트웨어 실행 전에, 상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계,
    상기 판단결과 일치하지 않으면, 상기 소프트웨어가 탑재된 시스템의 구동을 금지하는 에러모드로 진입하는 단계, 그리고
    상기 에러모드 진입 후, 상기 캘리브레이션 데이터가 저장되는 상기 제1 영역 및 상기 애플리케이션이 저장되는 상기 제2 영역에 대한 소프트웨어 리프로그래밍을 수행하는 단계를 포함하는, 소프트웨어 관리 방법.
  12. 제11항에 있어서,
    상기 제1 식별정보와 상기 제2 식별정보의 일치 여부를 판단하는 단계 이후,
    상기 판단결과 일치하면, 상기 소프트웨어가 탑재된 시스템을 구동하는 운행모드로 진행하는 단계를 더 포함하는, 소프트웨어 관리 방법.













KR1020200104790A 2020-08-20 2020-08-20 소프트웨어 관리 방법 및 그 방법을 제공하는 장치 KR20220023203A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200104790A KR20220023203A (ko) 2020-08-20 2020-08-20 소프트웨어 관리 방법 및 그 방법을 제공하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200104790A KR20220023203A (ko) 2020-08-20 2020-08-20 소프트웨어 관리 방법 및 그 방법을 제공하는 장치

Publications (1)

Publication Number Publication Date
KR20220023203A true KR20220023203A (ko) 2022-03-02

Family

ID=80815546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200104790A KR20220023203A (ko) 2020-08-20 2020-08-20 소프트웨어 관리 방법 및 그 방법을 제공하는 장치

Country Status (1)

Country Link
KR (1) KR20220023203A (ko)

Similar Documents

Publication Publication Date Title
US10725762B2 (en) Gateway device, in-vehicle network system, and firmware update method
US11842185B2 (en) Gateway device, in-vehicle network system, and firmware update method
CN107949847B (zh) 车辆的电子控制单元
US20190278588A1 (en) Vehicle control system and software compatibility checking method
US10261773B2 (en) Information processing device, information processing method, and computer readable medium
CN110245033B (zh) 车辆控制系统和车辆控制方法
US7437218B2 (en) Method and device for controlling the functional unit of a motor vehicle
US10936236B2 (en) Rewriting system, rewriting device and computer
CN112236771A (zh) 计算装置和用于计算装置的运行方法
US8095926B2 (en) Method for the installation of a program component
KR20220023203A (ko) 소프트웨어 관리 방법 및 그 방법을 제공하는 장치
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
US20220391194A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US11995437B2 (en) Center, distribution control method, and non-transitory storage medium
US11126421B2 (en) Apparatus for providing update for vehicle and computer-readable storage medium
US20160011932A1 (en) Method for Monitoring Software in a Road Vehicle
US20240036878A1 (en) Method for booting an electronic control unit
US20240211600A1 (en) Method for reprogram with enhanced security
US7016769B2 (en) Control device for controlling/regulating the operational sequences in a motor vehicle, and a method of starting such a control device
US20220309843A1 (en) Program update management system, moving body fault diagnosis device, and program update management method
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US20240211270A1 (en) Method of reprogramming a boot area
US20220276853A1 (en) Ota master, center, system, update method, and vehicle
US20230319061A1 (en) In-vehicle communication apparatus, vehicle, and method
US20230306101A1 (en) System, vehicle, and method

Legal Events

Date Code Title Description
A201 Request for examination