KR20220089521A - Apparatus and method for real-time updating of vehicle controller - Google Patents

Apparatus and method for real-time updating of vehicle controller Download PDF

Info

Publication number
KR20220089521A
KR20220089521A KR1020200180235A KR20200180235A KR20220089521A KR 20220089521 A KR20220089521 A KR 20220089521A KR 1020200180235 A KR1020200180235 A KR 1020200180235A KR 20200180235 A KR20200180235 A KR 20200180235A KR 20220089521 A KR20220089521 A KR 20220089521A
Authority
KR
South Korea
Prior art keywords
software
vehicle controller
real
spare
redundancy
Prior art date
Application number
KR1020200180235A
Other languages
Korean (ko)
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 KR1020200180235A priority Critical patent/KR20220089521A/en
Publication of KR20220089521A publication Critical patent/KR20220089521A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Abstract

본 발명은 코드 활성화 상태를 유지하는 메인 소프트웨어와 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 오버레이 영역 관리부와, 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램 주소에 오버레이 방식으로 업데이트하여 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 제어부를 포함하여, 차량 제어기의 소프트웨어를 시동 오프 없이 주행 중에도 실시간 업데이트한 후 실행시킴으로써, 차량의 안정성과 상품성을 확보할 수 있게 한 차량 제어기의 실시간 업데이트 장치 및 방법에 관한 것이다.The present invention provides an overlay area manager that is matched with each other so that the main software maintaining the code activation state and at least one or more spare software maintaining the code standby state can be overlaid, and one spare software selected by the redundancy request, the main software Including a real-time update control unit that updates the activated RAM address in an overlay manner and executes the updated function in the vehicle controller in real time, the software of the vehicle controller is updated in real time even while driving without turning off the engine. The present invention relates to an apparatus and method for real-time updating of a vehicle controller that enables to secure marketability.

Description

차량 제어기의 실시간 업데이트 장치 및 방법{APPARATUS AND METHOD FOR REAL-TIME UPDATING OF VEHICLE CONTROLLER}Apparatus and method for real-time update of vehicle controller {APPARATUS AND METHOD FOR REAL-TIME UPDATING OF VEHICLE CONTROLLER}

본 발명은 차량 제어기의 소프트웨어를 업데이트하여 실행시키는 차량 제어기의 실시간 업데이트 장치 및 방법에 관한 것이다.The present invention relates to a real-time updating apparatus and method of a vehicle controller for updating and executing software of the vehicle controller.

최근 자동차 회사의 클라우드 서버를 통해 차량에 구비된 각종 장치들을 제어하는 소프트웨어(S/W)의 설정 정보나 튜닝 데이터 등을 고객의 차량으로 무선 통신망을 통해 전송함으로써, 정비소 등 오프라인상의 사업소를 방문하지 않고도 주행 중 또는 주행 종료 후 업데이트를 수행할 수 있게 한 OTA(Over-the-Air) 서비스가 이용되고 있다.Recently, through a cloud server of an automobile company, setting information or tuning data of software (S/W) that controls various devices provided in the vehicle is transmitted to the customer's vehicle through a wireless communication network. An over-the-air (OTA) service that allows updates to be performed while driving or after driving without a vehicle is being used.

이러한 OTA 서비스에 의해 차량 제어기 소프트웨어의 버그를 수정하여 품질 문제를 개선하거나 차량에 이미 탑재되어 있는 소프트웨어를 활용하는 신규 기능을 제공할 수 있다.With this OTA service, bugs in the vehicle controller software can be corrected to improve quality problems, or new functions can be provided that utilize software already installed in the vehicle.

그러나, 차량 제어기의 소프트웨어 업데이트에 적용되는 OTA 서비스는 업데이트하고자 하는 소프트웨어를 주행 중 다운로드 받아 저장하고 있다가, 차량의 시동이 오프(IGN OFF)된 후 다시 시동이 온(IGN ON) 상태로 될 때에만 업데이트된 소프트웨어가 제어기에 적용될 수 있었다.However, the OTA service applied to the software update of the vehicle controller downloads and stores the software to be updated while driving. Only updated software could be applied to the controller.

그에 따라, 차량의 시동이 온(ON) 상태로 유지되고 있을 경우에는 업데이트하고자 하는 소프트웨어를 이미 다운로드 받았더라도, 차량 제어기를 통하여 업데이트된 소프트웨어를 실행시키지 못하는 문제점이 있었다.Accordingly, when the vehicle's ignition is maintained in an ON state, there is a problem in that the updated software cannot be executed through the vehicle controller even though the software to be updated has already been downloaded.

이로 인하여, 차량의 시동이 온(ON) 상태에서 센서나 부품의 고장으로 차량 제어기에서 활성화되는 소프트웨어를 변경하여야 하는 긴급 상황의 경우에도, 차량의 시동을 오프 하였다가 다시 온 상태로 전환시키는 것이 전제되어야 하므로 신속하고 능동적인 대처가 어려운 한계가 있었다.For this reason, even in an emergency situation in which it is necessary to change the software activated in the vehicle controller due to a failure of a sensor or a component while the vehicle is in the ON state, it is a prerequisite to turn off the vehicle's ignition and then switch it back to the ON state. Therefore, there was a limitation that it was difficult to respond quickly and actively.

특히, 이처럼 업데이트된 소프트웨어를 적용하기 위하여 차량의 시동을 껐다가 켜야 할 경우, 자율주행시스템으로 주행 중인 차량에서는 예정된 주행이 종료되기 전까지 업데이트된 소프트웨어를 적용하지 못하게 되는 문제점이 있었다.In particular, when it is necessary to turn off and then turn on the vehicle to apply the updated software, there is a problem in that the updated software cannot be applied until the scheduled driving is finished in the vehicle driving with the autonomous driving system.

본 발명의 실시예는, 코드 활성화 상태를 유지하는 메인 소프트웨어와 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 오버레이 영역 관리부와, 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램 주소에 오버레이 방식으로 업데이트하여 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 제어부를 포함하여, 차량 제어기의 소프트웨어를 시동 오프 없이 주행 중에도 실시간 업데이트한 후 실행시킴으로써, 차량의 안정성과 상품성을 확보할 수 있게 한 차량 제어기의 실시간 업데이트 장치 및 방법을 제공하는 것을 기술적 과제로 한다.An embodiment of the present invention provides an overlay area manager that is matched with each other so that the main software maintaining the code activation state and at least one or more spare software maintaining the code standby state can be overlaid, and one spare software selected by the redundancy request Including a real-time update control unit that updates the updated function in the vehicle controller in real time by overlaying the update on the RAM address in which the main software is activated, and updates the software of the vehicle controller in real time even while driving without turning off the engine. It is a technical task to provide an apparatus and method for real-time updating of a vehicle controller capable of securing vehicle stability and commercialization.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 실시예에 따른 차량 제어기의 실시간 업데이트 장치는, 활성화되는 메인 소프트웨어의 기능을 실행하는 차량 제어기; 코드 활성화 상태를 유지하는 메인 소프트웨어와 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 오버레이 영역 관리부; 및 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램(RAM) 상의 위치에 오버레이 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 제어부;를 포함하는 것을 특징으로 한다.A real-time updating apparatus for a vehicle controller according to an embodiment of the present invention includes: a vehicle controller executing a function of an activated main software; an overlay area management unit in which the main software maintaining the code activation state and the at least one spare software maintaining the code standby state are mutually matched to be able to be overlaid; and a real-time update control unit that updates one spare software selected by a redundancy request in an overlay manner on a location on a RAM in which the main software is activated to execute the updated function in the vehicle controller in real time. do it with

또한, 상기 오버레이 영역 관리부는, 상기 차량 제어기에서의 기능 실행을 위해 램(RAM) 상에서 코드 활성화 상태를 유지하고 있는 메인 소프트웨어와, 상기 차량 제어기에서 현재 활성화되지 않으며 플래시 메모리(FLASH)에 저장되어 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 링커 설계를 통해 구현되어 있는 오버레이 프로그래밍 영역을 제공하는 것을 특징으로 한다.In addition, the overlay area management unit includes main software that maintains a code activation state on a RAM for executing a function in the vehicle controller, and a code stored in a flash memory (FLASH) that is not currently activated in the vehicle controller. It is characterized in that at least one or more preliminary software maintaining a standby state provides an overlay programming area implemented through a linker design.

또한, 본 발명은 상기 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어는 리던던시 블록을 형성하며, 상기 리던던시 블록은, 상기 차량 제어기에서 실행되는 기능의 기반이 되는 센서나 부품의 고장에 대비하여 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 페일 리던던시 블록인 것을 특징으로 한다.In addition, according to the present invention, at least one or more spare software maintaining the code standby state forms a redundancy block, and the redundancy block is replaced in case of a failure of a sensor or component that is the basis of a function executed in the vehicle controller It is characterized in that it is a fail-redundancy block composed of spare software that can be executed.

또한, 본 발명은 상기 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어는 리던던시 블록을 형성하며, 상기 리던던시 블록은, 상기 차량 제어기에서 실행되는 기능의 모드변경을 위해 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 모드변경 리더던시 블록인 것을 특징으로 한다.In addition, in the present invention, at least one or more spare software maintaining the code standby state forms a redundancy block, and the redundancy block is spare software that can be replaced and executed for mode change of a function executed in the vehicle controller. It is characterized in that it is a mode change leadership block made.

또한, 상기 실시간 업데이트 제어부는, 상기 차량 제어기에서 메인 소프트웨어의 기능을 실행하는 동안 차량의 내부 또는 외부로부터 전송되는 리던던시 리퀘스트를 수신하여, 상기 리던던시 블록 중 하나의 예비 소프트웨어를 오버레이 대상으로 선택하는 리던던시 리퀘스트 수신부; 및 상기 리던던시 리퀘스트에 대응하여 선택된 예비 소프트웨어에 이미 활성화되어 있는 상기 메인 소프트웨어의 램 주소를 매칭시켜 상기 예비 소프트웨어를 램 상에 오버레이시킴으로써 차량 제어기를 업데이트하는 실시간 오버레이 실행부;를 포함하는 것을 특징으로 한다.In addition, the real-time update control unit receives a redundancy request transmitted from the inside or outside of the vehicle while the vehicle controller executes a function of the main software, and selects one spare software of the redundancy blocks as an overlay target. receiver; and a real-time overlay execution unit that updates the vehicle controller by overlaying the spare software on the RAM by matching the RAM address of the main software that is already activated with the spare software selected in response to the redundancy request. .

또한, 본 발명은 상기 리던던시 리퀘스트를 수신한 후 상기 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜 명령을 금지시키고, 예비 소프트웨어가 오버레이에 의해 업데이트되어 새로운 메인 소프트웨어로 된 후 콜 금지 명령을 해제시키는 소프트웨어 락킹 제어부;를 더 포함하는 것을 특징으로 한다.In addition, the present invention is a software that disables a call command to the main software being executed in the vehicle controller after receiving the redundancy request, and releases the call prohibit command after the spare software is updated to become the new main software by overlay Locking control unit; characterized in that it further comprises.

또한, 상기 리던던시 리퀘스트 수신부는, 상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 각 센서나 부품의 고장에 대응하여 미리 준비되어 있는 페일 리던던시 블록상의 예비 소프트웨어로 업데이트할 것을 요청하는 리퀘스트를 수신하는 것을 특징으로 한다.In addition, the redundancy request receiving unit receives a request to update the main software executing a function in the vehicle controller with the spare software on the fail redundancy block prepared in advance in response to the failure of each sensor or component. characterized.

또한, 상기 리던던시 리퀘스트 수신부는, 상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 다른 기능을 수행할 수 있도록 미리 준비되어 있는 모드변경 리던던시 블록상의 예비 소프트웨어로 업데이트 할 것을 요청하는 리퀘스트를 수신하는 것을 특징으로 한다.In addition, the redundancy request receiving unit receives a request requesting to update the main software executing the function in the vehicle controller with the spare software on the mode change redundancy block prepared in advance to perform other functions. do it with

또한, 상기 실시간 오버레이 실행부는, 상기 리던던시 블록에서 선택된 예비 소프트웨어에 현재 활성화되어 있는 메인 소프트웨어의 램 상의 시작 주소를 맵핑시켜, 상기 예비 소프트웨어를 새로운 메인 소프트웨어로서 램 상에 활성화시키는 것을 특징으로 한다.In addition, the real-time overlay execution unit maps the start address of the currently activated main software on the RAM to the spare software selected in the redundancy block, and activates the spare software as new main software on the RAM.

또한, 본 발명의 다른 실시예에 따른 차량 제어기의 실시간 업데이트 방법은, 코드 활성화 상태에 있는 메인 소프트웨어와 코드 대기 상태에 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 차량 제어기 소프트웨어 활성화단계; 차량 제어기에서 상기 메인 소프트웨어의 기능이 실행되는 중, 상기 메인 소프트웨어의 업데이트를 요청하는 리던던시 리퀘스트를 수신하는 리던던시 리퀘스트 수신단계; 및 상기 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램(RAM) 주소에 오버레이 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 실행단계;를 포함하는 것을 특징으로 한다.In addition, a real-time update method of a vehicle controller according to another embodiment of the present invention includes: a vehicle controller software activation step in which a main software in a code activation state and at least one or more preliminary software in a code standby state are mutually matched to be overlaid; a redundancy request receiving step of receiving a redundancy request requesting an update of the main software while the function of the main software is being executed in the vehicle controller; and a real-time update execution step of executing the updated function in the vehicle controller in real time by updating one spare software selected by the redundancy request in an overlay manner on the RAM address where the main software is activated. characterized.

또한, 상기 차량 제어기 소프트웨어 활성화단계는, 상기 차량 제어기에서의 기능 실행을 위해 메인 소프트웨어를 램에서 활성화시키는 메인 소프트웨어 실행과정; 및 현재 활성화되어 있지 않으며 오버레이 방식으로 상기 메인 소프트웨어를 업데이트하도록 상기 메인 소프트웨어에 매칭되어 있는 적어도 하나 이상의 예비 소프트웨어를 플래시 메모리에 저장하고 있는 예비 소프트웨어 대기과정;을 포함하는 것을 특징으로 한다.In addition, the vehicle controller software activation step may include: a main software execution process of activating the main software in RAM to execute a function in the vehicle controller; and a standby software standby process in which at least one or more spare software that is not currently activated and matched with the main software is stored in a flash memory to update the main software in an overlay manner.

또한, 본 발명은 상기 리던던시 리퀘스트 수신단계 이후, 상기 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜 명령의 실행을 일시적으로 금지시키는 콜 실행 락킹단계; 및 상기 실시간 업데이트 실행단계에서 예비 소프트웨어에 의해 오버레이 방식으로 업데이트가 완료될 경우, 콜 명령의 실행을 금지시켰던 것을 해제하는 콜 실행 락킹 해제단계;를 더 포함하는 것을 특징으로 한다.In addition, the present invention, after the redundancy request receiving step, call execution locking step of temporarily prohibiting the execution of a call command to the main software being executed in the vehicle controller; and a call execution unlocking step of releasing the prohibition of the execution of the call command when the update is completed in an overlay manner by the preliminary software in the real-time update execution step.

또한, 상기 실시간 업데이트 실행단계는, 상기 리던던시 리퀘스트에 대응하여 상기 램에서 활성화시키고자 하는 하나의 예비 소프트웨어를 선택하는 예비 소프트웨어 선택과정; 선택된 예비 소프트웨어에 상기 메인 소프트웨어가 활성화되어 있는 램 주소를 맵핑시키는 램 주소 맵핑과정; 및 상기 예비 소프트웨어를 맵핑된 램 주소에 오버레이 방식으로 업데이트하여 새로운 메인 소프트웨어로서 활성화시키는 오버레이 과정;을 포함하는 것을 특징으로 한다.In addition, the real-time update execution step may include: a preliminary software selection process of selecting one spare software to be activated in the RAM in response to the redundancy request; a RAM address mapping process of mapping a RAM address in which the main software is activated to the selected spare software; and an overlay process of updating the spare software to the mapped RAM address in an overlay manner and activating it as new main software.

본 발명은 리던던시 리퀘스트에 의해 선택된 예비 소프트웨어를 메인 소프트웨어가 활성화된 램 주소에 오버레이 방식으로 업데이트함으로써, 차량의 시동 오프 없이 주행 중에도 차량 제어기에서 업데이트된 소프트웨어를 실행시킬 수 있는 효과가 있다.The present invention has an effect that the updated software can be executed in the vehicle controller even while driving without turning off the vehicle by updating the spare software selected by the redundancy request in an overlay method on the RAM address where the main software is activated.

본 발명은 차량에 구비된 센서나 부품 이상이 발생하였을 경우 그에 대비한 안전대비수단으로서의 예비 소프트웨어를 차량의 시동을 오프하지 않고 차량 제어기에서 실행시켜 긴급상황에 대응할 수 있게 함으로써, 센서나 부품 고장의 경우에도 보다 안전한 주행 환경을 유지할 수 있는 효과가 있다.In the present invention, when an abnormality occurs in a sensor or component provided in a vehicle, a spare software as a safety preparation means is executed in the vehicle controller without turning off the vehicle's engine so that it is possible to respond to an emergency situation, thereby preventing sensor or component failure Even in this case, it has the effect of maintaining a safer driving environment.

또한, 본 발명은 다양한 목적과 기능을 구현할 수 있는 예비 소프트웨어들을 사용자의 요청에 따라 실시간으로 업데이트하여 변경함으로써, 차량의 상품성과 활용성을 향상시킬 수 있는 효과가 있다.In addition, the present invention has the effect of improving the commerciality and utility of the vehicle by updating and changing the preliminary software capable of implementing various purposes and functions in real time according to the user's request.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects directly or indirectly identified through this document may be provided.

도 1은 본 발명에 따른 차량 제어기의 실시간 업데이트 장치의 블록 구성도.
도 2는 본 발명에 따라 오버레이 영역 관리부에 의해 일부 소프트웨어는 활성화 상태에 있고 나머지 소프트웨어는 대기 상태에 있는 것을 구분하여 나타내는 예시도.
도 3은 본 발명에 따라 긴급상황 리퀘스트에 의해 차량 제어기의 소프트웨어가 업데이트되는 것을 나타내는 예시도.
도 4는 본 발명에 따라 모드변경 리퀘스트에 의해 차량 제어기의 소프트웨어가 업데이트되는 것을 나타내는 예시도.
도 5는 본 발명의 다른 실시예에 따른 차량 제어기의 실시간 업데이트 방법의 구성도.
도 6은 본 발명의 다른 실시예에 따라 차량 제어기의 실시간 업데이트가 실행되는 플로우를 나타내는 순서도.
1 is a block diagram of an apparatus for real-time updating of a vehicle controller according to the present invention;
FIG. 2 is an exemplary diagram showing that some software is in an active state and other software is in a standby state by an overlay area management unit according to the present invention; FIG.
3 is an exemplary diagram illustrating that software of a vehicle controller is updated according to an emergency request according to the present invention;
4 is an exemplary view showing that software of a vehicle controller is updated in response to a mode change request according to the present invention;
5 is a block diagram of a real-time update method of a vehicle controller according to another embodiment of the present invention;
6 is a flowchart illustrating a flow in which a real-time update of a vehicle controller is executed according to another embodiment of the present invention;

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the embodiment of the present invention, if it is determined that a detailed description of a related known configuration or function interferes with the understanding of the embodiment of the present invention, the detailed description thereof will be omitted.

본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. In addition, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하, 도 1 내지 도 6을 참조하여, 본 발명의 실시예들을 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1 to 6 .

도 1은 본 발명에 따른 차량 제어기의 실시간 업데이트 장치의 블록 구성도이고, 도 2는 본 발명에 따라 오버레이 영역 관리부에 의해 일부 소프트웨어는 활성화 상태에 있고 나머지 소프트웨어는 대기 상태에 있는 것을 구분하여 나타내는 예시도이다.1 is a block diagram of a real-time update device for a vehicle controller according to the present invention, and FIG. 2 is an example showing that some software is in an active state and other software is in a standby state by the overlay area manager according to the present invention It is also

도 1 및 도 2를 참조하면, 본 발명에 따른 차량 제어기의 실시간 업데이트 장치는, 활성화되는 메인 소프트웨어의 기능을 실행하는 차량 제어기(100)와, 코드 활성화 상태를 유지하는 메인 소프트웨어와 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 오버레이 영역 관리부(200)와, 리던던시 리퀘스트(Redundancy Request)에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램(RAM) 상의 위치에 오버레이(overlay) 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 제어부(300)를 포함할 수 있다.1 and 2 , the real-time update device for a vehicle controller according to the present invention provides a vehicle controller 100 that executes an activated main software function, a main software that maintains a code activation state, and a code standby state. The overlay area manager 200, which is matched with each other so that at least one or more reserved software can be overlaid, and one spare software selected by a redundancy request are located on a RAM in which the main software is activated It may include a real-time update control unit 300 for updating in an overlay manner to execute the updated function in the vehicle controller in real time.

상기 차량 제어기(100)는, 차량의 시동이 걸린(IGN ON) 후 소프트웨어가 활성화되어 기능을 수행한다. 이를 위하여, 도 2에 도시된 바와 같이, 상기 차량 제어기(100)는 구현하고자 하는 기능에 따라 소프트웨어(S/W Func A, S/W Func B, S/W Func C, ?? , Nominal Sensor Operation, S/W Func E 및 S/W Func F)를 램(RAM)에서 활성화시킬 수 있다.The vehicle controller 100 performs a function by activating software after the vehicle is started (IGN ON). To this end, as shown in FIG. 2 , the vehicle controller 100 uses software (S/W Func A, S/W Func B, S/W Func C, ?? , Nominal Sensor Operation) according to a function to be implemented. , S/W Func E and S/W Func F) can be activated in RAM.

이와 같이 상기 차량 제어기의 기능 실행을 위해 활성화되는 각 소프트웨어에는 램 주소(0x4000 000, 0x60c0 0000 등)가 매칭되고, 이러한 램 주소를 참조하여 상기 실시간 업데이트 제어부에서 새로운 버전의 소프트웨어를 오버레이 방식으로 업데이트시키는 램 상의 위치를 파악할 수 있다.As such, a RAM address (0x4000 000, 0x60c0 0000, etc.) is matched to each software activated to execute the function of the vehicle controller, and the real-time update control unit updates the new version of the software in an overlay manner with reference to the RAM address. The location on the RAM can be determined.

또한, 상기 오버레이 영역 관리부(200)는, 상기 차량 제어기에서의 기능 실행을 위해 램(RAM) 상에서 코드 활성화 상태(Active state) (210)를 유지하고 있는 메인 소프트웨어와, 상기 차량 제어기에서 현재 활성화되지 않으며 플래시 메모리(FLASH)에 저장되어 코드 대기 상태(Ready State) (220)를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 링커(Linker) 설계를 통해 구현되어 있는 오버레이 프로그래밍 영역(Overlay Programming Area)을 제공할 수 있다.In addition, the overlay area management unit 200 includes main software that maintains a code active state 210 on a RAM for executing a function in the vehicle controller, and is not currently activated in the vehicle controller. and at least one or more spare software stored in the flash memory (FLASH) and maintaining the code ready state (220) to provide an overlay programming area implemented through the linker design. can

이때, 상기 오버레이 영역 관리부(200)에서는, 특별히 설정되어 있지 않은 한 시동이 걸리면서(IGN ON) 차량 시스템에 전원이 최초로 인가될 때 플래시 메모리의 가장 첫 번째 영역에 위치하고 있는 소프트웨어가 자동으로 선택되어 메인 소프트웨어로 활성화될 수 있다. 그에 따라, 상기 오버레이 영역 관리부에서는, 제어기에서 실행하고자 하는 소프트웨어의 사용빈도 등에 따라 다수의 소프트웨어를 순차적으로 저장할 수 있다.At this time, in the overlay area management unit 200, when power is first applied to the vehicle system while the engine is started (IGN ON) unless otherwise specified, software located in the first area of the flash memory is automatically selected and main It can be activated by software. Accordingly, the overlay area management unit may sequentially store a plurality of software according to the frequency of use of the software to be executed by the controller.

또한, 상기 코드 대기 상태(220)를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어는 이미 활성화되어 있는 메인 소프트웨어의 램 주소에 오버레이 방식으로 활성화되어 차량 제어기(100)를 업데이트하면서, 상기 오버레이 프로그래밍 영역 내에서 코드 활성화 상태(210)로 변경되는 리던던시(redundancy) 블록을 형성할 수 있다.In addition, at least one or more spare software maintaining the code standby state 220 is activated in an overlay manner on the RAM address of the already activated main software to update the vehicle controller 100 while updating the code within the overlay programming area. A redundancy block that is changed to the activated state 210 may be formed.

도 2에서는 다수의 소프트웨어가 링커(Linker) 설계를 통하여 오버레이 프로그래밍 영역을 형성하고 있는 일 예로서, 램(RAM) 주소 0x60c0.0000 에서 활성화되어 있는 메인 소프트웨어인 'Nominal Sensor Operation'와, 동일한 램 주소에 오버레이 방식으로 활성화되기 위해 플래시 메모리(FLASH)에 저장되어 있는 적어도 하나 이상의 예비 소프트웨어인 'Sensor A Fail Redundancy', 'Sensor B Fail Redundancy' 및 'Sensor A&B Fail Redundancy'로 이루어진 리던던시(redundancy) 블록을 나타내고 있다.In FIG. 2, as an example in which a plurality of software forms an overlay programming area through a linker design, the main software 'Nominal Sensor Operation' activated at RAM address 0x60c0.0000 and the same RAM address A redundancy block consisting of at least one or more spare software 'Sensor A Fail Redundancy', 'Sensor B Fail Redundancy' and 'Sensor A&B Fail Redundancy' stored in flash memory (FLASH) is indicating

이때, 램 상에서 활성화되어 있는 메인 소프트웨어는 코드 활성화 상태(Active state) (210)를 유지하게 되며, 상기 적어도 하나 이상의 예비 소프트웨어는 코드 대기 상태(Ready State) (220)를 유지하면서 리던던시 리퀘스트에 의한 선택을 대기하게 된다.At this time, the main software activated on the RAM maintains the code activation state (Active state) 210, and the at least one or more spare software is selected by the redundancy request while maintaining the code standby state (Ready State) 220 will wait for

또한, 도 2에 도시된 바와 같이, 램(RAM) 상에는 적어도 하나 이상의 제어기에서 기능을 수행하기 위한 다수의 소프트웨어가 활성화될 수 있으며, 그 중 일부만(도 2에서는 램 주소(Addr)가 0x60c0.0000 인 경우만을 지칭함)이 오버레이 방식으로 업데이트가 가능한 오버레이 프로그래밍 영역을 형성할 수 있다. 이처럼 오버레이 방식으로 업데이트가 가능한 오버레이 프로그래밍 영역이 다수 개 형성될 수도 있음은 물론이다.In addition, as shown in FIG. 2 , a plurality of software for performing functions in at least one controller may be activated on the RAM, and only some of them (in FIG. 2 , the RAM address Addr is 0x60c0.0000) ) may form an overlay programming area that can be updated in an overlay manner. Needless to say, a plurality of overlay programming areas that can be updated in an overlay manner may be formed as described above.

이때, 상기 리던던시 블록은, 상기 차량 제어기에서 실행되는 기능의 기반이 되는 센서나 부품의 고장에 대비하여 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 페일 리던던시 블록을 포함할 수 있다.In this case, the redundancy block may include a fail redundancy block composed of spare software that can be substituted in preparation for a failure of a sensor or component that is the basis of a function executed in the vehicle controller.

즉, 상기 페일 리던던시 블록은 도 2 및 도 3에 도시된 바와 같이, 센서나 부품 이상이 발생하였을 경우에 대응할 수 있는 안전대비수단(Safety Coverage)으로서 플래시 메모리(Flash)에 저장되어 있는 적어도 하나 이상의 예비 소프트웨어로 구성될 수 있다.That is, as shown in FIGS. 2 and 3 , the fail redundancy block includes at least one or more stored in a flash memory as a safety coverage that can respond when a sensor or component abnormality occurs. It can be configured as spare software.

도 2에서는 활성화된 메인 소프트웨어로서 'Nominal Sensor Operation'을 나타내고, 페일 리던던시 블록을 이루는 예비 소프트웨어로서 'Sensor A Fail Redundancy', 'Sensor B Fail Redundancy' 및 'Sensor A&B Fail Redundancy'를 나타내고 있다.In FIG. 2, 'Nominal Sensor Operation' is shown as the activated main software, and 'Sensor A Fail Redundancy', 'Sensor B Fail Redundancy' and 'Sensor A&B Fail Redundancy' are shown as spare software constituting the fail redundancy block.

그리고, 도 3에서는 센서 A의 고장에 대한 리던던시 리퀘스트(Redundancy Request)가 상기 실시간 업데이트 제어부에 수신된 후, 차량 제어기의 기능을 업데이트하기 위한 리던던시 동작(Redundancy Operation)으로서 'Sensor A Fail Redundancy' 소프트웨어가 램 상의 주소(0x60c0.0000)에 오버레이 방식으로 업데이트되면서 코드 활성화 상태로 변경되는 것을 나타내고 있다. 이때 상기 'Sensor A Fail Redundancy' 소프트웨어가 메인 소프트웨어로서 코드 활성화 상태로 변경되고, 기존에 활성화되어 있던 'Nominal Sensor Operation'가 리던던시 블록을 이루는 예비 소프트웨어로서 코드 대기 상태로 변경됨은 물론이다.And, in FIG. 3, after a redundancy request for a failure of sensor A is received by the real-time update control unit, 'Sensor A Fail Redundancy' software is provided as a redundancy operation for updating the function of the vehicle controller. It indicates that the code is activated while updating the address (0x60c0.0000) in RAM in an overlay method. At this time, the 'Sensor A Fail Redundancy' software is changed to the code activation state as the main software, and the previously activated 'Nominal Sensor Operation' is changed to the code standby state as spare software constituting the redundancy block.

또한, 상기 리던던시 블록은, 상기 차량 제어기에서 실행되는 기능의 모드변경을 위해 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 모드변경 리더던시 블록을 더 포함할 수 있다.In addition, the redundancy block may further include a mode change redundancy block composed of spare software that can be substituted for mode change of a function executed in the vehicle controller.

즉, 상기 모드변경 리던던시 블록은 도 4에 도시된 바와 같이, 상기 차량 제어기에 의해 실행될 수 있는 기능을 변경하고자 할 경우에 모드변경 수단으로서 플래시 메모리(FLASH)에 저장되어 있는 적어도 하나 이상의 소프트웨어로 구성될 수 있다.That is, as shown in FIG. 4 , the mode change redundancy block consists of at least one software stored in a flash memory (FLASH) as a mode change means when changing a function that can be executed by the vehicle controller. can be

도 4에서는 활성화된 메인 소프트웨어로서 '로보택시 모드'를 나타내고, 모드변경 리던던시 블록을 이루는 예비 소프트웨어로서 '발렛파킹 모드', '유저운행 모드'를 나타내고 있다.In FIG. 4, 'robotaxi mode' is shown as the activated main software, and 'valet parking mode' and 'user operation mode' are shown as spare software constituting the mode change redundancy block.

도 4에서는 모드변경 리퀘스트(Mode Change Request)가 상기 실시간 업데이트 제어부에 수신된 후, 차량 제어기에서 실행되는 모드를 변경하기 위한 리던던시 동작으로서, '발렛파킹 모드'나 '유저운행 모드' 소프트웨어가 램 상의 주소(0x60c0.0000)에 오버레이 방식으로 업데이트되면서 코드 활성화 상태로 변경될 수 있음을 나타내고 있다.In FIG. 4, after a mode change request is received by the real-time update control unit, as a redundancy operation for changing a mode executed by the vehicle controller, 'valet parking mode' or 'user operation mode' software is installed on the RAM. It indicates that the address (0x60c0.0000) can be changed to the code activation state while being updated in an overlay method.

또한, 상기 실시간 업데이트 제어부(300)는, 차량 제어기에서 메인 소프트웨어의 기능을 실행하는 동안 차량의 내부 또는 외부로부터 전송되는 리던던시 리퀘스트(Redundancy Request)를 수신하여 상기 리던던시 블록 중 하나의 예비 소프트웨어를 오버레이 대상으로 선택하는 리던던시 리퀘스트 수신부(310)와, 상기 리던던시 리퀘스트를 수신한 후 상기 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜(Call) 명령을 금지시키고 예비 소프트웨어가 오버레이에 의해 업데이트되어 새로운 메인 소프트웨어로 된 후 콜(Call) 금지 명령을 해제시키는 소프트웨어 락킹 제어부(320)와, 상기 리던던시 리퀘스트에 대응하여 선택된 예비 소프트웨어에 이미 활성화되어 있는 상기 메인 소프트웨어의 램 주소를 매칭시켜 상기 예비 소프트웨어를 램 상에 오버레이시킴으로써 차량 제어기를 업데이트하는 실시간 오버레이 실행부(330)를 포함할 수 있다.In addition, the real-time update control unit 300 receives a redundancy request transmitted from the inside or outside of the vehicle while executing the function of the main software in the vehicle controller, and overlays one spare software of the redundancy block After receiving the redundancy request and the redundancy request receiving unit 310 selected as By overlaying the spare software on the RAM by matching the software locking control unit 320 that releases the call prohibition command and the RAM address of the main software already activated in the spare software selected in response to the redundancy request It may include a real-time overlay execution unit 330 that updates the vehicle controller.

상기 실시간 업데이트 제어부(310)는, 차량 제어기에서 기능을 수행하던 메인 소프트웨어를 리던던시 블록 중에서 선택된 다른 예비 소프트웨어로 오버레이 하여 업데이트함으로써, 차량 제어기가 시동 오프 없이도 변경된 새로운 기능을 수행할 수 있게 한다The real-time update control unit 310 allows the vehicle controller to perform a changed new function without turning off the ignition by overlaying and updating the main software, which was performing a function in the vehicle controller, with other spare software selected from the redundancy block.

이때, 실시간 업데이트라는 표현은 시동의 오프없이 차량 제어기의 소프트웨어를 변경한 후 실행할 수 있음을 의미한다. 또한, 본 발명에서 업데이트라는 표현은 기존의 OTA 서비스를 이용하는 것처럼 차량의 주행 중 차량 제어기의 설정 정보나 튜닝 데이터를 변경하기 위한 특정 소프트웨어의 버전 변경뿐만 아니라, 차량 제어기에서 새로운 기능을 수행할 수 있도록 램에서 활성화되는 소프트웨어를 변경하는 것을 포함하는 넓은 의미로 사용된다.In this case, the expression real-time update means that the software of the vehicle controller can be changed and then executed without turning off the ignition. In addition, in the present invention, the expression "update" refers to not only changing the version of a specific software for changing the setting information or tuning data of the vehicle controller while driving the vehicle, as well as using the existing OTA service, but also to perform a new function in the vehicle controller. It is used in a broad sense to include changing the software that is activated in RAM.

또한, 상기 오버레이 영역 관리부에 의해 코드 대기 상태로 저장되어 있는 적어도 하나 이상의 예비 소프트웨어들이 기존의 OTA 서비스를 이용하던 것처럼 주행 중 무선통신망을 통하여 수신한 데이터에 의해 업데이트될 수 있음은 물론이다. 즉, 상기 코드 대기 상태로 저장 중인 활성화 전 상태의 예비 소프트웨어들은 다운로드한 데이터에 의해 업데이트를 진행하더라도 주행 중인 차량에 영향을 미치지 않으므로, 주행 중 자유로운 업데이트가 가능하게 된다.In addition, it goes without saying that at least one or more spare software stored in the code standby state by the overlay area management unit may be updated by data received through a wireless communication network while driving as if using the existing OTA service. That is, the preliminary software in the pre-activation state, which is stored in the code standby state, does not affect the vehicle being driven even if the update is performed according to the downloaded data, so that free update is possible while driving.

따라서, 상기 실시간 업데이트 제어부(300)에 의해 오버레이 방식으로 램 상에서 새롭게 활성화되는 리던던시 블록의 예비 소프트웨어는 최신 버전으로 업데이트되어 있는 상태를 유지할 수 있다.Accordingly, the spare software of the redundancy block newly activated on the RAM in an overlay manner by the real-time update control unit 300 may maintain an updated state to the latest version.

상기 리던던시 리퀘스트 수신부(310)는, 차량의 시동이 걸려 있어 차량 제어기에서 메인 소프트웨어의 기능을 실행하는 동안 차량의 내부 또는 외부로부터 전송되는 리던던시 리퀘스트(Redundancy Request)를 수신할 수 있다.The redundancy request receiving unit 310 may receive a redundancy request transmitted from the inside or outside of the vehicle while the vehicle is started and the vehicle controller executes a function of the main software.

이때, 상기 리던던시 리퀘스트는 차량에 구비된 센서나 부품의 고장으로 인한 긴급상황과 관련된 리퀘스트로서, 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 각 센서나 부품의 고장에 대응하여 미리 준비되어 있는 페일 리던던시 블록상의 예비 소프트웨어로 업데이트할 것을 요청하는 리퀘스트일 수 있다.At this time, the redundancy request is a request related to an emergency due to a failure of a sensor or component provided in the vehicle, and the main software executing a function in the vehicle controller is prepared in advance in response to the failure of each sensor or component. It may be a request to update with the spare software on the block.

또한, 상기 리던던시 리퀘스트는 차량 제어기에서 실행되고 있는 기능을 변경하기 위한 모드변경과 관련된 리퀘스트로서, 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 다른 기능을 수행할 수 있도록 미리 준비되어 있는 모드변경 리던던시 블록상의 예비 소프트웨어로 업데이트 할 것을 요청하는 리퀘스트일 수 있다.In addition, the redundancy request is a request related to a mode change for changing a function being executed in the vehicle controller, and a mode change redundancy block prepared in advance so that the main software executing the function in the vehicle controller can perform another function. It may be a request to update to the spare software on the top.

상기 리던던시 리퀘스트 수신부(310)는, 수신한 리던던시 리퀘스트의 내용에 따라 상기 페일 리던던시 블록이나 모드변경 리던던시 블록을 이루고 있는 예비 소프트웨어들 중 하나를 오버레이 대상으로 선택할 수 있다.The redundancy request receiving unit 310 may select one of the spare software constituting the fail redundancy block or the mode change redundancy block as an overlay target according to the content of the received redundancy request.

또한, 상기 소프트웨어 락킹 제어부(320)는, 오버레이에 의한 소프트웨어의 업데이트 진행 중 에러가 발생하는 것을 방지할 수 있도록, 상기 리던던시 리퀘스트를 수신한 후 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜(Call) 명령의 실행을 금지시킬 수 있다.In addition, the software locking control unit 320, after receiving the redundancy request, calls to the main software being executed in the vehicle controller so as to prevent an error from occurring during software update by overlay. You can prevent the execution of commands.

즉, 램 상에서 활성화되어 있는 메인 소프트웨어는 차량 제어기가 포함되어 있는 차량 내 시스템의 다른 제어기 또는 소프트웨어들과 서로 참조하면서 기능을 실행할 수 있다.That is, the main software activated on the RAM may execute a function while referring to other controllers or software of the in-vehicle system including the vehicle controller.

그에 따라, 오버레이 방식에 따른 업데이트가 완료되기 전에 다른 제어기나 소프트웨어와의 데이터 처리가 이루어질 경우, 업데이트 후 변경된 새로운 메인 소프트웨어에서는 해당 데이터 처리에 대한 정보를 얻지 못할 수 있어 오류를 야기할 수 있다.Accordingly, if data processing with another controller or software is performed before the update according to the overlay method is completed, information on the data processing may not be obtained from the new main software changed after the update, which may cause an error.

이러한 오류로 인하여 오버레이 방식의 업데이트가 실패하거나, 차량 제어기가 부적절하게 동작하는 것을 방지하기 위하여, 리던던시 리퀘스트를 수신한 후부터 변경된 새로운 메인 소프트웨어로의 업데이트가 완료되기 전까지는 변경 대상이 되는 기존의 메인 소프트웨어에 대한 콜(Call) 명령의 실행을 금지시킬 수 있다.In order to prevent the update of the overlay method from failing due to such an error or improper operation of the vehicle controller, the existing main software that is the subject of change from the time the redundancy request is received until the update to the new main software is completed. It is possible to prohibit the execution of the call command for .

이후 업데이트 완료 플래그(Flag)를 통하여 새로운 메인 소프트웨어가 활성화되어 차량 제어기에서 수행되는 기능이 안정적으로 업데이트된 후에는 콜(Call) 금지 명령을 해제시켜 제어기의 동작을 정상화할 수 있다.Thereafter, after the new main software is activated through the update completion flag and the functions performed by the vehicle controller are stably updated, the call prohibition command is released to normalize the operation of the controller.

또한, 상기 실시간 오버레이 실행부(330)는, 상기 리던던시 블록에서 선택된 예비 소프트웨어를 이미 램 상에서 활성화 중인 기존의 메인 소프트웨어에 오버레이 시켜 새로운 메인 소프트웨어를 램 상에서 활성화시킬 수 있다.In addition, the real-time overlay execution unit 330 may activate the new main software on the RAM by overlaying the spare software selected in the redundancy block on the existing main software already being activated on the RAM.

이를 위하여 상기 실시간 오버레이 실행부(330)는, 이미 활성화되어 있는 기존의 메인 소프트웨어에 할당되었던 램 상의 시작 주소와 코드 대기 상태에 있는 예비 소프트웨어의 플래시 메모리 상의 저장 주소를 상시 참조하여 인지할 수 있다.To this end, the real-time overlay execution unit 330 may always refer to and recognize the start address on the RAM allocated to the existing main software that is already activated and the storage address on the flash memory of the spare software in the code standby state.

그리고, 상기 실시간 오버레이 실행부(330)는, 상기 리던던시 블록에서 선택된 예비 소프트웨어에 현재 활성화되어 있는 메인 소프트웨어의 램 상의 시작 주소를 맵핑시켜, 상기 예비 소프트웨어를 새로운 메인 소프트웨어로서 램 상에 활성화시킬 수 있다.In addition, the real-time overlay execution unit 330 may map a start address on the RAM of the currently activated main software to the spare software selected in the redundancy block, and activate the spare software as new main software on the RAM. .

상기 실시간 오버레이 실행부(330)는, 오버레이에 의한 소프트웨어의 업데이트가 완료된 후에는 업데이트 완료 플래그를 상기 실시간 업데이트 제어부로 전송하여 콜(Call) 금지 명령을 해제할 수 있다.After the software update by overlay is completed, the real-time overlay execution unit 330 may transmit an update completion flag to the real-time update controller to release the call prohibition command.

이와 같이 상기 실시간 오버레이 실행부(330)에서 변경하고자 하는 버전의 예비 소프트웨어에 기존에 활성화되어 있는 메인 소프트웨어의 램 주소를 부여하여 오버레이 시킴으로써, 차량의 시동을 껐다가 켜지 않더라도 제어기에서는 기존의 메인 소프트웨어를 대신하여 업데이트된 새로운 버전의 소프트웨어 기능을 실행할 수 있어, 개선된 기능을 실행하기 위한 소프트웨어의 업데이트를 실시간으로 수행할 수 있다.In this way, the real-time overlay execution unit 330 assigns the RAM address of the previously activated main software to the spare software of the version to be changed and overlays it. Instead, it is possible to execute the updated new version of the software function, so that the software update to implement the improved function can be performed in real time.

다음에는 도 5 및 도 6을 참조하여 본 발명의 다른 실시예에 따른 차량 제어기의 실시간 업데이트 방법을 설명한다.Next, a real-time update method of a vehicle controller according to another embodiment of the present invention will be described with reference to FIGS. 5 and 6 .

도 5는 본 발명의 다른 실시예에 따른 차량 제어기의 실시간 업데이트 방법의 구성도이고, 도 6은 본 발명의 다른 실시예에 따라 차량 제어기의 실시간 업데이트가 실행되는 플로우를 나타내는 순서도이다.5 is a block diagram of a method for real-time updating of a vehicle controller according to another embodiment of the present invention, and FIG. 6 is a flowchart illustrating a flow of performing real-time update of a vehicle controller according to another embodiment of the present invention.

도 5 및 도 6을 참조하면, 본 발명의 다른 실시예에 따른 차량 제어기의 실시간 업데이트 방법은, 코드 활성화 상태에 있는 메인 소프트웨어와 코드 대기 상태에 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 차량 제어기 소프트웨어 활성화단계(S100)와, 차량 제어기에서 상기 메인 소프트웨어의 기능이 실행되는 중 상기 메인 소프트웨어의 업데이트를 요청하는 리던던시 리퀘스트를 수신하는 리던던시 리퀘스트 수신단계(S200)와, 상기 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램(RAM) 주소에 오버레이(overlay) 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 실행단계(S400)를 포함할 수 있다.5 and 6 , in a real-time updating method of a vehicle controller according to another embodiment of the present invention, the main software in the code activation state and at least one or more spare software in the code standby state are mutually matched so that overlaying is possible. A vehicle controller software activation step (S100), a redundancy request receiving step (S200) of receiving a redundancy request requesting an update of the main software while the function of the main software is being executed in the vehicle controller, and the redundancy request It may include a real-time update execution step (S400) of updating the selected one spare software on the RAM address in which the main software is activated in an overlay method to execute the updated function in the vehicle controller in real time. .

상기 차량 제어기 소프트웨어 활성화단계(S100)는, 상기 차량 제어기에서의 기능 실행을 위해 메인 소프트웨어를 램(RAM)에서 활성화시키는 메인 소프트웨어 실행과정(S110)과, 현재 활성화되어 있지 않으며 오버레이 방식으로 상기 메인 소프트웨어를 업데이트하도록 상기 메인 소프트웨어에 매칭되어 있는 적어도 하나 이상의 예비 소프트웨어를 플래시 메모리에 저장하고 있는 예비 소프트웨어 대기과정(S120)을 포함할 수 있다.The vehicle controller software activation step (S100) includes a main software execution process (S110) of activating the main software in RAM to execute functions in the vehicle controller, and the main software execution process (S110) that is not currently activated and is an overlay method. It may include a preliminary software standby process (S120) of storing at least one or more preliminary software matched to the main software in a flash memory to update the .

이때, 상기 메인 소프트웨어 실행과정(S110)에서는, 상기 차량 제어기에서 실행하고자 하는 기능을 수행할 수 있는 메인 소프트웨어에 램 상의 주소를 맵핑한 후 램에서 활성화시킬 수 있다.In this case, in the main software execution process ( S110 ), an address on the RAM may be mapped to the main software capable of performing a function to be executed by the vehicle controller and then activated in the RAM.

또한, 상기 예비 소프트웨어 대기과정(S120)에서는, 상기 메인 소프트웨어를 오버레이 방식으로 업데이트할 수 있는 적어도 하나 이상의 예비 소프트웨어가 링커(Linker) 설계를 통하여 오버레이 가능하도록 구현되어 플래시 메모리에 저장될 수 있다. In addition, in the preliminary software standby process ( S120 ), at least one or more preliminary software capable of updating the main software in an overlay manner may be implemented to be overlaid through a linker design and stored in the flash memory.

이러한 적어도 하나 이상의 예비 소프트웨어는 상기 메인 소프트웨어에 오버레이 방식으로 업데이트될 수 있는 리던던시(redundancy) 블록을 형성할 수 있다.Such at least one or more preliminary software may form a redundancy block that may be updated in an overlay manner on the main software.

이때, 상기 메인 소프트웨어는 현재 램 상에서 활성화되어 차량 제어기에서 기능을 실행하고 있는 소프트웨어를 지칭하고, 상기 예비 소프트웨어는 상기 메인 소프트웨어를 오버레이 방식으로 업데이트할 수 있는 나머지 소프트웨어를 지칭한다.In this case, the main software refers to software that is currently activated on the RAM and executes a function in the vehicle controller, and the spare software refers to the remaining software capable of updating the main software in an overlay manner.

그에 따라 상기 예비 소프트웨어가 램 상에서 활성화되어 코드 활성화 상태에 있을 경우 메인 소프트웨어가 되고, 상기 메인 소프트웨어도 코드 대기 상태에 있을 경우 예비 소프트웨어가 될 수 있다.Accordingly, when the spare software is activated on the RAM and is in a code activation state, it becomes main software, and when the main software is also in a code standby state, it may become spare software.

상기 리던던시 리퀘스트 수신단계(S200)는, 차량의 시동이 걸려 있어 차량 제어기에서 메인 소프트웨어의 기능이 실행되고 있는 동안 차량의 내부 또는 외부로부터 전송되는 상기 메인 소프트웨어의 업데이트를 요청하는 리던던시 리퀘스트(Redundancy Request)를 수신할 수 있다.The redundancy request receiving step (S200) is a redundancy request for requesting an update of the main software transmitted from the inside or outside of the vehicle while the vehicle is started and the function of the main software is being executed in the vehicle controller (Redundancy Request) can receive

이때, 상기 리던던시 리퀘스트 수신단계(S200)는, 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 각 센서나 부품의 고장에 대응하여 미리 준비되어 있는 페일 리던던시 블록상의 예비 소프트웨어로 업데이트할 것을 요청하는 긴급 리퀘스트 수신과정(S210)을 포함할 수 있다.At this time, the redundancy request receiving step (S200) is an emergency request requesting to update the main software executing a function in the vehicle controller with the spare software on the fail redundancy block prepared in advance in response to the failure of each sensor or component. It may include a receiving process (S210).

그에 따라, 차량에 구비된 센서나 부품의 고장과 같은 긴급상황이 발생하였을 경우, 각 센서나 부품의 고장에 대비하여 미리 준비되어 있는 예비 소프트웨어가 차량의 시동을 오프하지 않고도 주행 중인 상태에서 차량 제어기에 업데이트되어 즉시 실행될 수 있게 된다. 이와 같이 차량의 시동 오프 없이 예비 소프트웨어를 차량 제어기에서 실행시킬 수 있으므로, 주행 중 발생될 수 있는 센서나 부품 고장의 경우에도 보다 안전한 주행 환경을 유지할 수 있다.Accordingly, when an emergency situation such as a failure of a sensor or component provided in the vehicle occurs, the vehicle controller in a state in which the spare software prepared in advance in preparation for the failure of each sensor or component is driving without turning off the ignition of the vehicle updated and ready to run immediately. As described above, since the spare software can be executed in the vehicle controller without turning off the vehicle's ignition, a safer driving environment can be maintained even in the case of a sensor or component failure that may occur while driving.

또한, 상기 리던던시 리퀘스트 수신단계(S200)는, 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 다른 기능을 수행할 수 있도록 미리 준비되어 있는 모드변경 리던던시 블록상의 예비 소프트웨어로 업데이트 할 것을 요청하는 모드변경 리퀘스트 수신과정(S220)을 포함할 수 있다.In addition, the redundancy request receiving step (S200) is a mode change request requesting to update the main software executing the function in the vehicle controller with the spare software on the mode change redundancy block prepared in advance to perform other functions. It may include a receiving process (S220).

그에 따라, 다양한 목적과 기능을 구현할 수 있는 예비 소프트웨어들을 포함하여 모드변경 리던던시 블록을 형성한 후, 사용자의 요청에 따라 활성화시키고자 하는 모드를 실시간으로 업데이트하여 변경할 수 있게 된다. 이로 인하여 차량의 상품성과 활용성을 향상시킬 수 있다.Accordingly, after forming a mode change redundancy block including spare software capable of implementing various purposes and functions, the mode to be activated can be updated and changed in real time according to a user's request. Accordingly, it is possible to improve the marketability and usability of the vehicle.

또한, 본 발명은 상기 리던던시 리퀘스트를 수신하여 메인 소프트웨어의 업데이트가 예정되어 있는 경우, 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜(Call) 명령의 실행을 업데이트 완료 후까지 일시적으로 금지(Lock)시키는 콜 실행 락킹단계(S300)를 더 포함할 수 있다.In addition, the present invention temporarily locks the execution of a call command for the main software being executed in the vehicle controller until after the update is completed, when the update of the main software is scheduled by receiving the redundancy request. It may further include a call execution locking step (S300).

이와 같이 상기 리던던시 리퀘스트를 수신한 이후 메인 소프트웨어의 실행을 일시적으로 정지시킴으로써, 업데이트를 위한 오버레이 도중 메인 소프트웨어가 실행되면서 업데이트가 실패하거나 차량 제어기가 부적절하게 동작하는 것을 방지할 수 있다.In this way, by temporarily stopping the execution of the main software after receiving the redundancy request, it is possible to prevent the update from failing or the vehicle controller from operating improperly while the main software is being executed during the overlay for the update.

이후, 상기 실시간 업데이트 실행단계(S400)에서 예비 소프트웨어에 의해 오버레이 방식으로 업데이트가 완료되어, 차량 제어기가 업데이트된 새로운 메인 소프트웨어의 기능을 실행할 수 있게 될 경우에는, 콜 명령의 실행을 금지시켰던 것을 해제하는 콜 실행 락킹 해제단계(S500)를 더 포함할 수 있음은 물론이다.Thereafter, when the update in the overlay method is completed by the preliminary software in the real-time update execution step ( S400 ) and the vehicle controller can execute the function of the updated new main software, the prohibition of the execution of the call command is released Of course, it may further include a call execution unlocking step (S500).

또한, 상기 실시간 업데이트 실행단계(S400)는, 상기 리던던시 리퀘스트에 대응하여 리던던시 블록으로부터 상기 램(RAM)에서 활성화시키고자 하는 하나의 예비 소프트웨어를 선택하는 예비 소프트웨어 선택과정(S410)과, 선택된 예비 소프트웨어에 상기 메인 소프트웨어가 활성화되어 있는 램 상의 주소를 맵핑시키는 램 주소 맵핑과정(S420)과, 상기 예비 소프트웨어를 맵핑된 램 상의 주소에 오버레이 방식으로 업데이트하여 새로운 메인 소프트웨어로서 활성화시키는 오버레이 과정(S430)을 포함할 수 있다.In addition, the real-time update execution step (S400) includes a preliminary software selection process (S410) of selecting one spare software to be activated in the RAM from a redundancy block in response to the redundancy request, and the selected spare software A RAM address mapping process (S420) of mapping an address on the RAM in which the main software is activated to the , and an overlay process (S430) of activating the new main software by updating the spare software to the mapped address on the RAM in an overlay method may include

이때, 상기 예비 소프트웨어 선택과정(S410)에서는, 상기 리던던시 리퀘스트가 긴급 리퀘스트인 경우에는 안전대비수단으로서 적어도 하나 이상의 예비 소프트웨어가 미리 저장되어 있는 페일 리던던시 블록으로부터 하나의 예비 소프트웨어를 선택할 수 있다.In this case, in the preliminary software selection process ( S410 ), when the redundancy request is an emergency request, as a safety measure, one spare software may be selected from a fail redundancy block in which at least one or more spare software is stored in advance.

또한, 상기 예비 소프트웨어 선택과정(S410)에서는, 상기 리던던시 리퀘서트가 모드변경 리퀘스트인 경우에는 현재의 메인 소프트웨어 대신 다른 기능을 실행할 수 있는 적어도 하나 이상의 예비 소프트웨어가 미리 저장되어 있는 모드변경 리던던시 블록으로부터 하나의 예비 소프트웨어를 선택할 수 있다.In addition, in the preliminary software selection process ( S410 ), when the redundancy request is a mode change request, at least one or more spare software capable of executing other functions instead of the current main software is stored in one of the mode change redundancy blocks. of spare software can be selected.

또한 상기 램 주소 맵핑과정(S420)에서는, 이미 활성화되어 있는 기존의 메인 소프트웨어에 할당되었던 램 상의 시작 주소를 플래시 메모리상에 저장되어 있는 예비 소프트웨어에 다시 부여함으로써, 선택된 예비 소프트웨어가 램(RAM) 상에서 활성화되는 위치를 기존의 메인 소프트웨어와 동일하게 설정할 수 있다.In addition, in the RAM address mapping process ( S420 ), the start address on RAM allocated to the existing main software that is already activated is assigned again to the spare software stored in the flash memory, so that the selected spare software is installed on the RAM. You can set the activated position to be the same as that of the existing main software.

이와 같이 오버레이 되는 예비 소프트웨어가 램 상에서 기존에 활성화되었던 메인 소프트웨어와 동일 주소에서 활성화됨으로써, 램 상에 활성화되어 있는 다른 소프트웨어나 다른 제어기들과의 신호 처리에 지장을 초래하지 않고 실행될 수 있다.As such, the overlaid spare software is activated at the same address as the previously activated main software on the RAM, so that it can be executed without interfering with signal processing with other software or other controllers activated on the RAM.

그에 따라, 시동을 오프하였다가 다시 온 상태로 돌아오면서 램 상에 활성화되는 소프트웨어들의 주소가 재할당되는 과정을 거치지 않더라도 소프트웨어의 기능을 안정적으로 실행할 수 있게 된다.Accordingly, it is possible to stably execute the function of the software even if the address of the software activated on the RAM is not reassigned as the engine is turned off and then returned to the on state.

또한, 상기 오버레이 과정(S430)은, 상기 램 주소 맵핑과정에서 부여된 기존 메인 소프트웨어의 램 주소에 상기 예비 소프트웨어가 오버레이 방식으로 업데이트되면서, 차량 제어기의 기능이 업데이트된 예비 소프트웨어를 새로운 메인 소프트웨어로 실행될 수 있다.In addition, in the overlay process (S430), the spare software with the function of the vehicle controller is updated as the new main software while the spare software is updated in an overlay manner on the RAM address of the existing main software given in the RAM address mapping process. can

또한, 상기 실시간 업데이트 실행단계(S400)는, 상기 오버레이 과정에 의해 예비 소프트웨어가 새로운 메인 소프트웨어로서 램 상에 활성화되어 업데이트가 완료되었음을 나타내는 플래그(Flag)를 통지하는 업데이트 완료 통지과정(S440)을 더 포함할 수 있다.In addition, the real-time update execution step (S400) further includes an update completion notification process (S440) of notifying a flag indicating that the update is completed by activating the spare software as new main software on the RAM by the overlay process. may include

그에 따라, 상기 업데이트 완료 통지과정(S440)에 의해 오버레이 방식의 업데이트가 종료되었음을 통지 받은 실시간 업데이트 제어부에서 상기 콜 실행 락킹단계에서 금지하였던 다른 소프트웨어나 제어기와의 신호처리가 가능하도록 금지명령을 해제할 수 있게 된다.Accordingly, the real-time update control unit, which has been notified that the update of the overlay method has ended by the update completion notification process ( S440 ), releases the prohibition command to enable signal processing with other software or controllers that were prohibited in the call execution locking step. be able to

이와 같이 상기 콜 실행 락킹 해제단계(S500)에 의해 금지되었던 콜 실행이 해제됨으로써, 상기 차량 제어기에서는 업데이트된 새로운 메인 소프트웨어를 실행하여 변경된 기능을 수행하는 소프트웨어 실행단계(S600)를 더 포함할 수 있다.In this way, as the call execution prohibited by the call execution lock release step S500 is released, the vehicle controller may further include a software execution step S600 of executing the updated new main software to perform the changed function. .

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains.

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100 : 차량 제어기
200 : 오버레이 영역 관리부 210 : 코드 활성화 상태
220 : 코드 대기상태
300 : 실시간 업데이트 제어부
310 : 리던던시 리퀘스트 수신부 320 : 소프트웨어 락킹부
330 : 실시간 오버레이 실행부
100: vehicle controller
200: overlay area management unit 210: code activation state
220: code standby state
300: real-time update control unit
310: redundancy request receiving unit 320: software locking unit
330: real-time overlay execution unit

Claims (15)

활성화되는 메인 소프트웨어의 기능을 실행하는 차량 제어기;
코드 활성화 상태를 유지하는 메인 소프트웨어와 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 오버레이 영역 관리부; 및
리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램 주소에 오버레이 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 제어부;
를 포함하는 차량 제어기의 실시간 업데이트 장치.
a vehicle controller executing the function of the main software being activated;
an overlay area management unit in which the main software maintaining the code activation state and at least one or more spare software maintaining the code standby state can be overlaid with each other; and
a real-time update control unit that updates one spare software selected by a redundancy request on the RAM address in which the main software is activated in an overlay method to execute the updated function in the vehicle controller in real time;
A real-time update device for a vehicle controller comprising a.
청구항 1에 있어서,
상기 오버레이 영역 관리부는,
상기 차량 제어기에서의 기능 실행을 위해 램 상에서 코드 활성화 상태를 유지하고 있는 메인 소프트웨어와, 상기 차량 제어기에서 현재 활성화되지 않으며 플래시 메모리에 저장되어 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어가 링커 설계를 통해 구현되어 있는 오버레이 프로그래밍 영역을 제공하는 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
The method according to claim 1,
The overlay area management unit,
A linker design includes main software maintaining a code activation state on RAM for function execution in the vehicle controller, and at least one or more spare software that is not currently activated in the vehicle controller and is stored in a flash memory and maintains a code standby state. A real-time update device for a vehicle controller, characterized in that it provides an overlay programming area implemented through
청구항 1에 있어서,
상기 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어는 리던던시 블록을 형성하며,
상기 리던던시 블록은,
상기 차량 제어기에서 실행되는 기능의 기반이 되는 센서나 부품의 고장에 대비하여 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 페일 리던던시 블록인 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
The method according to claim 1,
At least one or more spare software maintaining the code standby state forms a redundancy block,
The redundancy block is
The real-time update device of the vehicle controller, characterized in that it is a fail redundancy block composed of spare software that can be replaced in preparation for failure of a sensor or component that is a basis for a function executed in the vehicle controller.
청구항 1에 있어서,
상기 코드 대기 상태를 유지하고 있는 적어도 하나 이상의 예비 소프트웨어는 리던던시 블록을 형성하며,
상기 리던던시 블록은,
상기 차량 제어기에서 실행되는 기능의 모드변경을 위해 대체 실행될 수 있는 예비 소프트웨어들로 이루어진 모드변경 리더던시 블록인 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
The method according to claim 1,
At least one or more spare software maintaining the code standby state forms a redundancy block,
The redundancy block is
and a mode change leadership block composed of spare software that can be substituted for mode change of a function executed in the vehicle controller.
청구항 1에 있어서,
상기 실시간 업데이트 제어부는,
상기 차량 제어기에서 메인 소프트웨어의 기능을 실행하는 동안 차량의 내부 또는 외부로부터 전송되는 리던던시 리퀘스트를 수신하여, 상기 리던던시 블록 중 하나의 예비 소프트웨어를 오버레이 대상으로 선택하는 리던던시 리퀘스트 수신부; 및
상기 리던던시 리퀘스트에 대응하여 선택된 예비 소프트웨어에 이미 활성화되어 있는 상기 메인 소프트웨어의 램 주소를 매칭시켜 상기 예비 소프트웨어를 램 상에 오버레이시킴으로써 차량 제어기를 업데이트하는 실시간 오버레이 실행부;
를 포함하는 차량 제어기의 실시간 업데이트 장치.
The method according to claim 1,
The real-time update control unit,
a redundancy request receiving unit for receiving a redundancy request transmitted from the inside or outside of the vehicle while executing a function of the main software in the vehicle controller, and selecting one spare software among the redundancy blocks as an overlay target; and
a real-time overlay execution unit that updates the vehicle controller by overlaying the spare software on the RAM by matching the RAM address of the main software that is already activated with the spare software selected in response to the redundancy request;
A real-time update device for a vehicle controller comprising a.
청구항 5에 있어서,
상기 리던던시 리퀘스트를 수신한 후 상기 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜 명령을 금지시키고, 예비 소프트웨어가 오버레이에 의해 업데이트되어 새로운 메인 소프트웨어로 된 후 콜 금지 명령을 해제시키는 소프트웨어 락킹 제어부;
를 더 포함하는 차량 제어기의 실시간 업데이트 장치.
6. The method of claim 5,
a software locking control unit that prohibits a call command to the main software being executed in the vehicle controller after receiving the redundancy request, and releases the call prohibition command after the spare software is updated by overlay to become new main software;
A real-time update device of the vehicle controller further comprising a.
청구항 5에 있어서,
상기 리던던시 리퀘스트 수신부는,
상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 각 센서나 부품의 고장에 대응하여 미리 준비되어 있는 페일 리던던시 블록상의 예비 소프트웨어로 업데이트할 것을 요청하는 리퀘스트를 수신하는 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
6. The method of claim 5,
The redundancy request receiving unit,
Real-time update of the vehicle controller, characterized in that receiving a request to update the main software executing the function in the vehicle controller with the spare software on the fail redundancy block prepared in advance in response to the failure of each sensor or component Device.
청구항 5에 있어서,
상기 리던던시 리퀘스트 수신부는,
상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 다른 기능을 수행할 수 있도록 미리 준비되어 있는 모드변경 리던던시 블록상의 예비 소프트웨어로 업데이트 할 것을 요청하는 리퀘스트를 수신하는 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
6. The method of claim 5,
The redundancy request receiving unit,
The real-time update device of the vehicle controller, characterized in that it receives a request to update the main software executing the function in the vehicle controller with the spare software on the mode change redundancy block prepared in advance to perform other functions. .
청구항 5에 있어서,
상기 실시간 오버레이 실행부는,
상기 리던던시 블록에서 선택된 예비 소프트웨어에 현재 활성화되어 있는 메인 소프트웨어의 램 상의 시작 주소를 맵핑시켜, 상기 예비 소프트웨어를 새로운 메인 소프트웨어로서 램 상에 활성화시키는 것을 특징으로 하는 차량 제어기의 실시간 업데이트 장치.
6. The method of claim 5,
The real-time overlay execution unit,
The real-time update apparatus of a vehicle controller, characterized in that the spare software selected in the redundancy block is mapped to a start address on the RAM of the currently activated main software to activate the spare software as new main software on the RAM.
코드 활성화 상태에 있는 메인 소프트웨어와 코드 대기 상태에 있는 적어도 하나 이상의 예비 소프트웨어가 오버레이 가능하도록 상호 매칭되어 있는 차량 제어기 소프트웨어 활성화단계;
차량 제어기에서 상기 메인 소프트웨어의 기능이 실행되는 중, 상기 메인 소프트웨어의 업데이트를 요청하는 리던던시 리퀘스트를 수신하는 리던던시 리퀘스트 수신단계; 및
상기 리던던시 리퀘스트에 의해 선택된 하나의 예비 소프트웨어를 상기 메인 소프트웨어가 활성화된 램 주소에 오버레이 방식으로 업데이트하여 상기 차량 제어기에서 업데이트된 기능을 실시간으로 실행시키는 실시간 업데이트 실행단계;
를 포함하는 차량 제어기의 실시간 업데이트 방법.
a vehicle controller software activation step in which the main software in the code activation state and at least one or more spare software in the code standby state are mutually matched so that overlaying is possible;
a redundancy request receiving step of receiving a redundancy request requesting an update of the main software while a function of the main software is being executed in a vehicle controller; and
a real-time update execution step of updating one spare software selected by the redundancy request on the RAM address in which the main software is activated in an overlay method to execute the updated function in the vehicle controller in real time;
A real-time update method of a vehicle controller comprising a.
청구항 10에 있어서,
상기 차량 제어기 소프트웨어 활성화단계는,
상기 차량 제어기에서의 기능 실행을 위해 메인 소프트웨어를 램에서 활성화시키는 메인 소프트웨어 실행과정; 및
현재 활성화되어 있지 않으며 오버레이 방식으로 상기 메인 소프트웨어를 업데이트하도록 상기 메인 소프트웨어에 매칭되어 있는 적어도 하나 이상의 예비 소프트웨어를 플래시 메모리에 저장하고 있는 예비 소프트웨어 대기과정;
을 포함하는 차량 제어기의 실시간 업데이트 방법.
11. The method of claim 10,
The vehicle controller software activation step includes:
a main software execution process of activating main software in RAM to execute a function in the vehicle controller; and
a preliminary software standby process of storing at least one or more spare software that is not currently activated and matched with the main software in a flash memory so as to update the main software in an overlay manner;
A real-time update method of a vehicle controller comprising a.
청구항 10에 있어서,
상기 리던던시 리퀘스트 수신단계는,
상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 각 센서나 부품의 고장에 대응하여 미리 준비되어 있는 페일 리던던시 블록상의 예비 소프트웨어로 업데이트할 것을 요청하는 긴급 리퀘스트 수신과정;
을 포함하는 차량 제어기의 실시간 업데이트 방법.
11. The method of claim 10,
The redundancy request receiving step is,
an emergency request receiving process of requesting to update the main software executing the function in the vehicle controller with the spare software on the fail redundancy block prepared in advance in response to the failure of each sensor or component;
A real-time update method of a vehicle controller comprising a.
청구항 10에 있어서,
상기 리던던시 리퀘스트 수신단계는,
상기 차량 제어기에서 기능을 실행하고 있는 메인 소프트웨어를 다른 기능을 수행할 수 있도록 미리 준비되어 있는 모드변경 리던던시 블록상의 예비 소프트웨어로 업데이트 할 것을 요청하는 모드변경 리퀘스트 수신과정;
을 포함하는 차량 제어기의 실시간 업데이트 방법.
11. The method of claim 10,
The redundancy request receiving step is,
a mode change request receiving process of requesting to update the main software executing a function in the vehicle controller with the spare software on the mode change redundancy block prepared in advance to perform other functions;
A real-time update method of a vehicle controller comprising a.
청구항 10에 있어서,
상기 리던던시 리퀘스트 수신단계 이후, 상기 차량 제어기에서 실행되고 있는 메인 소프트웨어에 대한 콜 명령의 실행을 일시적으로 금지시키는 콜 실행 락킹단계; 및
상기 실시간 업데이트 실행단계에서 예비 소프트웨어에 의해 오버레이 방식으로 업데이트가 완료될 경우, 콜 명령의 실행을 금지시켰던 것을 해제하는 콜 실행 락킹 해제단계;
를 더 포함하는 차량 제어기의 실시간 업데이트 방법.
11. The method of claim 10,
a call execution locking step of temporarily prohibiting execution of a call command to the main software being executed in the vehicle controller after the redundancy request receiving step; and
a call execution lock release step of releasing a call command execution prohibition when the update in the overlay method is completed by the preliminary software in the real-time update execution step;
A real-time update method of the vehicle controller further comprising a.
청구항 10에 있어서,
상기 실시간 업데이트 실행단계는,
상기 리던던시 리퀘스트에 대응하여 상기 램에서 활성화시키고자 하는 하나의 예비 소프트웨어를 선택하는 예비 소프트웨어 선택과정;
선택된 예비 소프트웨어에 상기 메인 소프트웨어가 활성화되어 있는 램 주소를 맵핑시키는 램 주소 맵핑과정; 및
상기 예비 소프트웨어를 맵핑된 램 주소에 오버레이 방식으로 업데이트하여 새로운 메인 소프트웨어로서 활성화시키는 오버레이 과정;
을 포함하는 차량 제어기의 실시간 업데이트 방법.
11. The method of claim 10,
The real-time update execution step is
a preliminary software selection process of selecting one preliminary software to be activated in the RAM in response to the redundancy request;
a RAM address mapping process of mapping a RAM address in which the main software is activated to the selected spare software; and
an overlay process of updating the spare software to the mapped RAM address in an overlay method and activating it as new main software;
A real-time update method of a vehicle controller comprising a.
KR1020200180235A 2020-12-21 2020-12-21 Apparatus and method for real-time updating of vehicle controller KR20220089521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200180235A KR20220089521A (en) 2020-12-21 2020-12-21 Apparatus and method for real-time updating of vehicle controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200180235A KR20220089521A (en) 2020-12-21 2020-12-21 Apparatus and method for real-time updating of vehicle controller

Publications (1)

Publication Number Publication Date
KR20220089521A true KR20220089521A (en) 2022-06-28

Family

ID=82268375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200180235A KR20220089521A (en) 2020-12-21 2020-12-21 Apparatus and method for real-time updating of vehicle controller

Country Status (1)

Country Link
KR (1) KR20220089521A (en)

Similar Documents

Publication Publication Date Title
US11868760B2 (en) Vehicle controller, program updating method, and non-transitory storage medium that stores program for updating program
US10599418B2 (en) Software update system and server
US11604636B2 (en) Vehicle control system and method for confirming software consistency
WO2016158547A1 (en) Program rewriting device and program rewriting method
US10936306B2 (en) Vehicle control system and software compatibility checking method
US20070185624A1 (en) Method for remote reprogramming of vehicle flash memory
JP4286633B2 (en) Software updating apparatus and software updating method
JP2019144669A5 (en)
CN110245033B (en) Vehicle control system and vehicle control method
JP2019159399A5 (en)
JP5939149B2 (en) Information processing apparatus for vehicle and program update method
JP2016188022A (en) Program rewriting device and program rewriting method
JP2014204315A (en) Relay device
US20230297368A1 (en) Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master
JP2019159400A5 (en)
KR20220089521A (en) Apparatus and method for real-time updating of vehicle controller
JP6147790B2 (en) Program rewriting device and program rewriting method
US20220413832A1 (en) Onboard Update Apparatus and Update Processing Program
EP3961379B1 (en) Software update device, software update method, non-transitory storage medium, and vehicle
US11853742B2 (en) Server, software update system, distribution method, and non-transitory storage medium
JP2022103451A (en) Apparatus for confirming compatibility of software and vehicle equipped therewith, method and program for confirming compatibility of software
CN111722856B (en) Method and device for upgrading firmware in vehicle-mounted microcontroller
US20220014604A1 (en) Software update device, software update method, and center
US20230406236A1 (en) Vehicle device
JP2022109037A (en) Center, management method, and management program

Legal Events

Date Code Title Description
A201 Request for examination