KR101277344B1 - Repairable reprogramming method for microcontroller's software - Google Patents
Repairable reprogramming method for microcontroller's software Download PDFInfo
- Publication number
- KR101277344B1 KR101277344B1 KR1020110062648A KR20110062648A KR101277344B1 KR 101277344 B1 KR101277344 B1 KR 101277344B1 KR 1020110062648 A KR1020110062648 A KR 1020110062648A KR 20110062648 A KR20110062648 A KR 20110062648A KR 101277344 B1 KR101277344 B1 KR 101277344B1
- Authority
- KR
- South Korea
- Prior art keywords
- reprogramming
- area
- boot
- program
- flash rom
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
차량 내 전자 제어 유닛에 적용하는 마이크로컨트롤러 소프트웨어를 리프로그래밍하는 방법은, 전자 제어 유닛이 특정 플래쉬 롬 영역의 값을 확인하여 마이크로컨트롤러의 부트 모드를 결정하는 단계, 특정 플래쉬 롬 영역의 값이 특정값인 경우, 부트 모드를 기본 부트 모드로 설정하고, 특정 플래쉬 롬 영역에 특정값을 삭제하는 단계, 프로그램 영역에서 기존 프로그램에 해당하는 프로그램 정보를 삭제하는 단계, 프로그램 영역에 리프로그램에 해당하는 정보를 작성하는 단계 및 특정 플래쉬 롬 영역에 해당 리프로그램 정보를 작성하는 단계를 포함한다. The method of reprogramming the microcontroller software applied to the in-vehicle electronic control unit may include determining, by the electronic control unit, a value of a specific flash ROM region to determine a boot mode of the microcontroller, wherein a value of the specific flash ROM region is a specific value. , The boot mode is set as the default boot mode, a specific value is deleted in a specific flash ROM area, a program information corresponding to an existing program is deleted from a program area, and information corresponding to a reprogram is input to a program area. And creating corresponding program information in a specific flash ROM area.
Description
본 발명은 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 관한 것이다. 보다 상세하게는 차량의 전자 제어 유닛에 적용하는 마이크로컨트롤러 소프트웨어의 리프로그래밍을 수행하는 경우와 오류로 인하여 부트 소프트웨어가 더 이상 유효하지 않는 경우에도 리프로그래밍을 수행하는 리프로그래밍 방법에 관한 것이다.The present invention relates to a reprogramming method of microcontroller software. More particularly, the present invention relates to a reprogramming method of microcontroller software applied to an electronic control unit of a vehicle, and a reprogramming method of performing reprogramming even when the boot software is no longer valid due to an error.
일반적으로 차량의 각 주행 상태에 따른 정확한 엔진 및 기타 장치의 동작을 제어하기 위하여 엔진 제어기를 포함하여 많은 전자 제어 유닛(ECU, Electric Contol Unit)들이 자동차에 적용되며, 이들의 동작이나 내장되는 데이터를 각각 설정하여 적절한 전자 제어 유닛들의 제어 동작이 이루어질 수 있도록 한다.In general, many electronic control units (ECUs), including an engine controller, are applied to a vehicle to control the operation of the engine and other devices according to each driving state of the vehicle. Each setting is made so that the control operation of the appropriate electronic control units can be made.
따라서, 새로운 차량을 개발할 경우뿐만 아니라 개발 이후 판매되어 사용자에 의해 운행되고 있는 차량의 동작을 알고 필요한 조치를 취하기 위해서는 엔진을 포함하는 전자 제어 유닛들의 동작 사태를 외부 시험자들이 외부 진단 장비를 통하여 확인할 필요가 있다.Therefore, in order not only to develop a new vehicle but also to know the operation of a vehicle sold after the development and operated by a user and to take necessary measures, it is necessary for external testers to check the operation situation of the electronic control units including the engine through external diagnostic equipment. There is.
이와 관련하여, 대부분의 컨트롤러용 전자 제어 장치의 리 프로그래밍(Re-Programming) 방식은 마이크로 프로세서(Micro Processor)에서 지원하는 프로그램 모드를 사용하거나 미리 컨트롤러 안에 프로그램하여 넣어둔 리 프로그램 기능(Reprogram function)을 외부 장비와 커뮤니케이션 라인을 통해 연동함으로써, 기존 데이터를 지우고 새로운 데이터를 다시 넣도록 하는 방식을 사용하고 있다.In this regard, the re-programming method of most electronic controllers for a controller uses a program mode supported by a microprocessor or a reprogram function preprogrammed in a controller. By interworking with external devices through a communication line, the company is erasing existing data and inserting new data again.
일반적으로, 리프로그래밍을 하는 경우 부트 소프트웨어는 리프로그래밍 대상에 포함되지 않는다.In general, when reprogramming, the boot software is not included in the reprogramming target.
그러나, 부트 소프트웨어 자체의 오류로 인하여 부트 소프트웨어까지 리프로그래밍 대상이 되었을 때, 리프로그래밍이 실패하는 경우에는 소프트웨어의 복구가 불가능 하게 되는 문제점이 있다. However, when the reprogramming targets the boot software due to an error of the boot software itself, there is a problem in that the recovery of the software becomes impossible when the reprogramming fails.
또한, 종래의 부트 소프트웨어가 유효하지 않은 경우에는 더 이상의 리프로그래밍이 불가능한 문제점이 있다.
In addition, if the conventional boot software is not valid, there is a problem that further reprogramming is impossible.
본 발명의 목적은, 차량의 전자 제어 유닛에 적용하는 마이크로컨트롤러 소프트웨어의 리프로그래밍을 수행하는 경우와 오류로 인하여 부트 소프트웨어가 더 이상 유효하지 않는 경우에도 리프로그래밍을 수행하는 리프로그래밍 방법을 제공하는 것이다.
It is an object of the present invention to provide a reprogramming method for performing reprogramming of microcontroller software applied to an electronic control unit of a vehicle and reprogramming even when the boot software is no longer valid due to an error. .
상기 과제를 해결하기 위한 본 발명의 실시예에 따른, 차량 내 전자 제어 유닛에 적용하는 마이크로컨트롤러 소프트웨어를 리프로그래밍하는 방법은, 상기 전자 제어 유닛이 특정 플래쉬 롬 영역의 값을 확인하여 상기 마이크로컨트롤러의 부트 모드를 결정하는 단계; 상기 특정 플래쉬 롬 영역의 값이 특정값인 경우, 상기 부트 모드를 기본 부트 모드로 설정하고, 상기 특정 플래쉬 롬 영역에 상기 특정값을 삭제하는 단계; 프로그램 영역에서 기존 프로그램에 해당하는 프로그램 정보를 삭제하는 단계; 상기 프로그램 영역에 리프로그램에 해당하는 리프로그램 정보를 작성하는 단계; 및 상기 특정 플래쉬 롬 영역에 해당하는 리프로그램 정보를 작성하는 단계를 포함한다.According to an embodiment of the present invention for solving the above problems, a method of reprogramming the microcontroller software applied to the electronic control unit in a vehicle, wherein the electronic control unit checks the value of a specific flash ROM area of the microcontroller Determining a boot mode; If the value of the specific flash ROM region is a specific value, setting the boot mode as a default boot mode and deleting the specific value in the specific flash ROM region; Deleting program information corresponding to an existing program from a program area; Creating reprogram information corresponding to a reprogram in the program area; And generating reprogram information corresponding to the specific flash ROM region.
상기 프로그램 정보를 삭제하는 단계는 상기 프로그램 영역이 포함하는 부트 영역, 코드 영역 및 데이터 영역 순서로 삭제하는 것을 특징으로 한다. The deleting of the program information may include deleting a boot area, a code area, and a data area in the program area.
상기 리프로그램에 해당하는 정보를 작성하는 단계는 상기 프로그램 영역이 포함하는 부트 영역, 코드 영역 및 데이터 영역 순서로 작성하는 것을 특징으로 한다.The creating of the information corresponding to the reprogram may be performed in the order of a boot area, a code area, and a data area included in the program area.
마이크로컨트롤러 소프트웨어를 리프로그래밍하는 방법은 상기 특정 플래쉬 롬 영역의 값이 "0"인 경우, 상기 부트 모드를 캔 또는 시리얼 부트 모드로 설정하여 리프로그래밍을 수행하는 단계를 더 포함하는 것을 특징으로 한다. The method of reprogramming the microcontroller software may further include reprogramming by setting the boot mode to the can or serial boot mode when the value of the specific flash ROM area is "0".
상기 프로그램 정보를 삭제하고 상기 리프로그래밍 정보를 작성하는 과정에서 리프로그램이 오류가 발생하는 경우, 다시 상기 마이크로컨트롤러의 부트 모드를 결정하는 것을 특징으로 한다.
When the error occurs during the reprogramming process of deleting the program information and writing the reprogramming information, the boot mode of the microcontroller is determined again.
본 발명의 실시예에 따르면, 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법은 제품이 양산된 후에 리프로그래밍을 수행하는 도중, 오류로 인하여 부트 소프트웨어가 더 이상 유효하지 않을 경우에도 소프트웨어의 복구를 수행할 수 있는 이점이 있다.
According to an embodiment of the present invention, the reprogramming method of the microcontroller software has the advantage of performing the recovery of the software even if the boot software is no longer valid due to an error during the reprogramming after the product is mass produced. There is this.
도 1은 종래의 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법을 나타내는 흐름도이다.
도 2는 일반적으로 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 적용하는 프로그램 영역을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법을 나타내는 흐름도이다. 1 is a flowchart illustrating a reprogramming method of conventional microcontroller software.
FIG. 2 is a diagram generally illustrating a program area applied to a reprogramming method of microcontroller software.
3 is a flow chart illustrating a reprogramming method of microcontroller software in accordance with an embodiment of the present invention.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.
이하에서는, 본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.Hereinafter, a reprogramming method of the microcontroller software according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법은 차량의 전자 제어 유닛(electronic control unit, ECU)에 적용하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 관한 것이지만, 반드시 이에 한정되지는 않는다. First, the reprogramming method of the microcontroller software according to the embodiment of the present invention relates to the reprogramming method of the microcontroller software applied to the electronic control unit (ECU) of the vehicle, but is not necessarily limited thereto.
도 1은 종래의 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법을 나타내는 흐름도이다. 또한, 도 2는 일반적으로 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 적용하는 프로그램 영역을 나타내는 도면이다. 1 is a flowchart illustrating a reprogramming method of conventional microcontroller software. 2 is a diagram showing a program area generally applied to the reprogramming method of the microcontroller software.
도 1을 참고하면, 종래의 전자 제어 유닛은 차량 내 점화(lgnition)가 시작되는 경우에 리프로그래밍을 요청한다(S11). 이때, 종래의 전자 제어 유닛은 부트 소프트웨어가 유효한지를 판단한다(S12). Referring to FIG. 1, the conventional electronic control unit requests reprogramming when an in-vehicle ignition starts (S11). At this time, the conventional electronic control unit determines whether the boot software is valid (S12).
부트 소프트웨어가 유효한 경우, 종래의 전자 제어 유닛은 리프로그래밍을 하기 위하여 부트 영역, 코드 영역 및 데이터 영역을 순서대로 삭제한다(S13, S14 및 S15). 여기서, 부트 영역(BOOT)(210), 코드 영역(CODE)(220) 및 데이터 영역(230)은 도 2와 같이, 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법에 적용하는 프로그램 영역(200)에 해당한다. If the boot software is valid, the conventional electronic control unit deletes the boot area, the code area, and the data area in order for reprogramming (S13, S14, and S15). Here, the boot area (BOOT) 210, the code area (CODE) 220, and the
프로그램 영역(200)은 전자 제어 유닛 내 롬(ROM)에 위치하는 영역이다. The
다음, 종래의 전자 제어 유닛은 삭제된 프로그램 영역(200)에 리프로그램에 해당하는 정보를 작성한다. Next, the conventional electronic control unit creates information corresponding to the reprogram in the
즉, 종래의 전자 제어 유닛은 리프로그램에 해당하는 정보를 부트 영역, 코드 영역 및 데이터 영역을 순서대로 작성한다(S16, S17 및 S18).That is, the conventional electronic control unit creates information corresponding to the reprogram in order of the boot area, the code area, and the data area (S16, S17, and S18).
종래의 전자 제어 유닛은 프로그램 영역(200)에 리프로그램에 해당하는 정보를 모두 작성하면, 리프로그래밍을 완료한다(S19).The conventional electronic control unit completes the reprogramming when all the information corresponding to the reprogram is created in the program area 200 (S19).
이와 같이, 종래의 전자 제어 유닛은 부트 영역(210), 코드 영역(220) 및 데이터 영역(300)내 정보를 삭제하거나 작성함에 있어, 리프로그래밍 오류가 발생하는 경우(S20)에 다시 리프로그래밍을 시작한다. As described above, when the conventional electronic control unit deletes or writes information in the
반면에, 종래의 전자 제어 유닛은 부트 소프트웨어가 불안전한 경우 리프로그래밍이 실패하는 경우(예를 들어, 도 1에서 S13, S14, S15 및 S16에서 리프로그래밍 오류가 발생하는 경우(S20)), 부트 소프트웨어가 유효하지 않으므로 더 이상 리프로그래밍이 불가능하다. On the other hand, the conventional electronic control unit boots when reprogramming fails when the boot software is unstable (for example, when a reprogramming error occurs in S13, S14, S15 and S16 in FIG. 1) (S20). Since the software is not valid, reprogramming is no longer possible.
이와 같이, 종래의 리프로그래밍 방법은 리프로그래밍을 수행하는 중에 오류로 인하여 부트 소프트웨어가 더 이상 유효하지 않을 경우, 리프로그래밍을 수행할 수 없는 문제점이 있다. As described above, the conventional reprogramming method has a problem in that reprogramming cannot be performed when the boot software is no longer valid due to an error during reprogramming.
따라서, 이러한 문제점을 해결할 수 있는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법을 도 3을 참조하여 상세하게 설명한다. Therefore, the reprogramming method of the microcontroller software that can solve this problem will be described in detail with reference to FIG.
도 3은 본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법을 나타내는 흐름도이다.3 is a flow chart illustrating a reprogramming method of microcontroller software in accordance with an embodiment of the present invention.
본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법은 도 2에 도시되어있는 프로그램 영역(200)에 정보의 삭제 및 작성 과정을 통해 리프로그래밍한다. 여기서, 프로그램 영역(200)은 부트 영역(BOOT)(210), 코드 영역(CODE)(220) 및 데이터 영역(DATA)(230)을 포함한다. The reprogramming method of the microcontroller software according to an embodiment of the present invention is reprogrammed by deleting and writing information in the
도 3을 참고하면, 전자 제어 유닛은 특정 플래쉬 롬 영역(Flash ROM)의 값을 을 확인하여 마이크로컨트롤러의 부트 모드를 결정한다(S301). 여기서, 특정 플래쉬 롬 영역은 부트 소프트웨어 내에 위치하는 것으로, 예를 들어, "OxO"로 나타낼 수 있다. Referring to FIG. 3, the electronic control unit determines a boot mode of the microcontroller by checking a value of a specific flash ROM area (S301). In this case, the specific flash ROM region is located in the boot software and may be represented as, for example, "OxO".
전자 제어 유닛은 특정 플래쉬 롬 영역의 값이 "0"인 경우, 부트 모드를 캔 또는 시리얼 부트 모드로 설정한다(S302).When the value of the specific flash ROM area is "0", the electronic control unit sets the boot mode to can or serial boot mode (S302).
반면에, 전자 제어 유닛은 특정 플래쉬 롬 영역의 값이 "특정값"인 경우, 부트 모드를 기본 부트 모드로 설정한다(S303).On the other hand, when the value of the specific flash ROM area is a "specific value", the electronic control unit sets the boot mode to the default boot mode (S303).
다음, 전자 제어 유닛은 기본 부트 모드에서 리프로그래밍을 요청한다(S304). Next, the electronic control unit requests reprogramming in the basic boot mode (S304).
전자 제어 유닛은 특정 플래쉬 롬 영역에 해당하는 특정값을 삭제한다(S305).The electronic control unit deletes a specific value corresponding to the specific flash ROM area (S305).
전자 제어 유닛은 부트 영역, 코드 영역 및 데이터 영역의 정보를 순서대로 삭제한다(S306, S307 및 S308).The electronic control unit deletes the information of the boot area, code area and data area in order (S306, S307, and S308).
다음, 전자 제어 유닛은 리프로그램에 해당하는 정보(이하 "리프로그램 정보"라고도 함)를 부트 영역, 코드 영역 및 데이터 영역에 순서대로 작성한다(S309, S310 및 S311).Next, the electronic control unit creates information corresponding to the reprogram (hereinafter also referred to as "reprogram information") in the boot area, the code area, and the data area in order (S309, S310, and S311).
또한, 전자 제어 유닛은 프로그램 영역에 리프로그램 정보를 작성한 다음, 특정 플래쉬 롬 영역에 해당하는 리프로그램 정보를 작성한다(S312).In addition, the electronic control unit creates reprogram information in the program area, and then creates reprogram information corresponding to the specific flash ROM area (S312).
본 발명의 실시예에 따른, 전자 제어 유닛은 특정 플래쉬 롬 영역, 부트 영역, 코드 영역 및 데이터 영역을 삭제하거나 작성함에 있어, 종래와 다르게 부트 소프트웨어가 유효하지 않은 경우에도 리프로그래밍 오류가 발생하는 경우(S313)에 다시 리프로그래밍을 시작한다. According to an embodiment of the present invention, when the electronic control unit deletes or creates a specific flash ROM area, a boot area, a code area, and a data area, a reprogramming error occurs even when the boot software is invalid unlike the conventional method. Reprogramming is started again at S313.
최종적으로, 전자 제어 유닛은 프로그램 영역과 특정 플래쉬 롬 영역에 해당하는 리프로그램 정보를 모두 작성하면, 리프로그래밍을 완료한다(S314).
Finally, the electronic control unit completes reprogramming when both the program area and the reprogram information corresponding to the specific flash ROM area are created (S314).
이와 같이, 본 발명의 실시예에 따른 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법은 리프로그램을 시작하자마자 부트 모드를 결정하는 특정 플래쉬 롬 영역 내 정보를 가장 먼저 지우고, 리프로그래밍 정보를 가장 마지막에 특정 플래쉬 롬 영역에 작성함으로써, 부트 소프트웨어가 유효하지 않은 경우에도 리프로그래밍을 수행할 수 있다.
As such, the reprogramming method of the microcontroller software according to an embodiment of the present invention first erases information in a specific flash ROM area that determines a boot mode as soon as the reprogramming is started, and reprogramming information is lastly erased. By writing to, you can perform reprogramming even if the boot software is not valid.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
As described above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
200; 프로그램 영역
210; 부트 영역
220; 코드 영역
230; 데이터 영역200; Program area
210; Boot area
220; Code area
230; Data area
Claims (5)
상기 전자 제어 유닛이 특정 플래쉬 롬 영역의 값을 확인하여 상기 마이크로컨트롤러의 부트 모드를 결정하는 단계;
상기 특정 플래쉬 롬 영역의 값이 "0"이 아닌 특정값인 경우, 상기 부트 모드를 기본 부트 모드로 설정하고, 상기 특정 플래쉬 롬 영역에 상기 특정값을 삭제하는 단계;
프로그램 영역에서 기존 프로그램에 해당하는 프로그램 정보를 삭제하는 단계;
상기 프로그램 영역에 리프로그램에 해당하는 리프로그램 정보를 작성하는 단계; 및
상기 특정 플래쉬 롬 영역에 해당하는 리프로그램 정보를 작성하는 단계를 포함하고,
리프로그램을 시작하자마자 상기 특정 플래쉬 롬 영역 내 정보를 가장 먼저 지우고, 리프로그램 정보를 가장 마지막에 특정 플래쉬 롬 영역에 작성하여, 부트 소프트웨어가 유효하지 않은 경우에도 리프로그래밍을 수행하는 것을 특징으로 하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법.In a method for reprogramming microcontroller software applied to an in-vehicle electronic control unit,
Determining, by the electronic control unit, a boot mode of the microcontroller by checking a value of a specific flash ROM area;
If the value of the specific flash ROM region is a specific value other than "0", setting the boot mode to a default boot mode and deleting the specific value in the specific flash ROM region;
Deleting program information corresponding to an existing program from a program area;
Creating reprogram information corresponding to a reprogram in the program area; And
Creating reprogram information corresponding to the specific flash ROM region,
As soon as the reprogramming is started, the information in the specific flash ROM area is first erased, and the reprogram information is written last in the specific flash ROM area so that reprogramming is performed even if the boot software is invalid. How to Reprogram the Controller Software.
상기 프로그램 정보를 삭제하는 단계는,
상기 프로그램 영역이 포함하는 부트 영역, 코드 영역 및 데이터 영역 순서로 삭제하는 것을 특징으로 하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법.The method according to claim 1,
Deleting the program information,
And deleting the boot region, the code region, and the data region included in the program region.
상기 리프로그램에 해당하는 정보를 작성하는 단계는,
상기 프로그램 영역이 포함하는 부트 영역, 코드 영역 및 데이터 영역 순서로 작성하는 것을 특징으로 하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법.The method according to claim 1,
Creating the information corresponding to the reprogram,
And rewriting the microcontroller software in the order of the boot region, code region, and data region included in the program region.
상기 특정 플래쉬 롬 영역의 값이 "0"인 경우, 상기 부트 모드를 캔 또는 시리얼 부트 모드로 설정하여 리프로그래밍을 수행하는 단계를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법.The method according to claim 1,
And reprogramming the boot mode to a can or serial boot mode when the value of the specific flash ROM area is "0".
상기 프로그램 정보를 삭제하고 상기 리프로그래밍 정보를 작성하는 과정에서 리프로그램이 오류가 발생하는 경우, 다시 상기 마이크로컨트롤러의 부트 모드를 결정하는 것을 특징으로 하는 마이크로컨트롤러 소프트웨어의 리프로그래밍 방법.
The method according to claim 1,
And re-determining a boot mode of the microcontroller if an error occurs in the reprogramming process while deleting the program information and writing the reprogramming information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110062648A KR101277344B1 (en) | 2011-06-28 | 2011-06-28 | Repairable reprogramming method for microcontroller's software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110062648A KR101277344B1 (en) | 2011-06-28 | 2011-06-28 | Repairable reprogramming method for microcontroller's software |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130006963A KR20130006963A (en) | 2013-01-18 |
KR101277344B1 true KR101277344B1 (en) | 2013-06-20 |
Family
ID=47837635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110062648A KR101277344B1 (en) | 2011-06-28 | 2011-06-28 | Repairable reprogramming method for microcontroller's software |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101277344B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102176378B1 (en) * | 2018-12-07 | 2020-11-10 | 현대오트론 주식회사 | Method and apparatus for enhancing security of vehicle controller |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000322265A (en) * | 1999-04-21 | 2000-11-24 | Robert Bosch Gmbh | Memory device, method for reprogramming boot area of it and computer unit having the device |
KR100591813B1 (en) * | 2004-11-19 | 2006-06-20 | 주식회사 팬택앤큐리텔 | Mobile phone had a function of recovery for the firmware download errors and Recovering method for the firmware download errors of a mobile phone |
US20070277028A1 (en) * | 2006-05-26 | 2007-11-29 | Jamey Cates | Method and system for recovery from reprogramming failures in nonvolatile memory |
KR20080019860A (en) * | 2006-08-29 | 2008-03-05 | 지멘스 오토모티브 주식회사 | Method for reprogramming electric control unit of car |
-
2011
- 2011-06-28 KR KR1020110062648A patent/KR101277344B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000322265A (en) * | 1999-04-21 | 2000-11-24 | Robert Bosch Gmbh | Memory device, method for reprogramming boot area of it and computer unit having the device |
KR100591813B1 (en) * | 2004-11-19 | 2006-06-20 | 주식회사 팬택앤큐리텔 | Mobile phone had a function of recovery for the firmware download errors and Recovering method for the firmware download errors of a mobile phone |
US20070277028A1 (en) * | 2006-05-26 | 2007-11-29 | Jamey Cates | Method and system for recovery from reprogramming failures in nonvolatile memory |
KR20080019860A (en) * | 2006-08-29 | 2008-03-05 | 지멘스 오토모티브 주식회사 | Method for reprogramming electric control unit of car |
Also Published As
Publication number | Publication date |
---|---|
KR20130006963A (en) | 2013-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506535A (en) | Method for updating Bootloader software by automobile ECU controller | |
RU2142168C1 (en) | Method for complete rewriting of cleared non- volatile memory | |
CN105608370B (en) | A kind of ECU programs write with a brush dipped in Chinese ink and detection method | |
CN103713932B (en) | The update method of application program and device in a kind of electronic control unit | |
CN109358887B (en) | On-line upgrading method, device and system for single chip microcomputer program | |
JP2006298261A (en) | Control unit for automobile | |
JP2007287022A (en) | Information storage method for electronic control device | |
US20140181526A1 (en) | Methods and systems for bypassing authenticity checks for secure control modules | |
JP2020535504A (en) | How to upgrade system version and equipment | |
JP4880105B2 (en) | Memory function protection method for control device and control device | |
JP4492025B2 (en) | Data storage method for electronic control unit | |
KR101277344B1 (en) | Repairable reprogramming method for microcontroller's software | |
JP2019016086A (en) | Automobile electronic control device | |
CN113220319A (en) | Data updating method and device and vehicle | |
US11169828B2 (en) | Electronic control unit and method for verifying control program | |
JP2014050137A (en) | Inverter device | |
CN116431186A (en) | Upgrading method, device and medium of vehicle-mounted ECU | |
CN113176891B (en) | Bootloader-based ECU (electronic control Unit) program programming method with backup function | |
KR100873302B1 (en) | Method for reprogramming electric control unit of car | |
AU2002342788B2 (en) | Method for operating a control device | |
JP2013232028A (en) | Microcomputer | |
CN111796839A (en) | Controller program management method and device | |
KR102703632B1 (en) | Firmware update method of flash bootloader in MCU for vehicle | |
KR102551737B1 (en) | Bootloader System and Method Therefor | |
JP2011039825A (en) | Firmware updating method and firmware updating device |
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: 20151223 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 9 |