KR101601751B1 - 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 - Google Patents
차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/03—Electric 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/0315—Electric 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol 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, 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는 본 발명의 일 실시예에 따른 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법을 설명하기 위한 흐름도이다.
도 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: 램
110: 비휘발성 메모리
111: 부트블록
120: 램
Claims (10)
- 전자제어유닛의 소프트웨어를 저장하기 위한 비휘발성 메모리; 및
부트 소프트웨어의 리프로그래밍이 요청되면 상기 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하고, 이후 상기 부트블록에 저장된 데이터를 삭제하며, 리프로그래밍을 수행하고, 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하여 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하면 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 마이컴을 포함하는 차량용 전자제어유닛.
- 제 1항에 있어서,
상기 마이컴은 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않거나 상기 부트블록이 복구된 경우에 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 것을 특징으로 하는 차량용 전자제어유닛.
- 제 1항에 있어서,
리프로그래밍에 대한 데이터를 임시로 저장하기 위한 램(RAM)을 더 포함하되,
상기 마이컴은, 상기 리프로그래밍을 수행하기 전에 상기 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 상기 램으로 복사하고, 상기 리프로그래밍 수행 시 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 하는 차량용 전자제어유닛.
- 제 1항에 있어서,
상기 리프로그래밍 된 데이터의 정합성 확인 시, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 하는 차량용 전자제어유닛.
- 제 1항에 있어서,
상기 마이컴은, 상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하기 전에, 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하고, 상기 비휘발성 메모리에 여분의 영역이 남아있지 않으면 리프로그래밍 과정을 어보트(abort)시키는 것을 특징으로 하는 차량용 전자제어유닛.
- 부트 소프트웨어의 리프로그래밍이 요청되면, 마이컴이 비휘발성 메모리에 포함된 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계;
상기 마이컴이 상기 부트블록에 저장된 데이터를 삭제하는 단계;
상기 마이컴이 리프로그래밍을 수행하는 단계;
상기 마이컴이 부트블록에 리프로그래밍 된 데이터의 정합성을 확인하는 단계; 및
상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 사용하여 상기 부트블록을 복구하는 단계를 포함하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
- 제 6항에 있어서,
상기 부트블록을 복구하는 단계 이후 또는 상기 리프로그래밍 된 데이터의 정합성에 오류가 존재하지 않는 경우, 상기 마이컴이 상기 비휘발성 메모리의 여분의 영역에 복사된 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
- 제 6항에 있어서,
상기 리프로그래밍을 수행하는 단계 전에, 상기 마이컴이 리프로그래밍에 대한 데이터를 상기 비휘발성 메모리에서 램(RAM)으로 복사하는 단계를 더 포함하되,
상기 리프로그래밍을 수행하는 단계에서 상기 마이컴은 상기 램으로 복사된 데이터를 이용하여 리프로그래밍을 수행하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
- 제 6항에 있어서,
상기 리프로그래밍 된 데이터의 정합성을 확인하는 단계에서, 상기 마이컴은 상기 리프로그래밍 된 데이터의 체크섬(checksum), 아이디(ID) 및 앤드마크(end mark) 중 적어도 하나 이상을 확인하여 상기 리프로그래밍 된 데이터의 정합성을 확인하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
- 제 6항에 있어서,
상기 부트블록에 저장된 데이터를 상기 비휘발성 메모리의 여분의 영역에 복사하는 단계 전에,
상기 마이컴이 상기 부트블록에 저장된 데이터를 복사할 여분의 영역이 상기 비휘발성 메모리에 남아있는지 계산하는 단계; 및
상기 비휘발성 메모리에 여분의 영역이 남아있지 않는 경우, 상기 마이컴이 리프로그래밍 과정을 어보트(abort)시키는 단계를 더 포함하는 것을 특징으로 하는 차량용 전자제어유닛의 부트 소프트웨어 리프로그래밍 방법.
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)
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)
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 | 경북대학교 산학협력단 | 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치 |
-
2014
- 2014-12-05 KR KR1020140173823A patent/KR101601751B1/ko active IP Right Grant
Patent Citations (4)
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)
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 |