KR20140057739A - Electric control unit and update method thereof - Google Patents

Electric control unit and update method thereof Download PDF

Info

Publication number
KR20140057739A
KR20140057739A KR1020120123806A KR20120123806A KR20140057739A KR 20140057739 A KR20140057739 A KR 20140057739A KR 1020120123806 A KR1020120123806 A KR 1020120123806A KR 20120123806 A KR20120123806 A KR 20120123806A KR 20140057739 A KR20140057739 A KR 20140057739A
Authority
KR
South Korea
Prior art keywords
boot loader
boot
area
downloadable
loader
Prior art date
Application number
KR1020120123806A
Other languages
Korean (ko)
Other versions
KR101418451B1 (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 KR1020120123806A priority Critical patent/KR101418451B1/en
Publication of KR20140057739A publication Critical patent/KR20140057739A/en
Application granted granted Critical
Publication of KR101418451B1 publication Critical patent/KR101418451B1/en

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
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection

Abstract

Disclosed are a method for updating an electric control unit and an electric control unit to which the method can be applied. A method for updating an electric control unit includes the steps of: checking a default setting boot loader designated as a default setting value for booting the electric device; comparing a version of a downloadable boot loader with a version of the default setting boot loader to determine whether to download the downloadable boot loader; storing the downloadable boot loader in a second boot loader region differentiated from a first boot loader in which the default setting boot loader is stored, when the downloadable boot loader is determined to be downloaded; and setting the downloadable boot loader as a new default setting boot loader.

Description

전자 제어 장치 및 그 업데이트 방법{Electric Control Unit and Update Method thereof}TECHNICAL FIELD [0001] The present invention relates to an electronic control unit,

본 발명은 전자 제어 장치(Electric Control Unit, ECU)에 대한 것으로, 보다 상세하게는 전자 제어 장치의 업데이트 방법 및 업데이트시 발생할 수 있는 오류로부터 안정성을 확보할 수 있는 전자 제어 장치의 구조에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic control unit (ECU), and more particularly, to a structure of an electronic control device capable of securing stability from an error that may occur in an update method and an update of an electronic control device.

전자 제어 장치(Electric Control Unit, ECU)는 차량의 엔진, 자동변속기, ABS 등의 상태를 컴퓨터로 제어하는 전자제어 장치를 의미한다. 특히, 점화시기와 연료분사, 공회전, 한계값 설정 등 엔진의 핵심 기능을 정밀하게 제어하는 것이다. 또한, 차량과 컴퓨터 성능의 발전과 함께 자동변속기 제어를 비롯해 구동계통, 제동계통, 조향계통 등 차량의 모든 부분을 제어하는 역할까지 하고 있다.An electronic control unit (ECU) is an electronic control unit that controls the state of an engine, an automatic transmission, an ABS, and the like of a vehicle by a computer. In particular, it is to precisely control the engine core functions such as ignition timing, fuel injection, idling, and threshold setting. Along with the development of vehicle and computer performance, it also controls all parts of the vehicle including the automatic transmission control, the drive system, the braking system, and the steering system.

엔진제어를 예로 들면, 엔진의 회전수와 흡입 공기량, 흡입 압력, 액셀러레이터 개방 정도 등에 맞추어 미리 정해 놓은 점화시기 MAP(Manifold Absolute Pressure) 값과 연료분사 MAP 값 등을 조회하여 수온센서, 산소센서 등을 교정하고 인젝터의 개폐율을 조정한다. 이렇게 하여 연료의 분사량과 점화시기를 결정한다. 엔진이 망가지지 않도록 각 항목별 수치에 한계 값이 설정되어 있다.In the case of engine control, for example, a Manifold Absolute Pressure (MAP) value and a fuel injection MAP value, which are previously determined in accordance with the number of revolutions of the engine, the amount of intake air, the suction pressure and the degree of opening of the accelerator, Calibrate and adjust the opening and closing rate of the injector. In this way, the fuel injection quantity and ignition timing are determined. Limit values are set for each item so that the engine does not break.

차량에 설치된 ECU에 대해 오류의 수정, 사용자의 요구, 관련 기준의 변경 또는 개선된 기술의 적용 등 다양한 이유에 의해 업데이트가 요구될 수 있다. ECU의 업데이트와 관련하여 ECU의 프로그램을 갱신하는 역할을 수행하는 부트로더(bootloader)의 갱신이 필요할 수 있다. 그런데 부트로더를 갱신시 문제가 발생하면 차량(자동차, 기차 등)에 장착된 상태로는 더 이상 갱신할 수 없기 때문에 ECU를 분리하여 다른 방식으로 부트로더를 저장하여야 하는 어려움이 있었다.
An update may be required for ECUs installed in the vehicle for various reasons, such as error correction, user request, change of related standard, or application of improved technology. It may be necessary to update the boot loader that plays the role of updating the ECU's program with respect to the update of the ECU. However, if there is a problem in updating the boot loader, it is difficult to update the boot loader in a state where it is mounted in a vehicle (such as a car or a train).

본 발명이 해결하고자 하는 과제는 전자 제어 장치의 프로그램을 갱신하는 부트로더의 안정적인 갱신 방법을 제공하고, 안정적인 갱신 방법이 적용될 수 있도록 하는 구조를 갖는 전자 제어 장치를 제공하는 것이다.
An object of the present invention is to provide an electronic control apparatus having a structure for providing a stable updating method of a boot loader for updating a program of an electronic control apparatus and for applying a stable updating method.

본 발명의 일 양태에 따른 전자 제어 장치(electric control unit)의 업데이트 방법은 상기 전자 제어 장치의 부팅에 기본 설정값으로 지정되어 있는 기본 설정 부트로더를 확인하는 단계, 다운로드 가능한 부트로더의 버전과 상기 기본 설정 부트로더의 버전을 비교하여 상기 다운로드가능한 부트로더의 다운로드 여부를 결정하는 단계, 상기 다운로드 가능한 부트로더의 다운로드가 결정되면, 상기 기본 설정 부트로더가 저장되어 있는 제1 부트로더 영역과 구별되는 제2 부트로더 영역에 상기 다운로드 가능한 부트로더를 저장하는 단계 및 상기 다운로드 가능한 부트로더를 새로운 기본 설정 부트로더로 설정하는 단계를 포함한다.According to an aspect of the present invention, there is provided an updating method of an electronic control unit, comprising: checking a basic setting boot loader designated as a default setting value for booting the electronic control unit; Comparing the version of the basic setting boot loader to determine whether downloading of the downloadable boot loader is to be performed; determining whether downloading of the downloadable boot loader is discriminated from the first boot loader area in which the default boot loader is stored Storing the downloadable boot loader in a second boot loader area, and setting the downloadable boot loader as a new default boot loader.

상기 다운로드 가능한 부트로더를 기본 설정 부트로더로 설정하는 단계는The step of setting the downloadable boot loader to the default boot loader

부트로더를 실행하는 부트섹터에 상기 제2 부트로더 영역의 시작 번지를 저장하는 단계를 포함할 수 있다.And storing the start address of the second boot loader area in the boot sector that executes the boot loader.

상기 다운로드 가능한 부트로더를 기본 설정 부트로더로 설정하는 단계는 부트로더를 실행하는 부트섹터에 상기 다운로드 가능한 부트로더를 저장하는 단계를 포함할 수 있다.The step of setting the downloadable boot loader as the default boot loader may include storing the downloadable boot loader in a boot sector executing the boot loader.

상기 기본 설정 부트로더를 확인하는 단계는 부트섹터에 저장된 실행할 부트로더가 저장되어 있는 부트로더 영역의 시작 번지를 확인하는 단계를 포함할 수 있다.The checking of the basic setting boot loader may include checking a start address of a boot loader area in which a boot loader to be stored is stored.

상기 기본 설정 부트로더를 확인하는 단계는 부트섹터에 저장된 실행할 부트로더를 확인하는 단계를 포함할 수 있다.The checking of the basic setting boot loader may include checking a boot loader to be stored in the boot sector.

상기 제1 부트로더 영역과 상기 제2 부트로더 영역은 하나의 플래시 메모리에서 논리적으로 구별되는 영역일 수 있다.The first boot loader area and the second boot loader area may be logically distinguished areas in one flash memory.

본 발명의 다른 양태 따른 차량용 전자 제어 장치는 복수의 부트로더 각각을 저장하는 복수의 부트로더 영역 및 부트섹터 영역을 포함하는 플래시 메모리 및 상기 플래시 메모리와 기능적으로 연결된 프로세서를 포함하되, 상기 프로세서는 상기 전자 제어 장치의 부팅에 기본 설정값으로 지정되어 있는 기본 설정 부트로더를 확인하고, 다운로드 가능한 부트로더의 버전과 상기 기본 설정 부트로더의 버전을 비교하여 상기 다운로드 가능한 부트로더의 다운로드가 결정되면, 상기 기본 설정 부트로더가 저장되어 있는 제1 부트로더 영역과 구별되는 제2 부트로더 영역에 상기 다운로드 가능한 부트로더를 저장하고, 상기 다운로드 가능한 부트로더를 새로운 기본 설정 부트로더로 설정하도록 설정된다.
A vehicle electronic control apparatus according to another aspect of the present invention includes a flash memory including a plurality of boot loader areas and a boot sector area for storing a plurality of boot loaders and a processor functionally connected to the flash memory, When the download of the downloadable boot loader is determined by comparing the version of the downloadable boot loader with the version of the basic set boot loader by checking the basic setting boot loader designated as the default setting value for booting the electronic control device, The downloadable boot loader is stored in the second boot loader area which is distinguished from the first boot loader area in which the basic setting boot loader is stored and is set to set the downloadable boot loader as a new default boot loader.

본 발명은 전자제어장치(ECU)의 부트로더 업데이트 과정에서 발생할 수 있는 오류로부터 안전한 갱신 방법 및 상기 갱신 방법이 적용될 수 있는 플래시 메모리를 포함하는 전자제어 장치를 제공한다.The present invention provides an electronic control device including a flash memory that can be applied to an update method that is safe from an error that may occur in a boot loader update process of an electronic control unit (ECU) and the update method.

복수의 부트로더 영역을 통해 부트로더의 갱신시 적어도 하나 이상의 완전한 부트로더를 저장하고 있는 부트로더 영역을 포함할 수 있도록 하여 부팅이 가능하도록 할 수 있다.It is possible to make booting possible by including a boot loader area storing at least one complete boot loader when updating the boot loader through a plurality of boot loader areas.

도 1은 본 발명의 실시예에 따른 ECU의 플래시 메모리 영역을 간략히 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 부트로더 코드 갱신 방법의 일례를 나타내 것이다.
도 3은 본 발명의 다른 실시예에 따른 부트로더 갱신 방법을 나타낸 흐름도이다.
1 is a block diagram briefly showing a flash memory area of an ECU according to an embodiment of the present invention.
2 shows an example of a boot loader code update method according to an embodiment of the present invention.
3 is a flowchart illustrating a boot loader update method according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

본 발명은 ECU의 부트로더를 새 버전으로 갱신하는 방법과 갱신 방법에 적용될 수 있는 ECU에 대한 것이다. 이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.The present invention relates to an ECU that can be applied to a method for updating a boot loader of a ECU to a new version and an update method. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate a thorough understanding of the present invention, the same reference numerals are used for the same means regardless of the number of the drawings.

도 1은 본 발명의 실시예에 따른 ECU의 플래시 메모리 영역을 간략히 나타낸 블록도이다. 본 발명의 실시예에 따른 ECU는 부트로더 영역을 갖는 플래시 메모리를 포함한다. 부트로더 영역은 부트섹터 영역과 복수의 부트로더 영역을 포함할 수 있다. 이하에서 설명의 편의를 위해서 제1 부트로더 영역 및 제2 부트로더 영역, 2개의 부트로더 영역을 갖는 경우를 예로 하여 설명하나 이는 예시에 불과하며 실시예에 따라서 3개 또는 그 이상의 부트로더 영역을 포함할 수 있다.1 is a block diagram briefly showing a flash memory area of an ECU according to an embodiment of the present invention. An ECU according to an embodiment of the present invention includes a flash memory having a boot loader area. The boot loader area may include a boot sector area and a plurality of boot loader areas. Hereinafter, for convenience of explanation, the first boot loader area, the second boot loader area, and the two boot loader areas are described as an example, but this is merely an example, and three or more boot loader areas .

부트섹터(boot sector)는 ECU가 실행될 때 가장 먼저 수행하는 코드 영역이며, 부트로더는 ECU가 소프트웨어를 갱신하기 위해 필요한 코드 영역이라 할 수 있다. 이하에서 기술될 ECU의 제어부(e.g 프로세서)에 의해 실행될 수 있다.The boot sector is the first area of code to be executed when the ECU is executed, and the boot loader is the code area necessary for the ECU to update the software. (Processor) of the ECU which will be described below.

도 1을 참조하면, ECU의 플래시 메모리는 부트섹터(110), 제1 부트로더 영역(120), 제2 부트로더 영역(130)을 포함한다.Referring to FIG. 1, the flash memory of the ECU includes a boot sector 110, a first boot loader area 120, and a second boot loader area 130.

플래시 메모리의 각 영역은 물리적으로 구별된 영역이거나 논리적으로 구별되는 영역일 수 있다.Each area of the flash memory may be a physically distinct area or a logically distinct area.

부트로더가 부팅하는 방법은 부트섹터에 제1 부트로더 또는 제2 부트로더의 시작번지를 저장하고 있어 저장된 부터로더의 시작번지로 이동하여 부트로더를 실행하는 방식이 이용될 수 있다. 다른 방식으로 기본 값으로 설정된 부트로더를 해당 부트로더가 저장되어 있는 부트로더 영역으로부터 부트섹터로 복제하여 ECU 기동시 부트섹터에 복제된 기본 값으로 설정된 부트로더를 실행하는 방식이 이용될 수 있다. 이하의 실시예에서 ECU의 부트로더 실행방식은 상술한 어느 방법도 사용될 수 있다.The boot loader boots up in the boot sector, storing the start address of the first boot loader or the second boot loader, and moves from the stored address to the start address of the loader to execute the boot loader. A method of copying the boot loader set to the default value in a different manner from the boot loader area in which the boot loader is stored to the boot sector and executing the boot loader set to the default value copied to the boot sector at the time of ECU startup can be used. In the following embodiments, the boot loader execution method of the ECU can be any of the methods described above.

부트섹터가 실행할 부트로더의 시작번지를 저장하고, 저장된 시작번지를 참조하는 실시예에서 실행되는 부트로더는 부트섹터에 저장되어 있는 시작번지에 따라 결정될 수 있다. 즉, ECU가 동작을 개시할 때, 부트섹터가 부트로더1의 시작번지를 가지고 있다면 부트로더1이 실행되고, 부트섹터가 부트로더2의 시작번지를 가지고 있는 경우 부트로더2가 실행될 수 있다. 다시 말해서 부트섹터가 복수의 부트로더 중 어느 부트로더의 시작번지를 가지고 있는지에 따라 ECU가 동작을 시작할 때 실행되는 부트로더가 선택될 수 있다.The boot loader to be executed by the boot sector may be determined according to the start address stored in the boot sector. That is, when the ECU starts the operation, the boot loader 1 is executed if the boot sector has the start address of the boot loader 1. If the boot sector has the start address of the boot loader 2, the boot loader 2 can be executed. In other words, the boot loader to be executed when the ECU starts to operate can be selected according to which boot loader the boot sector has at the start address of the boot loader.

복수의 부트로더 영역 각각에는 다양한 버전의 부트로더가 저장되어 있으며, ECU가 동작을 개시할 때, 부트섹터에 저장되어 있는 시작번지에 의해 해당 부트로더 영역에 저장되어 있는 특정 버전의 부트로더가 실행될 수 있다.Various versions of the boot loader are stored in each of the plurality of boot loader areas. When the ECU starts the operation, the specific version of the boot loader stored in the boot loader area is executed by the start address stored in the boot sector .

도 2는 본 발명의 실시예에 따른 부트로더 코드 갱신 방법의 일례를 나타내 것이다.2 shows an example of a boot loader code update method according to an embodiment of the present invention.

부트로더 코드 갱신방법은 다음과 같은 단계를 거쳐 실행될 수 있다. 부트섹터에서 저장된 제1 부트로더를 실행한다(S210). 부트로더 코드의 갱신 여부 판단을 위해 부트로더가 새로운 버전인지 확인(S220)하고, 새로운 버전인 경우 제2 부트로더 영역에 새 버전의 부트로더를 다운로드 한다(S230). 부트섹터에 새로운 버전의 부트로더를 지정한다(S240). 즉, 새로운 버전의 부트로더가 저장되어 있는 제2 부트로더 영역의 시작 주소를 부트섹터에 저장한다.The boot loader code update method can be executed through the following steps. The first boot loader stored in the boot sector is executed (S210). In order to determine whether the boot loader code is updated, it is determined whether the boot loader is a new version (S220). If it is a new version, a new version of the boot loader is downloaded to the second boot loader area (S230). A new version of the boot loader is designated to the boot sector (S240). That is, the start address of the second boot loader area in which a new version of the boot loader is stored is stored in the boot sector.

도 2의 예는 부트섹터에 제1 부트로더가 기본 설정되어 있는 상황에서 새로운 버전의 제2 부트로더를 다운로드하여 저장하고 새로운 버전의 제2 부트로더를 기본 설정으로 갱신하는 과정을 도시한 것이다. 이러한 절차에 따라 새로운 버전의 제2 부트로더로 갱신이 이루어지는 경우, 갱신과정에서 예상하지 못한 문제가 발생하는 경우라 하여도, 제1 부트로더 영역에 저장되어 있는 구 버전의 제1 부트로더를 통해 ECU 의 동작이 가능하고, 문제점을 찾아 개선하거나, 새로이 갱신 절차를 시도할 수 있다.2 illustrates a process of downloading and storing a new version of the second boot loader and updating a new version of the second boot loader to a default setting in a situation where the first boot loader is set as a default in the boot sector. If an update is made to a new version of the second boot loader according to this procedure, even if an unexpected problem occurs in the update process, the old boot loader stored in the first boot loader area The operation of the ECU is enabled, problems can be found and improved, or a new update procedure can be attempted.

도 3은 본 발명의 다른 실시예에 따른 부트로더 갱신 방법을 나타낸 흐름도이다.3 is a flowchart illustrating a boot loader update method according to another embodiment of the present invention.

부트로더 갱신 절차에 있어, ECU는 현재 기본 설정 부트로더를 확인한다(S310). 기본 설정 부트로더를 확인하는 절차는 ECU 구동시에 부트섹터에 저장되어 있는 부트로더의 시작번지를 참조하는 과정을 포함할 수 있다.In the boot loader update procedure, the ECU confirms the current default boot loader (S310). The procedure for checking the default boot loader may include referring to the start address of the boot loader stored in the boot sector at the time of ECU operation.

기본 설정되어 있는 부트로더의 확인되면 다운로드할 부트로더의 버전을 비교하여(S320), 새로운 버전이 아닌 경우 갱신 절차를 종료하고 새로운 버전인 경우 예비 부트로더를 갱신한다(S330). 예비 부트로더는 기본 설정된 부트로더 이외의 부트로더를 의미한다. 달리 말해서, 기본 설정된 부트로더가 저장되어 있는 부트로드 영역 이외의 부트로더 영역에 저장되어 있거나/저장될 수 있는 부트로더를 의미한다. 예비 부트로더를 갱신하는 절차는 새로운 버전의 부트로더를 기본 설정 부트로더가 저장되어 있는 부트로더 영역 이외의 영역에 저장하는 단계를 포함할 수 있다.If the default boot loader is confirmed, the version of the boot loader to be downloaded is compared (S320). If the boot loader is not the new version, the update procedure is terminated. A spare boot loader refers to a boot loader other than the default boot loader. In other words, it means a boot loader that can be stored / stored in a boot loader area other than the boot load area where the default boot loader is stored. The procedure for updating the spare boot loader may include storing the new version of the boot loader in an area other than the boot loader area where the default setting boot loader is stored.

일례로, 제1 부트로더 영역과 제2 부트로더 영역을 포함하는 ECU 플래시 메모리 영역에서 현재 제2 부트로더 영역에 저장되어 있는 제2 부트로더가 기본 설정된 부트로더인 상황을 가정하여 설명한다. ECU가 현재 기본 설정된 부트로더를 확인하는 단계에서 부트섹터에 저장되어 있는 시작 주소로부터 제2 부트로더 영역에 저장되어 있는 부트로더가 기본값으로 설정된 부트로더임을 인식한다. 이후 제2 부트로더 영역의 부트로더의 버전과 다운로드 가능한 부트로더의 버전을 비교하여 다운로드 가능한 부트로더의 버전이 새 버전일 경우, 현재 기본값으로 설정된 부트로더가 저장되어 있는 영역이 아닌 부트로더 영역, 앞선 예에서 제1 부트로더 영역에 새로운 버전의 부트로더를 저장한다. 이후 제1 부트로더에 저장한 새로운 버전의 부트로더를 기본값으로 설정하는 절차를 진행한다.For example, it is assumed that the second boot loader stored in the second boot loader area in the ECU flash memory area including the first boot loader area and the second boot loader area is the default boot loader. The ECU recognizes that the boot loader stored in the second boot loader area from the start address stored in the boot sector in the step of checking the currently set boot loader is the boot loader set as the default. Then, if the version of the boot loader in the second boot loader area is compared with the downloadable boot loader version, and the version of the downloadable boot loader is the new version, the boot loader area, In the previous example, a new version of the boot loader is stored in the first boot loader area. Then proceed to the process of setting the new version of the boot loader stored in the first boot loader to the default value.

새로운 버전의 부트로더를 기본값으로 설정하는 절차는 실시예에 따라서 부트섹터에 새로운 버전의 부트로더가 저장된 부트로더 영역의 시작 번지를 저장하거나, 새로운 버전의 부트로더가 저장된 부트로더 영역으로부터 새로운 버전의 부트로더를 부트섹터에 복제하는 과정을 포함할 수 있다.The procedure for setting the new version of the boot loader as the default is to store the start address of the boot loader area in which a new version of the boot loader is stored in the boot sector according to the embodiment, And copying the boot loader to the boot sector.

갱신 과정 또는 갱신 절차 이후 오류가 검출되거나, 미상의 오류에 의해 갱신 절차가 중단되거나 갱신 이후 갱신된 부트로더에 의한 부팅이 정상적으로 이루어지지 아니할 수 있다.An error may be detected after an update procedure or an update procedure, or an update procedure may be interrupted due to an unknown error, or booting by an updated boot loader after the update may not be normally performed.

본 발명의 실시예에 의하면, 갱신 절차가 중단되거나 갱신 절차가 종료된 이후 ECU의 부팅 과정에서 기본 값으로 설정된 부트로더에 의한 부팅이 정상적으로 이루어지지 아니하는 경우, 갱신 이전에 기본 값으로 설정되어 있는 부트로더를 이용하여 부팅이 이루어 질 수 있다. According to the embodiment of the present invention, when booting by the boot loader set as the default value in the boot process of the ECU is not normally performed after the update procedure is stopped or the update procedure is terminated, Boot can be done using the boot loader.

일례로 제2 부트로더 영역에 버전 N의 부트로더가 저장되어 있고 버전 N의 부트로더가 기본값으로 설정되어 있는 경우를 가정하여 설명한다. 버전 N+1의 부트로더로 갱신하고자 할 때 버전 N+1의 부트로더는 제1 부트로더 영역에 저장될 수 있다. 버전 N+1의 부트로더로 갱신하는 절차에서 오류가 발생하거나, 버전 N+1의 부트로더로 갱신 절차를 완료하였으나 이후 오류에 의하여 버전 N+1의 부트로더에 의한 부팅이 이루어질 수 없는 경우, 부트섹터는 제2 부트로더 영역에 저장되어 있는 버전 N의 부트로더를 이용하여 부팅할 수 있다. 부트섹터가 기본값으로 설정되어 있는 부트로더를 이용하여 부팅을 시도하였을 때, 실패하게 되는 경우 부트섹터는 예비 부트로더 영역, 즉 본 예에서 제2 부트로더 영역에 저장되어 있는 버전 N의 부트로더를 이용하여 부팅을 수행한다.For example, it is assumed that the version N of the boot loader is stored in the second boot loader area and the version N of the boot loader is set as the default value. The version N + 1 boot loader can be stored in the first boot loader area when it is desired to update to the version N + 1 boot loader. If an error occurs in the procedure for updating to the boot loader of version N + 1, or if the boot process by the boot loader of the version N + 1 can not be performed after completing the update procedure by the boot loader of the version N + 1, The boot sector can be booted using the version N boot loader stored in the second boot loader area. In the case where the boot sector is attempted to be booted using the boot loader having the default boot sector, if the boot sector fails, the boot sector stores the boot loader of the version N stored in the spare boot loader area, i.e., the second boot loader area in this example To perform booting.

본 발명의 실시예에 따르면 전자제어장치(ECU)의 부트로더 업데이트 과정에서 발생할 수 있는 오류로부터 안전한 갱신 방법을 제공한다. 즉, 복수의 부트로더 영역을 통해 부트로더의 갱신시 적어도 하나 이상의 완전한 부트로더를 저장하고 있는 부트로더 영역을 포함할 수 있도록 하여 부팅이 가능하도록 할 수 있다.According to the embodiment of the present invention, a method of safely updating from an error that may occur in the boot loader updating process of the electronic control unit (ECU) is provided. That is, the boot loader area may include a boot loader area storing at least one complete boot loader when updating the boot loader through a plurality of boot loader areas.

본 발명의 실시예에 따른 부트로더 갱신 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다. The boot loader update method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through a variety of means for processing information electronically and recorded in a storage medium. The storage medium may include program instructions, data files, data structures, and the like, alone or in combination.

저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. Program instructions to be recorded on the storage medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software. Examples of storage media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, magneto-optical media and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. The above-mentioned medium may also be a transmission medium such as a light or metal wire, wave guide, etc., including a carrier wave for transmitting a signal designating a program command, a data structure and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as devices for processing information electronically using an interpreter or the like, for example, a high-level language code that can be executed by a computer.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that the invention may be varied and varied without departing from the scope of the invention.

100 : 전자제어장치의 플래시 메모리 영역
110 : 부트섹터 영역
120 : 제1 부트로더 영역
130 : 제2 부트로더 영역
100: flash memory area of the electronic control unit
110: boot sector area
120: First boot loader area
130: Second boot loader area

Claims (10)

전자 제어 장치(electric control unit)의 업데이트 방법에 있어서,
상기 전자 제어 장치의 부팅에 기본 설정값으로 지정되어 있는 기본 설정 부트로더를 확인하는 단계;
다운로드 가능한 부트로더의 버전과 상기 기본 설정 부트로더의 버전을 비교하여 상기 다운로드가능한 부트로더의 다운로드 여부를 결정하는 단계;
상기 다운로드 가능한 부트로더의 다운로드가 결정되면, 상기 기본 설정 부트로더가 저장되어 있는 제1 부트로더 영역과 구별되는 제2 부트로더 영역에 상기 다운로드 가능한 부트로더를 저장하는 단계; 및
상기 다운로드 가능한 부트로더를 새로운 기본 설정 부트로더로 설정하는 단계;를 포함하는 방법.
A method for updating an electric control unit,
Confirming a basic setting boot loader designated as a default setting value for booting the electronic control unit;
Comparing the version of the downloadable boot loader with the version of the default boot loader to determine whether to download the downloadable boot loader;
Storing the downloadable boot loader in a second boot loader area distinguished from a first boot loader area in which the basic boot loader is stored when downloading of the downloadable boot loader is determined; And
And setting the downloadable boot loader to a new default boot loader.
제1 항에 있어서,
상기 다운로드 가능한 부트로더를 기본 설정 부트로더로 설정하는 단계;는
부트로더를 실행하는 부트섹터에 상기 제2 부트로더 영역의 시작 번지를 저장하는 단계;를 포함하는 방법.
The method according to claim 1,
Setting the downloadable boot loader as a default boot loader;
Storing a start address of the second boot loader area in a boot sector that executes the boot loader.
제1 항에 있어서,
상기 다운로드 가능한 부트로더를 기본 설정 부트로더로 설정하는 단계;는
부트로더를 실행하는 부트섹터에 상기 다운로드 가능한 부트로더를 저장하는 단계;를 포함하는 방법.
The method according to claim 1,
Setting the downloadable boot loader as a default boot loader;
Storing the downloadable boot loader in a boot sector executing the boot loader.
제1 항에 있어서,
상기 기본 설정 부트로더를 확인하는 단계는
부트섹터에 저장된 실행할 부트로더가 저장되어 있는 부트로더 영역의 시작 번지를 확인하는 단계;를 포함하는 방법.
The method according to claim 1,
The step of verifying the basic setting boot loader
And checking a start address of a boot loader area in which a boot loader to be executed stored in the boot sector is stored.
제1 항에 있어서,
상기 기본 설정 부트로더를 확인하는 단계는
부트섹터에 저장된 실행할 부트로더를 확인하는 단계;를 포함하는 방법.
The method according to claim 1,
The step of verifying the basic setting boot loader
Identifying a boot loader to be executed stored in the boot sector.
제1 항에 있어서,
상기 제1 부트로더 영역과 상기 제2 부트로더 영역은 하나의 플래시 메모리에서 논리적으로 구별되는 영역인 방법.
The method according to claim 1,
Wherein the first boot loader area and the second boot loader area are logically distinct areas in one flash memory.
차량용 전자 제어 장치에 있어서, 상기 전자 제어 장치는 복수의 부트로더 각각을 저장하는 복수의 부트로더 영역 및 부트섹터 영역을 포함하는 플래시 메모리; 및
상기 플래시 메모리와 기능적으로 연결된 프로세서;를 포함하되,
상기 프로세서는 상기 전자 제어 장치의 부팅에 기본 설정값으로 지정되어 있는 기본 설정 부트로더를 확인하고,
다운로드 가능한 부트로더의 버전과 상기 기본 설정 부트로더의 버전을 비교하여 상기 다운로드 가능한 부트로더의 다운로드가 결정되면, 상기 기본 설정 부트로더가 저장되어 있는 제1 부트로더 영역과 구별되는 제2 부트로더 영역에 상기 다운로드 가능한 부트로더를 저장하고, 상기 다운로드 가능한 부트로더를 새로운 기본 설정 부트로더로 설정하도록 설정되는 것을 특징으로 하는 전자 제어 장치.
A vehicle electronic control device, comprising: a flash memory including a plurality of boot loader areas and a boot sector area for storing a plurality of boot loaders, respectively; And
A processor operatively coupled to the flash memory,
The processor checks a basic setting boot loader designated as a default setting value for booting of the electronic control unit,
Loader area that is distinguished from the first boot loader area in which the basic setting boot loader is stored when the downloadable boot loader is downloaded by comparing the version of the downloadable boot loader with the version of the basic setting boot loader, Is configured to store the downloadable boot loader in the downloadable boot loader, and to set the downloadable boot loader as a new default boot loader.
제7 항에 있어서,
상기 제1 부트로더 영역과 상기 제2 부트로더 영역은 상기 플래시 메모리에서 논리적으로 구별되는 영역인 전자 제어 장치.
8. The method of claim 7,
Wherein the first boot loader area and the second boot loader area are logically distinct areas in the flash memory.
제7 항에 있어서,
상기 기본 설정 부트로더가 저장되어 있는 부트로더 영역의 시작번지 정보는 상기 부트섹터에 저장되는 전자 제어 장치.
8. The method of claim 7,
Wherein the start address information of the boot loader area in which the basic setting boot loader is stored is stored in the boot sector.
제7 항에 있어서,
상기 기본 설정 부트로더는 상기 부트섹터에 저장되는 전자 제어 장치.
8. The method of claim 7,
And the basic setting boot loader is stored in the boot sector.
KR1020120123806A 2012-11-02 2012-11-02 Electric Control Unit and Update Method thereof KR101418451B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120123806A KR101418451B1 (en) 2012-11-02 2012-11-02 Electric Control Unit and Update Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120123806A KR101418451B1 (en) 2012-11-02 2012-11-02 Electric Control Unit and Update Method thereof

Publications (2)

Publication Number Publication Date
KR20140057739A true KR20140057739A (en) 2014-05-14
KR101418451B1 KR101418451B1 (en) 2014-07-14

Family

ID=50888280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120123806A KR101418451B1 (en) 2012-11-02 2012-11-02 Electric Control Unit and Update Method thereof

Country Status (1)

Country Link
KR (1) KR101418451B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101671645B1 (en) * 2015-09-25 2016-11-01 주식회사 엘지씨엔에스 Electronic apparatus and operating method thereof
KR102552463B1 (en) 2018-04-20 2023-07-06 삼성전자 주식회사 Application processor, system on chip and booting method of device
KR20200089482A (en) 2019-01-17 2020-07-27 주식회사 엘지화학 Memory, error restoration method of the memory, and battery device comprising the memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778293B1 (en) * 2005-10-10 2007-11-22 삼성전자주식회사 Digital tv and upgrade method of bootloader for the same

Also Published As

Publication number Publication date
KR101418451B1 (en) 2014-07-14

Similar Documents

Publication Publication Date Title
US10162625B2 (en) Vehicle control storage methods and systems
US8082442B2 (en) Securely sharing applications installed by unprivileged users
EP2641175B1 (en) Networked recovery system
CN107809324B (en) Vehicle-mounted automatic diagnosis system equipment and upgrading method thereof
CN109062598B (en) Safe OTA (over the air) upgrading method and system
CN107783776B (en) Processing method and device of firmware upgrade package and electronic equipment
KR20140060912A (en) Method and apparatus for updating boot loader
CN111562934B (en) Software system upgrading method based on hot patch, terminal and storage medium
CN110196728B (en) Method and device for processing container of image upgrade
WO2018024198A1 (en) Application upgrade method and system for set-top box, and set-top box
KR101418451B1 (en) Electric Control Unit and Update Method thereof
KR20170067826A (en) Updating of firmware
US20150039872A1 (en) Multiple Signed Filesystem Application Packages
WO2016082450A1 (en) Method for upgrading user terminal, and user terminal
CN108536456A (en) A kind of smart machine upgrade method and system
JP2006520973A (en) System and method for determining when an EJB compiler needs to be run
US20080127161A1 (en) Environment state changes to alter functionality
CN113238790B (en) Firmware program updating method and system based on SD card and EEPROM
CN110750280A (en) Application upgrading method and system based on Android platform and storage medium
CN108573153B (en) Vehicle-mounted operating system and using method thereof
US20110185353A1 (en) Mitigating Problems Arising From Incompatible Software
CN111090443A (en) Method, equipment and storage medium for guaranteeing safe upgrade of linux system
KR101461319B1 (en) Methods and device for upgrading firmware of set-top box
CN108958819B (en) Starting method of multi-partition system and multi-partition system
US11768669B2 (en) Installing application program code on a vehicle control system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170623

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 6