KR20080083512A - Firmware over the air system - Google Patents
Firmware over the air system Download PDFInfo
- Publication number
- KR20080083512A KR20080083512A KR1020070024173A KR20070024173A KR20080083512A KR 20080083512 A KR20080083512 A KR 20080083512A KR 1020070024173 A KR1020070024173 A KR 1020070024173A KR 20070024173 A KR20070024173 A KR 20070024173A KR 20080083512 A KR20080083512 A KR 20080083512A
- Authority
- KR
- South Korea
- Prior art keywords
- firmware
- information
- file
- data
- personality
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/123—Software or firmware update, e.g. device firmware management
-
- 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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
Description
도 1 은 FOTA 시스템의 개요도1 is a schematic diagram of a FOTA system;
도 2 는 본 발명에 따른 FOTA 시스템에 의해 생성되는 차분 파일 구조도2 is a differential file structure diagram generated by the FOTA system according to the present invention;
도 3 은 본 발명에 따른 FOTA 시스템의 부분 업데이트 절차를 도시한 흐름도3 is a flowchart illustrating a partial update procedure of the FOTA system according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>
100 : FOTA 시스템 110 : 파일 생성부100: FOTA system 110: file generation unit
120 : 업데이트 수행부 200 : 클라이언트 단말기120: update execution unit 200: client terminal
본 발명은 FOTA 시스템에 관한 것으로, 특히 펌웨어(Firmware) 부분 업데이트를 위해 생성되는 차분 파일의 구조에 관련한 것이다.The present invention relates to a FOTA system, and more particularly to the structure of a differential file created for firmware partial updates.
FOTA(Firmware Over The Air)는 휴대폰 등의 모바일 디바이스(Mobile Device)의 펌웨어(Firmware)를 무선으로 자동 업데이트하는 기술을 말한다. 그런데, 무선 특성상 대역폭의 제한, 데이터 량에 따른 비용문제, 저장 용량의 제약 때문에 펌웨어 전체를 휴대폰 등의 모바일 디바이스에 전송하여 업데이트하는 방법은 효율적이지 못하다.FOTA (Firmware Over The Air) refers to a technology that automatically updates the firmware of a mobile device such as a mobile phone wirelessly. However, due to the limitations of bandwidth, cost problems due to the amount of data, and limitation of storage capacity, the method of updating and transmitting the entire firmware to a mobile device such as a mobile phone is not efficient due to wireless characteristics.
따라서, 이러한 문제를 해결하기 위해 펌웨어(Firmware)의 변경된 부분만 업데이트하는 펌웨어 부분 업데이트 기술들이 제안되었으며, 본 발명자는 이러한 펌웨어 부분 업데이트시, 보다 효율적으로 펌웨어 부분 업데이트가 가능하도록 하는 기술에 대한 연구를 하였고, 이러한 연구의 일환으로 펌웨어 부분 업데이트에 있어서의 핵심 부분인 펌웨어 부분 업데이트를 위해 생성되는 차분 파일의 가변 구조를 제안하게 되었다.Therefore, in order to solve such a problem, firmware partial update techniques for updating only a changed portion of firmware have been proposed, and the present inventors have studied a technique for enabling a more efficient firmware partial update during such firmware partial update. As part of this research, we proposed a variable structure of the difference file generated for the firmware part update, which is a key part of the firmware part update.
본 발명은 상기한 취지하에 발명된 것으로, 펌웨어 부분 업데이트를 위해 생성되는 차분 파일의 가변 구조를 제공함을 그 목적으로 한다.The present invention has been invented under the above-mentioned object, and an object thereof is to provide a variable structure of a difference file generated for firmware partial update.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 본 발명에 따른 FOTA 시스템이 파일 식별을 위한 식별자 정보와, 파일 특성을 기록한 파일정보와, 신버전 펌웨어 크기 정보와, 구버전 펌웨어 크기 정보를 포함하는 헤더(Header)와; 구간 데이터 성격을 기록한 데이터 성격정보와, 상기 구간 데이터 성격에 따른 구간 길이 및 구버전 펌웨어의 위치정보를 기록한 구간정보와, 상기 구간정보의 구간 길이 만큼 기록되는 데이터 정보를 기록한 구간 데이터 정보로 이루어지는 단위 데이터를 적어도 하나 포함하는 가변 구조의 바디(Body)를 포함하여 이루어지는 차분 파일을 생성하는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, the FOTA system according to the present invention includes identifier information for file identification, file information recording the file characteristics, new version firmware size information, old version firmware size information A header; Unit data consisting of data personality information recording section data personality, section information recording section length and location information of the old version firmware according to the section data characteristics, and section data information recording data information recorded as section length of the section information. And generating a difference file including a body having a variable structure including at least one of the two.
따라서, 본 발명은 가변 구조의 차분 파일을 통해 보다 효율적으로 펌웨어 부분 업데이트가 가능하도록 하는 장점을 가진다.Accordingly, the present invention has an advantage of enabling a more efficient firmware partial update through a difference file having a variable structure.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.
도 1 은 FOTA 시스템의 개요도이다. 펌웨어 부분 업데이트를 위한 FOTA 시스템(100)은 파일 생성부(110)와, 업데이트 수행부(120)로 이루어진다. 상기 파일 생성부(110)는 구버전 펌웨어(Firmware)와 신버전 펌웨어를 바이너리(Binary) 단위로 비교하여 해당 펌웨어의 변경 또는 추가 또는 삭제된 부분을 추출하고, 이로부터 부분 업데이트를 위한 차분 파일을 생성한다. 이 때, 상기 차분 파일 생성시 구버전 펌웨어와 신버전 펌웨어를 소정 단위의 부분영역으로 나누고, 각 부분영역을 순차적으로 비교하여 변경된 영역을 추출하는 등의 방법을 사용할 수 있다.1 is a schematic diagram of a FOTA system. The
상기 업데이트 수행부(120)는 상기 파일 생성부(110)에 의해 생성된 차분 파일을 적어도 하나의 클라이언트 단말기(200)로 전송하여, 해당 클라이언트 단말기(200)에 설치된 해당 펌웨어에 대한 부분 업데이트를 수행하도록 처리한다. 즉, 이 업데이트 수행부(120)는 OMA(Open Mobile Alliance) DM(Device Management)에서 규정한 디바이스 관리에 관한 기능을 담당하는 소프트웨어 모듈로, 생성된 차분 파일의 배포 및 보관 관리, 버전 관리 등의 기능을 수행한다.The update performing unit 120 transmits the difference file generated by the file generating unit 110 to at least one client terminal 200 to perform a partial update of the firmware installed in the client terminal 200. Do it. That is, the update performing unit 120 is a software module that is responsible for the device management function specified by the Open Mobile Alliance (OMA) Device Management (OMA), and the distribution and storage management of the generated differential file, version management, etc. Perform the function.
상기 차분 파일을 수신한 클라이언트 단말기(200)는 펌웨어 업데이트를 위한 소프트웨어 모듈을 실행하여 클라이언트 단말기(200)에 설치된 펌웨어에 대해 변경된 부분만 부분 업데이트함으로써 클라이언트 단말기(200)에 설치된 구버전 펌웨어가 신버전 펌웨어로 업그레이드 된다. 따라서, 이러한 펌웨어 부분 업데이트를 통해 FOTA(Firmware Over The Air)시의 무선 특성상 대역폭의 제한, 데이터 량에 따 른 비용문제, 저장 용량의 제약 문제를 해결할 수 있게 된다. The client terminal 200 receiving the difference file executes a software module for firmware update to partially update only the changed part of the firmware installed in the client terminal 200 so that the old version firmware installed in the client terminal 200 is updated to the new version firmware. It is upgraded. Therefore, this partial firmware update can solve bandwidth limitations, cost limitations, and storage capacity constraints due to the wireless nature of FOTA (Firmware Over The Air).
도 2 는 본 발명에 따른 FOTA 시스템에 의해 생성되는 차분 파일 구조도이다. 도면에 도시한 바와 같이, 본 발명에 따른 FOTA 시스템에 의해 생성되는 차분 파일은 헤더(Header)와 바디(Body)로 이루어진다. 상기 헤더(Header)는 식별자 정보(Identifier)와, 파일정보(Info)와, 신버전 펌웨어 크기 정보(size1)와, 구버전 펌웨어 크기 정보(size2)를 포함한다.2 is a differential file structure diagram generated by the FOTA system according to the present invention. As shown in the figure, the difference file generated by the FOTA system according to the present invention consists of a header and a body. The header includes identifier information, file information Info, new version firmware size information size1, and old version firmware size information size2.
상기 식별자 정보(Identifier)는 해당 파일이 펌웨어 부분 업데이트를 위한 파일임을 나타내는 정보이다. 이 식별자 정보(Identifier)는 클라이언트 단말기(200)에 의해 판독되어 해당 파일이 펌웨어 부분 업데이트를 위한 파일임이 인식되고, 클라이언트 단말기(200)에 의해 펌웨어 부분 업데이트를 위한 소프트웨어 모듈이 실행되어 펌웨어를 업데이트 하게 된다.The identifier information is information indicating that the file is a file for firmware partial update. This identifier information is read by the client terminal 200 to recognize that the file is a file for firmware partial update, and a software module for firmware partial update is executed by the client terminal 200 to update the firmware. do.
상기 파일정보(Info)는 파일 특성을 기록하는 정보로, 구버전 펌웨어가 변경되었음을 나타내는 특성값이 저장된다. 예컨대, 구버전 펌웨어가 변경되었음을 나타내는 특성값이 '1'로 정의되었다면, 클라이언트 단말기(200)의 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 이 파일정보(Info)에 기록된 특성값이 '1'일 경우 펌웨어 부분 업데이트를 수행하게 된다.The file information Info is information for recording a file characteristic, and the characteristic value indicating that the old firmware is changed is stored. For example, if the characteristic value indicating that the old version firmware is changed is defined as '1', the software module for updating the firmware portion of the client terminal 200 is firmware when the characteristic value recorded in the file information Info is '1'. Partial update will be performed.
상기 신버전 펌웨어 크기 정보(size1)는 신버전 펌웨어의 크기를 기록한다. 상기 구버전 펌웨어 크기 정보(size2)는 구버전 펌웨어의 크기를 기록한다. 이 신버전 펌웨어 크기 정보(size1) 및 구버전 펌웨어 크기 정보(size2)는 정합성 체크나, 전송에러 체크를 위한 CRC(Cyclic Redundancy Checking) 등에서 이용되는 정보 이다. 상기 정합성 체크나 전송에러 체크에 관련해서는 이 출원 이전에 이미 다양하게 공지되어 시행되는 통상의 기술이며, 본 발명의 요지를 벗어나는 부분이므로, 이에 대한 구체적인 설명은 생략하기로 한다.The new version firmware size information size1 records the size of the new version firmware. The old firmware size information size2 records the size of the old firmware. The new version firmware size information size1 and the old version firmware size information size2 are information used in a consistency check, a cyclic redundancy check (CRC) for transmission error check, and the like. Regarding the consistency check or the transmission error check, it is a conventional technique that is already known and implemented variously before this application, and since it is a part that deviates from the gist of the present invention, a detailed description thereof will be omitted.
상기 바디(Body)는 적어도 하나의 단위 데이터를 포함하는 단위 데이터 집합으로, 상기 단위 데이터의 갯수에 따라 그 크기가 가변되는 가변 구조를 가진다. 상기 단위 데이터는 구버전 펌웨어와 신버전 펌웨어를 바이너리 단위로 비교하여 변경 또는 추가 또는 삭제된 부분으로 추출된 부분에 기록된 데이터 즉, 실제로 데이터의 변경 또는 추가 또는 삭제가 발생한 데이터 및 이 데이터에 대한 정보가 저장되는 부분이다.The body is a unit data set including at least one unit data, and has a variable structure whose size varies according to the number of unit data. The unit data includes data recorded in a part extracted as a part that is changed, added, or deleted by comparing the old version firmware and the new version firmware in binary units, that is, data in which the data has actually been changed, added, or deleted, and information about the data. This is the part that is saved.
상기 바디(Body)는 데이터 성격정보(kind)와, 구간정보와, 구간 데이터 정보를 포함하여 이루어진다. 상기 데이터 성격정보(kind)는 구간 데이터 성격을 기록한다. 여기서 구간 데이터란 구버전 펌웨어의 데이터 변경 또는 추가 또는 삭제가 발생한 구간의 데이터를 의미한다. 한편, 상기 구간 데이터 성격정보는 구버전 펌웨어의 해당 구간 내용이 변경되었음을 나타내는 제 1 성격값과, 구버전 펌웨어에는 없는 추가 또는 삭제된 내용이 있음을 나타내는 제 2 성격값과, 차분 파일의 내용에 따라 구버전 펌웨어의 주소 위치가 변경되었음을 나타내는 제 3 성격값 중 어느 하나일 수 있다.The body includes data personality information, section information, and section data information. The data kind information records section data characteristics. In this case, the section data refers to data of a section where data change, addition, or deletion of the old version firmware occurs. Meanwhile, the section data personality information may include a first personality value indicating that the contents of the corresponding section of the old version firmware have been changed, a second personality value indicating that there is added or deleted content not present in the old version firmware, and an old version according to the content of the difference file. It may be any one of the third personality values indicating that the address location of the firmware has been changed.
예컨대, 상기 제 1 성격값으로 '1', 상기 제 2 성격값으로 '2', 상기 제 3 성격값으로 '3'과 같이 정의될 수 있다. 클라이언트 단말기(200)의 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 데이터 성격정보(kind)에 기록된 값을 판독하여 그 값이 제 1 성격값일 경우에는, 구버전 펌웨어에 변경된 구간의 데이터를 기록하여 부분 업데이트를 수행하고, 제 2 성격값일 경우에는 구버전 펌웨어에 추가 또는 삭제된 내용을 추가 또는 삭제하고, 제 3 성격값일 경우에는 구버전 펌웨어의 주소 위치를 변경하는 처리를 수행한다.For example, it may be defined as '1' as the first personality value, '2' as the second personality value, and '3' as the third personality value. The software module for updating the firmware part of the client terminal 200 reads the value recorded in the data personality information, and if the value is the first personality value, records the changed section in the old version firmware to perform the partial update. If the second personality value is added, the content added or deleted in the old firmware is added or deleted, and if the third personality value is used, the process of changing the address location of the old firmware is performed.
상기 구간정보는 상기 구간 데이터 성격에 따른 구간 길이 및 구버전 펌웨어의 위치정보를 기록한다. 즉, 이 구간정보는 구버전 펌웨어의 변경 또는 추가 또는 삭제된 구간의 길이 및 파일 주소(Address) 위치가 기록되는 부분이다. The section information records section length and location information of the old version firmware according to the section data characteristics. That is, the section information is a portion in which the length and the file address position of the section of the changed, added, or deleted version of the old firmware are recorded.
상기 구간 데이터 정보는 상기 구간정보의 구간 길이 만큼 기록되는 데이터 정보 즉, 구버전 펌웨어의 데이터 변경 또는 추가 또는 삭제가 발생한 구간의 실제 데이터를 포함한다. 이 때, 상기 구간 데이터 정보가 상기 구간 데이터 성격정보가 제 3 성격값일 경우에는 상기 단위 데이터에 포함되지 않는다. 즉, 이 구간 데이터 정보는 상기 구간 데이터 성격정보가 제 1 성격값 또는 제 2 성격값일 경우, 클라이언트 단말기(200)의 펌웨어 부분 업데이트를 위한 소프트웨어 모듈이 구버전 펌웨어를 신버전 펌웨어로 부분 업데이트시, 구버전 펌웨어의 데이터 변경 또는 추가 또는 삭제가 발생한 구간에 기록되는 실제 데이터가 기록되는 부분이다.The section data information includes data information recorded as long as the section length of the section information, that is, actual data of a section where data change, addition, or deletion of the old version firmware occurs. In this case, the section data information is not included in the unit data when the section data personality information is a third personality value. That is, the interval data information is the old version firmware when the software module for firmware partial update of the client terminal 200 partially updates the old version firmware to the new version firmware when the section data personality information is the first personality value or the second personality value. The actual data recorded in the section where the data change, addition or deletion occurs is recorded.
도 3 을 참조하여 본 발명에 따른 FOTA 시스템의 부분 업데이트 절차를 알아본다. 도 3 은 본 발명에 따른 FOTA 시스템의 부분 업데이트 절차를 도시한 흐름도이다. 먼저, 단계 S110 에서 FOTA 시스템(100)의 파일 생성부(110)에 의해 구버전 펌웨어(Firmware)와 신버전 펌웨어가 바이너리(Binary) 단위로 비교되어, 상기한 헤더(Header)와 바디(Body)를 포함하는 부분 업데이트를 위한 차분 파일이 생성된 다.A partial update procedure of the FOTA system according to the present invention will be described with reference to FIG. 3. 3 is a flowchart illustrating a partial update procedure of the FOTA system according to the present invention. First, in step S110, the old version firmware and the new version firmware are compared in binary units by the file generation unit 110 of the
그 다음, 단계 S120 에서 상기 단계 S110 에서 생성된 차분 파일은 FOTA 시스템(100)의 업데이트 수행부(120)에 의해 적어도 하나의 클라이언트 단말기(200)로 전송된다. 그러면, 단계 S130 에서 클라이언트 단말기(200)는 수신한 차분 파일의 헤더(Header)의 식별자 정보(Identifier)로부터 해당 파일이 펌웨어 부분 업데이트를 위한 차분 파일임을 검출하고, 펌웨어 부분 업데이트를 위한 소프트웨어 모듈(도면 도시 생략)을 실행한다.Next, in step S120, the difference file generated in step S110 is transmitted to the at least one client terminal 200 by the update performing unit 120 of the
상기 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 단계 S140 에서 헤더(Header)의 신버전 펌웨어 크기 정보(size1)와, 구버전 펌웨어 크기 정보(size2)를 이용해 전송 에러를 검사하고, 이상 없을 경우 헤더(Header)의 파일정보(Info)를 판독하여, 이 파일정보(Info)에 기록된 특성값이 구버전 펌웨어가 변경되었음을 나타내는 값일 경우 차분 파일의 바디(Body)를 분석하여 펌웨어 부분 업데이트를 수행한다.The software module for the firmware partial update checks for transmission errors using the new version firmware size information size1 and the old version firmware size information size2 of the header in step S140, and if there is no error, the file of the header file. When the information Info is read and the characteristic value recorded in the file information Info is a value indicating that the old version firmware has been changed, the body of the difference file is analyzed to perform the firmware partial update.
먼저, 상기 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 단계 S150 에서 바디(Body)에 포함되는 단위 데이터를 순차적으로 분석하여 각 단위 데이터의 데이터 성격정보를 판독한다. 이 때, 상기 데이터 성격정보에 기록된 값이 제 1 성격값일 경우에는 구버전 펌웨어의 해당 구간 내용이 변경되었음을 나타낸다. 한편, 상기 데이터 성격정보에 기록된 값이 제 2 성격값일 경우에는 구버전 펌웨어에는 없는 추가 또는 삭제된 내용이 있음을 나타낸다. 한편, 상기 데이터 성격정보에 기록된 값이 제 3 성격값일 경우에는 차분 파일의 내용에 따라 구버전 펌웨어의 주소 위치가 변경되었음을 나타낸다.First, the software module for updating the firmware part sequentially analyzes unit data included in a body and reads data personality information of each unit data in step S150. At this time, when the value recorded in the data personality information is the first personality value, it indicates that the content of the corresponding section of the old version firmware has been changed. On the other hand, when the value recorded in the data personality information is the second personality value, it indicates that there is added or deleted content which is not present in the old firmware. On the other hand, if the value recorded in the data personality information is the third personality value, it indicates that the address location of the old version firmware is changed according to the content of the difference file.
만일, 상기 데이터 성격정보에 기록된 값이 제 1 성격값이라면 상기 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 단계 S160a 에서 해당 단위 데이터의 구간정보로부터 구간 길이 및 구버전 펌웨어의 파일 주소 위치를 판독하여, 해당 단위 데이터의 구간 데이터 정보에 기록된 데이터를 상기 구버전 펌웨어의 파일 주소 위치로부터 상기 구간 길이 만큼 기록하여 구버전 펌웨어의 변경된 부분을 변경한다.If the value recorded in the data personality information is the first personality value, the software module for the firmware partial update reads the section length and the file address location of the old version firmware from the section information of the corresponding unit data in step S160a, and the corresponding unit. The data recorded in the section data information of the data is recorded by the section length from the file address position of the old version firmware to change the changed portion of the old version firmware.
만일, 상기 데이터 성격정보에 기록된 값이 제 2 성격값이라면 상기 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 단계 S160b 에서 해당 단위 데이터의 구간정보로부터 구간 길이 및 구버전 펌웨어의 파일 주소 위치를 판독하여, 해당 단위 데이터의 구간 데이터 정보에 기록된 데이터를 상기 구버전 펌웨어의 파일 주소 위치로부터 상기 구간 길이 만큼 기록하여 구버전 펌웨어에서 추가 또는 삭제된 부분을 기록하여 변경한다. 이 때, 데이터가 추가 또는 삭제되는 경우에는 구버전 펌웨어와 신버전 펌웨어의 전체 크기가 달라지므로, 구버전 펌웨어의 상기 파일 주소 위치 이후의 데이터를 메모리상으로 읽어들이고, 추가 또는 삭제된 부분을 기록한 위치 이후에 상기 메모리에 읽어들인 데이터 중에서 추가 또는 삭제된 부분 이외의 데이터를 기록한다.If the value recorded in the data personality information is the second personality value, the software module for the firmware partial update reads the section length and the file address location of the old version firmware from the section information of the corresponding unit data in step S160b, and the corresponding unit. The data recorded in the section data information of the data is recorded by the length of the section from the file address position of the old version firmware, and the part added or deleted in the old version firmware is recorded and changed. In this case, when data is added or deleted, since the total size of the old firmware and the new firmware is different, the data after the file address location of the old firmware is read into the memory, and after the location where the added or deleted part is recorded. Data other than the added or deleted portion of the data read into the memory is recorded.
만일, 상기 데이터 성격정보에 기록된 값이 제 3 성격값이라면 상기 펌웨어 부분 업데이트를 위한 소프트웨어 모듈은 단계 S160c 에서 구버전 펌웨어의 주소 위치를 해당 단위 데이터의 구간정보에 기록된 구버전 펌웨어의 파일 주소 위치로 이동시킨 후, 다음 단위 데이터에 대한 처리를 수행한다. 클라이언트 단말기(200)에 설치되는 펌웨어 부분 업데이트를 위한 소프트웨어 모듈이 위와 같은 처리를 상기 바디(Body)에 포함되는 단위 데이터에 대해 순차적으로 수행하면 구버전 펌웨어의 변경 또는 추가 또는 삭제된 부분에 대한 부분 업데이트가 이루어지게 된다. 따라서, 본 발명은 가변 구조의 차분 파일을 통해 보다 효율적으로 펌웨어 부분 업데이트가 가능해지므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있게 된다.If the value recorded in the data personality information is a third personality value, the software module for updating the firmware partial information may include the address location of the old version firmware as the file address location of the old version firmware recorded in the section information of the corresponding unit data in step S160c. After moving, processing for the next unit data is performed. If the software module for firmware partial update installed in the client terminal 200 performs the above processing on the unit data included in the body sequentially, the partial update of the changed or added or deleted part of the old firmware is performed. Will be made. Accordingly, the present invention enables the firmware partial update to be performed more efficiently through the difference file of the variable structure, thereby achieving the above object of the present invention.
이상에서 설명한 바와 같은 FOTA 시스템은 구버전 펌웨어(Firmware)와 신버전 펌웨어를 비교하여 해당 펌웨어의 변경 또는 추가 또는 삭제된 부분을 추출하고, 이로부터 부분 업데이트를 위한 차분 파일을 생성하여 이를 적어도 하나의 클라이언트 단말기로 전송함으로써 클라이언트 단말기에 설치된 펌웨어에 대한 부분 업데이트를 수행함에 있어서, 가변 구조의 차분 파일을 통해 보다 효율적으로 펌웨어 부분 업데이트가 가능하도록 한 유용한 효과를 가진다.As described above, the FOTA system compares an old version firmware with a new version firmware, extracts the changed, added, or deleted portions of the firmware, and generates a differential file for partial update from the at least one client terminal. In performing the partial update on the firmware installed in the client terminal by transmitting to the network, the partial update of the firmware can be performed more efficiently through the difference file of the variable structure.
본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위 내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.While the invention has been described with reference to the preferred embodiments, which are referred to by the accompanying drawings, it is apparent that various modifications are possible without departing from the scope of the invention within the scope covered by the following claims from this description. .
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024173A KR20080083512A (en) | 2007-03-12 | 2007-03-12 | Firmware over the air system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024173A KR20080083512A (en) | 2007-03-12 | 2007-03-12 | Firmware over the air system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080083512A true KR20080083512A (en) | 2008-09-18 |
Family
ID=40024169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070024173A KR20080083512A (en) | 2007-03-12 | 2007-03-12 | Firmware over the air system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080083512A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010052647A1 (en) * | 2008-11-10 | 2010-05-14 | Nokia Corporation | Method and apparatus for updating firmware |
KR101541112B1 (en) * | 2013-07-04 | 2015-07-31 | 주식회사 미르코퍼레이션 | FOTA system and the method |
US20160378990A1 (en) * | 2015-06-24 | 2016-12-29 | Lenovo (Singapore) Pte, Ltd. | Validating firmware on a computing device |
KR20210064994A (en) * | 2019-11-26 | 2021-06-03 | 현대오트론 주식회사 | Method for updating vehicular control unit |
CN113721968A (en) * | 2021-08-31 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | Firmware upgrading method and device |
KR20220086230A (en) * | 2020-12-16 | 2022-06-23 | 현대오토에버 주식회사 | Difference update method for vehicullr control unit and difference update roll back method |
US11650811B2 (en) | 2019-11-26 | 2023-05-16 | Hyundai Autoever Corp. | Method of updating control unit for vehicle |
-
2007
- 2007-03-12 KR KR1020070024173A patent/KR20080083512A/en active IP Right Grant
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010052647A1 (en) * | 2008-11-10 | 2010-05-14 | Nokia Corporation | Method and apparatus for updating firmware |
US8789035B2 (en) | 2008-11-10 | 2014-07-22 | Nokia Corporation | Method and apparatus for updating firmware |
KR101541112B1 (en) * | 2013-07-04 | 2015-07-31 | 주식회사 미르코퍼레이션 | FOTA system and the method |
US20160378990A1 (en) * | 2015-06-24 | 2016-12-29 | Lenovo (Singapore) Pte, Ltd. | Validating firmware on a computing device |
US10372914B2 (en) * | 2015-06-24 | 2019-08-06 | Lenovo (Singapore) Pte. Ltd. | Validating firmware on a computing device |
KR20210064994A (en) * | 2019-11-26 | 2021-06-03 | 현대오트론 주식회사 | Method for updating vehicular control unit |
US11650811B2 (en) | 2019-11-26 | 2023-05-16 | Hyundai Autoever Corp. | Method of updating control unit for vehicle |
KR20220086230A (en) * | 2020-12-16 | 2022-06-23 | 현대오토에버 주식회사 | Difference update method for vehicullr control unit and difference update roll back method |
CN113721968A (en) * | 2021-08-31 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | Firmware upgrading method and device |
CN113721968B (en) * | 2021-08-31 | 2024-04-02 | 杭州海康威视数字技术股份有限公司 | Firmware upgrading method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7873956B2 (en) | Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor | |
CN104052818B (en) | The version upgrading method and device of a kind of mobile terminal | |
CN104346167B (en) | The method and device of channel bag is applied in generation | |
JP6033832B2 (en) | Apparatus and method for managing firmware verification on a wireless device | |
KR20080083512A (en) | Firmware over the air system | |
US7401065B2 (en) | System for downloading contents, and client terminal for downloading contents from contents server | |
CN103942058B (en) | A kind of EMBEDDED AVIONICS method for upgrading software and system | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
CN106612192A (en) | An equipment upgrading method, apparatus and system | |
CN106909404A (en) | Oftware updating method and system | |
CN105468393B (en) | Module release upgrade method and terminal installation | |
CN109908585B (en) | File processing method and system, computing device and storage medium | |
CN107122212A (en) | Firmware encrypting method | |
CN107797818A (en) | Application program updating method and device | |
CN112822199B (en) | OTA (over the air) upgrading method and system based on protocol conversion | |
CN111897846A (en) | Cache data verification method, device, equipment and storage medium | |
CN103761095B (en) | Method for generating universal upgrade file head data information | |
CN109462661B (en) | Data synchronization method and device, computer equipment and storage medium | |
CN117391099A (en) | Data downloading and checking method and system for smart card and storage medium | |
CN112286565A (en) | Embedded system differential upgrading method based on storage container | |
CN113225397A (en) | Firmware upgrading method and device for embedded equipment, terminal and storage medium | |
CN107122668A (en) | Firmware encrypting method | |
CN107783778B (en) | Increment upgrading method based on characteristic value table look-up method | |
CN113590161B (en) | Memory-controllable NB-IOT module differential upgrading method and system | |
CN101464876A (en) | Data updating method for electronic dictionary machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration | ||
NORF | Unpaid initial registration fee |