KR101601751B1 - 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 - Google Patents

차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 Download PDF

Info

Publication number
KR101601751B1
KR101601751B1 KR1020140173823A KR20140173823A KR101601751B1 KR 101601751 B1 KR101601751 B1 KR 101601751B1 KR 1020140173823 A KR1020140173823 A KR 1020140173823A KR 20140173823 A KR20140173823 A KR 20140173823A KR 101601751 B1 KR101601751 B1 KR 101601751B1
Authority
KR
South Korea
Prior art keywords
data
reprogramming
microcomputer
boot block
boot
Prior art date
Application number
KR1020140173823A
Other languages
English (en)
Inventor
나정훈
Original Assignee
현대오트론 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대오트론 주식회사 filed Critical 현대오트론 주식회사
Priority to KR1020140173823A priority Critical patent/KR101601751B1/ko
Application granted granted Critical
Publication of KR101601751B1 publication Critical patent/KR101601751B1/ko

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
    • 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/03Electric 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 supply of electrical power to vehicle subsystems or for
    • B60R16/0315Electric 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 supply of electrical power to vehicle subsystems or for using multiplexing techniques
    • 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/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법에 관한 것으로, 전자제어유닛의 소프트웨어를 저장하기 위한 비휘발성 메모리 및 부트 소프트웨어의 리프로그래밍이 요청되면 상기 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하고, 이후 상기 부트블록에 저장된 데이터를 삭제하며, 리프로그래밍을 수행하고, 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하여 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하면 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 마이컴을 포함하는 것을 특징으로 한다.

Description

차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법{ECU OF VEHICLE AND BOOT SOFTWARE RE-PROGRAMMING METHOD THEREOF}
본 발명은 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법에 관한 것으로, 보다 상세하게는 부트 소프트웨어 리프로그래밍의 실패 시 부트 소프트웨어를 자동으로 복구하는 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법에 관한 것이다.
차량에는 주행 상태에 따른 엔진 제어나 기타 장치의 동작을 제어하기 위하여 엔진 제어기를 포함한 다수의 전자제어유닛(ECU, Electric Control Unit)들이 구비되어 있다. 이러한 전자제어유닛의 동작은 전자제어유닛에 내장된 롬(ROM)에 저장되어 있는 데이터를 사용하여 이루어지는 것이 일반적이다.
이와 관련하여, 대부분의 전자제어장치의 리프로그래밍(Re-Programming) 방식은 마이크로프로세서(Micro Processor)에서 지원하는 프로그램 모드를 사용하거나 전자제어장치에 기 탑재된 리프로그램 기능(Reprogram function)을 외부 장비와 커뮤니케이션 라인을 통해 연동함으로써, 기존 데이터를 지우고 새로운 데이터를 다시 넣도록 하는 방식을 사용하고 있다.
한편 소프트웨어에 있어서 부트로더(boot loader)는 운영체제가 시동되기 전에 미리 실행되면서 시스템의 하드웨어를 초기화하고 운영체제의 커널을 메모리에 올려 실행시키는 시스템 프로그램을 의미하며, 차량에 구비된 각종 전자제어유닛에도 이러한 부트로더가 탑재되는 것이 일반적이다.
그런데 전자제어유닛에 있어서 부트 소프트웨어는 리프로그래밍의 대상에 포함되지 않는 것이 일반적이다. 이는 리프로그래밍이 완료되기 전에 전원의 공급이 중단되는 등 리프로그래밍이 실패하는 경우에는 전자제어유닛의 스타트 업이 불가능하게 되어 소프트웨어적인 방법으로 전자제어유닛을 복구할 수 없어지기 때문이다.
즉 종래에는 전자제어유닛의 부트 소프트웨어 리프로그래밍이 실패하는 경우에 전자제어유닛에 물리적으로 접근하여 케이스를 열고, 디버그 장치를 사용하여 전자제어유닛을 복구하여야 했다는 불편함이 존재하였다.
한편 본 발명의 배경기술은 대한민국 공개특허 10-2001-0027466호(2001.04.06.)에 개시되어 있다.
본 발명은 전자제어유닛의 부트 소프트웨어 리프로그래밍의 실패 시 부트 소프트웨어를 자동으로 복구할 수 있는 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법을 제공하는데 그 목적이 있다.
본 발명에 따른 차량용 전자제어유닛은 전자제어유닛의 소프트웨어를 저장하기 위한 비휘발성 메모리; 및 부트 소프트웨어의 리프로그래밍이 요청되면 상기 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하고, 이후 상기 부트블록에 저장된 데이터를 삭제하며, 리프로그래밍을 수행하고, 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하여 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하면 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 마이컴을 포함하는 것을 특징으로 한다.
본 발명에서 상기 마이컴은 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않거나 상기 부트블록이 복구된 경우에 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛은 리프로그래밍에 대한 데이터를 임시로 저장하기 위한 램(RAM)을 더 포함하되, 상기 마이컴은, 상기 리프로그래밍을 수행하기 전에 상기 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 상기 램으로 복사하고, 상기 리프로그래밍 수행 시 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 한다.
본 발명에서 상기 리프로그래밍 된 데이터의 정합성 확인 시, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 한다.
본 발명에서 상기 마이컴은, 상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하기 전에, 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하고, 상기 비휘발성 메모리에 여분의 영역이 남아있지 않으면 리프로그래밍 과정을 어보트(abort)시키는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법은 부트 소프트웨어의 리프로그래밍이 요청되면, 마이컴이 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계; 상기 마이컴이 상기 부트블록에 저장된 데이터를 삭제하는 단계; 상기 마이컴이 리프로그래밍을 수행하는 단계; 상기 마이컴이 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하는 단계; 및 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법은 상기 부트블록을 복구하는 단계 이후 또는 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법은 상기 리프로그래밍을 수행하는 단계 전에, 상기 마이컴이 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 램(RAM)으로 복사하는 단계를 더 포함하되, 상기 리프로그래밍을 수행하는 단계에서 상기 마이컴은 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 한다.
본 발명의 상기 리프로그래밍 된 데이터의 정합성을 확인하는 단계에서, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법은 상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계 전에, 상기 마이컴이 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하는 단계; 및 상기 비휘발성 메모리에 여분의 영역이 남아있지 않는 경우, 상기 마이컴이 리프로그래밍 과정을 어보트(abort)시키는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법은 리프로그래밍 수행 전에 부트블록에 저장된 데이터를 비휘발성 메모리의 여분의 영역에 복사하고, 리프로그래밍 수행 후에 리프로그래밍 된 데이터의 정합성을 확인하여 정합성에 오류가 존재하면 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 부트블록을 복구함으로써 부트 소프트웨어의 리프로그래밍 실패 시에 전자제어유닛의 스타트 업이 불가능해지는 경우를 방지하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 차량용 전자제어유닛의 구성을 나타낸 블록구성도이다.
도 2는 본 발명의 일 실시예에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법의 일 실시예를 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 차량용 전자제어유닛의 구성을 나타낸 블록구성도로서, 이를 참조하여 본 실시예에 따른 차량용 전자제어유닛을 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 차랑용 전자에어유닛은 마이컴(100), 비휘발성 메모리(110) 및 램(120)을 포함한다.
비휘발성 메모리(110)는 전자제어유닛의 소프트웨어를 저장하고 있다. 즉 비휘발성 메모리(110)로는 롬(ROM, read-only memory)의 형태를 갖는 메모리들이 채용될 수 있으며, 리프로그래밍과 같이 데이터를 수정하는 기능을 수행하기 위해 EEPROM(electrically erasable programmable read-only memory) 등 기록된 데이터를 지우고 쓰는 것이 가능한 메모리가 사용될 수 있다.
또한 비휘발성 메모리(110)에는 부트블록(111)이 구비되어 있다. 즉 비휘발성 메모리(110)에는 전자제어유닛의 부트 소프트웨어를 저장할 영역이 구분되어 미리 할당돼있다. 예를 들어 비휘발성 메모리(110)의 물리적 주소 0번지부터 시작하여 부트 소프트웨어를 저장하기에 충분한 번지(예 : 4094번지)까지의 영역이 부트블록(111)으로 설정될 수 있다. 즉 부트블록(111)은 전자제어유닛의 스타트에 사용되므로 다른 소프트웨어와 달리 그 저장위치를 고정시켜, 전자제어유닛의 스타트 시 부팅작업이 바로 시작될 수 있도록 한다.
램(RAM, random access memory, 120)은 리프로그래밍에 대한 데이터를 임시로 저장할 수 있다. 즉 램(120)은 전자제어장치의 동작을 위한 데이터들을 임시로 저장하는 역할을 수행한다.
마이컴(100)은 부트 소프트웨어의 리프로그래밍이 요청되면 비휘발성 메모리(110)에 포함된 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)의 여분의 영역에 복사할 수 있다. 즉 마이컴(100)은 부트 소프트웨어의 리프로그래밍 수행 전에 부트블록(111)에 기 저장된 데이터를 비휘발성 메모리(110)에 복사하여 리프로그래밍이 실패하는 경우를 대비한다.
한편 마이컴(100)은 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)의 여분의 영역에 복사하기 전에 부트블록(111)에 저장된 데이터를 복사할 여분의 영역이 비휘발성 메모리(110)에 남아있는지 계산하고, 비휘발성 메모리(110)에 여분의 영역이 남아있지 않으면 리프로그래밍 과정을 어보트(abort)시킬 수 있다. 즉 마이컴(100)은 비휘발성 메모리(110)에 여분의 영역이 남아있지 않아 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)에 복사할 수 없는 경우에 리프로그래밍을 수행하지 않고 중단시켜, 부트블록(111)에 저장된 데이터의 보존 없이 리프로그래밍이 수행되어 전자제어장치의 작동불능이 발생할 수 있는 경우를 원천적으로 차단할 수 있다.
마이컴(100)은 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)의 여분의 영역에 복사한 후에 부트블록(111)에 저장된 데이터를 삭제하여 리프로그래밍의 수행을 대비할 수 있다. 즉 리프로그램이 일단 수행되면 부트블록(111)의 데이터는 삭제되어 있으므로, 리프로그래밍을 수행하기 전에 부트블록(111)에 저장된 데이터를 보존하지 않는다면 전자제어장치의 작동불능이 발생할 수 있다.
또한 마이컴(100)은 리프로그래밍에 대한 데이터를 비휘발성 메모리(110)에서 램(120)으로 복사하고, 상기 복사된 데이터를 이용하여 리프로그래밍 수행할 수 있다.
이렇게 리프로그래밍을 수행한 이후, 마이컴(100)은 부트블록(111)에 리프로그래밍 된 데이터의 정합성을 확인할 수 있다. 예를 들어 마이컴(100)은 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 리프로그래밍 된 데이터의 정합성을 확인할 수 있다.
즉 마이컴(100)은 CRC 체크를 수행하여 리프로그래밍 된 데이터의 정합성을 확인할 수 있다. 또한 CRC 값이 우연히 일치되는 경우가 발생할 수도 있으므로 마이컴(100)은 리프로그래밍 된 데이터의 아이디나 앤드마크를 체크하여 리프로그래밍 된 데이터의 정합성을 확인할 수도 있다.
또한 마이컴(100)은 리프로그래밍 된 데이터의 정합성에 오류가 존재하면 비휘발성 메모리(110)의 여분의 영역에 복사된 데이터를 사용하여 부트블록(111)을 복구할 수 있다. 즉 마이컴(100)은 리프로그래밍에 오류가 발생한 경우에 메모리(110)의 여분의 영역에 복사된 데이터를 사용하여 부트블록(111)을 복구함으로써 전자제어장치의 작동불능을 방지할 수 있다.
한편 마이컴(100)은 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않거나 부트블록(111)이 복구된 경우에 비휘발성 메모리(110)의 여분의 영역에 복사된 데이터를 삭제할 수 있다. 즉 마이컴(100)은 리프로그래밍이 정상적으로 수행되거나 부트블록(111)이 복구된 경우에 복사된 데이터를 삭제하여 백업으로 인한 불필요한 메모리 낭비를 방지할 수 있다.
도 2는 본 발명의 일 실시예에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 실시예에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법을 설명하면 다음과 같다.
도 2에 도시된 바와 같이, 리프로그래밍 요청이 있으면(S200), 마이컴(100)은 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)의 여분의 영역에 복사한다(S210). 즉 마이컴(100)은 부트 소프트웨어의 리프로그래밍 수행 전에 부트블록(111)에 기 저장된 데이터를 비휘발성 메모리(110)에 복사하여 리프로그래밍이 실패하는 경우를 대비한다.
한편 마이컴(100)은 부트블록(111)에 저장된 데이터를 비휘발성 메모리(110)의 여분의 영역에 복사하기 전에 부트블록(111)에 저장된 데이터를 복사할 여분의 영역이 비휘발성 메모리(110)에 남아있는지 계산하고, 비휘발성 메모리(110)에 여분의 영역이 남아있지 않으면 리프로그래밍 과정을 어보트(abort)시킬 수 있다.
이어서 마이컴(100)은 부트블록(111)에 저장된 데이터를 삭제한다(S220). 즉 마이컴(100)은 부트블록(111)에 저장된 데이터가 백업되면 부트블록(111)에 기 저장되어 있는 데이터를 삭제하여 리프로그래밍의 수행을 대비할 수 있다.
상기 단계(S220) 이후, 마이컴(100)은 리프로그래밍을 수행한다(S230).
이어서 마이컴(100)은 부트블록(111)에 리프로그래밍 된 데이터의 정합성에 오류가 존재하는지 확인한다(S240). 예를 들어 마이컴(100)은 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 리프로그래밍 된 데이터의 정합성을 확인할 수 있다. 즉 마이컴(100)은 CRC 체크를 수행하여 리프로그래밍 된 데이터의 정합성을 확인할 수 있다. 또한 CRC 값이 우연히 일치되는 경우가 발생할 수도 있으므로 마이컴(100)은 리프로그래밍 된 데이터의 아이디나 앤드마크를 체크하여 리프로그래밍 된 데이터의 정합성을 확인할 수도 있다.
상기 단계(S240)의 확인결과, 부트블록(111)에 리프로그래밍 된 데이터의 정합성에 오류가 존재하였다면, 마이컴(100)은 상기 단계(S210)에서 복사된 데이터를 사용하여 부트블록(110)을 복구한다(S250). 즉 마이컴(100)은 리프로그래밍에 오류가 발생한 경우에 메모리(110)의 여분의 영역에 복사된 데이터를 사용하여 부트블록(111)을 복구함으로써 전자제어장치의 작동불능을 방지할 수 있다.
이어서 마이컴(100)은 상기 단계(S210)에서 복사된 데이터를 삭제한다(S260). 즉 마이컴(100)은 부트블록(111)이 복구된 경우에 복사된 데이터를 삭제하여 백업으로 인한 불필요한 메모리 낭비를 방지할 수 있다.
또한 상기 단계(S240)의 확인결과, 부트블록(111)에 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않았다면, 마이컴(100)은 상기 단계(S260)으로 진행하여 상기 단계(S210)에서 복사된 데이터를 삭제한다. 즉 마이컴(100)은 리프로그래밍이 정상적으로 수행된 경우에 복사된 데이터를 삭제하여 백업으로 인한 불필요한 메모리 낭비를 방지할 수 있다.
이와 같이 본 발명의 실시예에 따른 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법은 리프로그래밍 수행 전에 부트블록에 저장된 데이터를 비휘발성 메모리의 여분의 영역에 복사하고, 리프로그래밍 수행 후에 리프로그래밍 된 데이터의 정합성을 확인하여 정합성에 오류가 존재하면 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 부트블록을 복구함으로써 부트 소프트웨어의 리프로그래밍 실패 시에 전자제어유닛의 스타트 업이 불가능해지는 것을 방지한다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
100: 마이컴
110: 비휘발성 메모리
111: 부트블록
120: 램

Claims (10)

  1. 전자제어유닛의 소프트웨어를 저장하기 위한 비휘발성 메모리; 및
    부트 소프트웨어의 리프로그래밍이 요청되면 상기 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하고, 이후 상기 부트블록에 저장된 데이터를 삭제하며, 리프로그래밍을 수행하고, 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하여 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하면 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 마이컴을 포함하는 차량용 전자제어유닛.
  2. 제 1항에 있어서,
    상기 마이컴은 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않거나 상기 부트블록이 복구된 경우에 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 것을 특징으로 하는 차량용 전자제어유닛.
  3. 제 1항에 있어서,
    리프로그래밍에 대한 데이터를 임시로 저장하기 위한 램(RAM)을 더 포함하되,
    상기 마이컴은, 상기 리프로그래밍을 수행하기 전에 상기 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 상기 램으로 복사하고, 상기 리프로그래밍 수행 시 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 하는 차량용 전자제어유닛.
  4. 제 1항에 있어서,
    상기 리프로그래밍 된 데이터의 정합성 확인 시, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 하는 차량용 전자제어유닛.
  5. 제 1항에 있어서,
    상기 마이컴은, 상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하기 전에, 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하고, 상기 비휘발성 메모리에 여분의 영역이 남아있지 않으면 리프로그래밍 과정을 어보트(abort)시키는 것을 특징으로 하는 차량용 전자제어유닛.
  6. 부트 소프트웨어의 리프로그래밍이 요청되면, 마이컴이 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계;
    상기 마이컴이 상기 부트블록에 저장된 데이터를 삭제하는 단계;
    상기 마이컴이 리프로그래밍을 수행하는 단계;
    상기 마이컴이 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하는 단계; 및
    상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 단계를 포함하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
  7. 제 6항에 있어서,
    상기 부트블록을 복구하는 단계 이후 또는 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
  8. 제 6항에 있어서,
    상기 리프로그래밍을 수행하는 단계 전에, 상기 마이컴이 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 램(RAM)으로 복사하는 단계를 더 포함하되,
    상기 리프로그래밍을 수행하는 단계에서 상기 마이컴은 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
  9. 제 6항에 있어서,
    상기 리프로그래밍 된 데이터의 정합성을 확인하는 단계에서, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
  10. 제 6항에 있어서,
    상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계 전에,
    상기 마이컴이 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하는 단계; 및
    상기 비휘발성 메모리에 여분의 영역이 남아있지 않는 경우, 상기 마이컴이 리프로그래밍 과정을 어보트(abort)시키는 단계를 더 포함하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
KR1020140173823A 2014-12-05 2014-12-05 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 KR101601751B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140173823A KR101601751B1 (ko) 2014-12-05 2014-12-05 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140173823A KR101601751B1 (ko) 2014-12-05 2014-12-05 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법

Publications (1)

Publication Number Publication Date
KR101601751B1 true KR101601751B1 (ko) 2016-03-10

Family

ID=55539219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140173823A KR101601751B1 (ko) 2014-12-05 2014-12-05 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법

Country Status (1)

Country Link
KR (1) KR101601751B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180039387A (ko) * 2016-10-10 2018-04-18 현대오트론 주식회사 리프로그래밍 장치, 전자제어유닛 및 이를 이용한 리프로그래밍 방법
KR101977751B1 (ko) 2017-12-14 2019-05-13 현대오트론 주식회사 제어기 모듈을 포함하는 전자 제어 장치
US10546436B2 (en) 2017-06-23 2020-01-28 Hyundai Motor Company Vehicle test system having a gateway for determining whether an electronic device is testable, vehicle and vehicle test method
KR20200138481A (ko) 2019-05-29 2020-12-10 현대자동차주식회사 리프로그래밍 데이터에 대한 정합성 검증 기능이 강화된 차량용 제어장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207681A (ja) * 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末用プログラムの復旧方式
KR20070037138A (ko) * 2005-09-30 2007-04-04 주식회사 한국스마트카드 교통시스템에서 사용되는 차량 탑재 단말기 및 그 구동방법
JP2007115066A (ja) * 2005-10-21 2007-05-10 Meidensha Corp ディジタル端末のブートプログラム書き替え方法
KR20080013247A (ko) * 2006-08-08 2008-02-13 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207681A (ja) * 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末用プログラムの復旧方式
KR20070037138A (ko) * 2005-09-30 2007-04-04 주식회사 한국스마트카드 교통시스템에서 사용되는 차량 탑재 단말기 및 그 구동방법
JP2007115066A (ja) * 2005-10-21 2007-05-10 Meidensha Corp ディジタル端末のブートプログラム書き替え方法
KR20080013247A (ko) * 2006-08-08 2008-02-13 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180039387A (ko) * 2016-10-10 2018-04-18 현대오트론 주식회사 리프로그래밍 장치, 전자제어유닛 및 이를 이용한 리프로그래밍 방법
KR101917378B1 (ko) 2016-10-10 2018-11-09 현대오트론 주식회사 리프로그래밍 장치, 전자제어유닛 및 이를 이용한 리프로그래밍 방법
US10546436B2 (en) 2017-06-23 2020-01-28 Hyundai Motor Company Vehicle test system having a gateway for determining whether an electronic device is testable, vehicle and vehicle test method
KR101977751B1 (ko) 2017-12-14 2019-05-13 현대오트론 주식회사 제어기 모듈을 포함하는 전자 제어 장치
KR20200138481A (ko) 2019-05-29 2020-12-10 현대자동차주식회사 리프로그래밍 데이터에 대한 정합성 검증 기능이 강화된 차량용 제어장치

Similar Documents

Publication Publication Date Title
US9164756B2 (en) Software updating process for an embedded device
KR100584338B1 (ko) 소프트웨어 업데이트 방법 및 시스템
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
JP3838840B2 (ja) コンピュータ
KR101601751B1 (ko) 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법
JP4480815B2 (ja) メモリ書き換え方法及びコンピュータシステム
WO2021103745A1 (zh) 一种引导程序的保护设计方法
JP2008504628A (ja) 安全なフラッシング
JP3886539B2 (ja) オペレーティングシステムをロードする方法
CN105814545A (zh) 电子设备
JP2016126699A (ja) 自動車用電子制御装置
JP6575157B2 (ja) ファームウェアのダウンロード方法及びファームウェア組込機器
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
JP3805195B2 (ja) プログラム書き換え装置及びプログラム書き換え方法
JP2007316800A (ja) 車載プログラム書換え制御装置
JP6408450B2 (ja) 自動車用電子制御装置
JP2013125405A (ja) ファームウェア書換方法およびファームウェア、ならびに電子機器
JP6984203B2 (ja) 電子制御装置及び更新ソフトウェア配信システム
CN113176891B (en) Bootloader-based ECU (electronic control Unit) program programming method with backup function
KR20080042502A (ko) 차량의 전자제어장치 및 그것의 제어 프로그램 설정방법
CN113918199A (zh) 底层固件程序的更新方法、存储介质以及电子设备
WO2020043361A1 (en) Installing application program code on a vehicle control system
WO2022215402A1 (ja) 車両用電子制御装置及びプログラムの書き換え方法
JP2011150383A (ja) ファームウェア書き込み方法
JP6699591B2 (ja) エンジン制御装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 5