KR20070041155A - Method for firmware updating of a embedded system - Google Patents

Method for firmware updating of a embedded system Download PDF

Info

Publication number
KR20070041155A
KR20070041155A KR1020050097004A KR20050097004A KR20070041155A KR 20070041155 A KR20070041155 A KR 20070041155A KR 1020050097004 A KR1020050097004 A KR 1020050097004A KR 20050097004 A KR20050097004 A KR 20050097004A KR 20070041155 A KR20070041155 A KR 20070041155A
Authority
KR
South Korea
Prior art keywords
kernel
image
unit
new
embedded system
Prior art date
Application number
KR1020050097004A
Other languages
Korean (ko)
Other versions
KR100720274B1 (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 KR1020050097004A priority Critical patent/KR100720274B1/en
Publication of KR20070041155A publication Critical patent/KR20070041155A/en
Application granted granted Critical
Publication of KR100720274B1 publication Critical patent/KR100720274B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 임베디드 시스템의 펌웨어 업데이트 방법에 관한 것으로, 외부의 서버로부터 생성된 업데이트 패키지를 무선으로 제공받는 단계와, 상기 임베디드 시스템 내에 설치된 기존 커널이미지를 헤더부와 부분 압축된 커널부로 분리하는 단계와, 상기 부분 압축된 커널부를 압축해제하여 상기 기존 커널이미지의 헤더부와 병합한 후, 상기 제공된 업데이트 패키지와 변경 패칭(Delta Patching)을 수행하여 새로운 커널이미지를 생성하는 단계와, 상기 생성된 새로운 커널이미지를 헤더부와 커널부로 분리한 후, 상기 분리된 커널부를 압축하는 단계와, 상기 압축된 커널부와 상기 새로운 커널이미지의 헤더부를 병합하여 상기 기존 커널이미지 영역에 기록하는 단계를 포함함으로써, 무선상의 네트워크 효율성을 높이고 메모리자원을 최소화할 수 있을 뿐만 아니라 압축된 커널들의 변경(Delta) 크기를 최대한 줄일 수 있다.The present invention relates to a firmware update method of an embedded system, the method comprising wirelessly receiving an update package generated from an external server, and separating an existing kernel image installed in the embedded system into a header portion and a partially compressed kernel portion; Decompressing the partially compressed kernel unit and merging the header unit of the existing kernel image, and performing a change patching with the provided update package to generate a new kernel image, and the generated new kernel. Separating the image into a header portion and a kernel portion, and compressing the separated kernel portion, and merging the compressed kernel portion and the header portion of the new kernel image and recording them in the existing kernel image region. Network efficiency and minimize memory resources In addition, you can minimize the size of the changes made to the compressed kernels.

임베디드 시스템, 펌웨어, 업데이트, 리눅스, 커널이미지 Embedded Systems, Firmware, Updates, Linux, Kernel Images

Description

임베디드 시스템의 펌웨어 업데이트 방법{Method for firmware updating of a embedded system}{Method for firmware updating of a embedded system}

도 1은 본 발명에 적용된 임베디드 리눅스의 커널이미지를 설명하기 위한 구성도.1 is a block diagram for explaining a kernel image of the embedded Linux applied to the present invention.

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템의 펌웨어 업데이트 방법에서 업데이트 패키지를 생성하는 과정을 구체적으로 설명하기 위한 흐름도.2 is a flowchart illustrating a process of generating an update package in a firmware update method of an embedded system according to an embodiment of the present invention in detail.

도 3은 본 발명의 일 실시예에 따른 임베디드 시스템의 펌웨어 업데이트 방법에서 업데이트 패키지를 이용하여 새로운 커널이미지를 생성하는 과정을 구체적으로 설명하기 위한 흐름도.3 is a flowchart illustrating a process of generating a new kernel image in detail by using an update package in a firmware update method of an embedded system according to an exemplary embodiment of the present invention.

*** 도면의 주요 부분에 대한 부호 설명 ****** Explanation of symbols on main parts of drawing ***

100 : 리눅스 커널부, 200 : 압축해제부100: Linux kernel unit, 200: decompression unit

본 발명은 임베디드 시스템의 펌웨어 업데이트 방법에 관한 것으로, 보다 상 세하게는 무선환경에서 임베디드 리눅스(Embedded Linux)를 운영 시스템(Operating System, OS)으로 사용하는 임베디드 시스템의 펌웨어(Firmware) 업데이트 시 최소한의 비휘발성 메모리(Flash Memory)를 사용함과 아울러 네트워크의 효율성을 최대한 높일 수 있는 임베디드 시스템의 펌웨어 업데이트 방법에 관한 것이다.The present invention relates to a firmware update method of an embedded system, and more specifically, to a firmware update of an embedded system using embedded Linux as an operating system (OS) in a wireless environment. The present invention relates to a firmware update method of an embedded system that uses non-volatile memory and maximizes network efficiency.

최근에 무선 통신이 가능한 디바이스(Device)들은 점차 다양화되어가고, 수명 주기(life-cycle)가 짧아지고 있으며 새로운 서비스 및 기능들이 추가되는 등의 이유로 디바이스를 구동하는 펌웨어(Firmware)를 업데이트(Update)할 필요성도 높아지고 있다.In recent years, devices capable of wireless communication have been diversified, the life-cycle has been shortened, new services and functions have been added, and firmware for driving devices has been updated. The need to do this is increasing.

일반적으로, 기존 디바이스 펌웨어 업데이트의 경우 무선환경에 적합하지 않은 펌웨어 전체이미지 전송으로 버전 업데이트(Version Update)를 실시하였으며, 일부 운영 시스템(OS) 환경의 경우 변경 알고리즘(Delta Algorithm)을 이용하여 최소화된 업데이트 패키지(Update Package)를 생성 및 전송하였으나, 리눅스(Linux)와 같은 부분 압축된 커널이미지(Kernel Image)를 가진 디바이스에는 사용할 수 없었다.In general, in the case of updating the existing device firmware, a version update was performed by transmitting a whole image of the firmware that is not suitable for a wireless environment, and in some operating system (OS) environments, it was minimized by using a change algorithm (Delta Algorithm). I created and sent an update package, but I couldn't use it on a device with a partially compressed kernel image, such as Linux.

즉, 종래의 변경 처리(Delta Processing)를 통한 펌웨어 업데이트의 경우 통상의 이진 파일(Binary File)에 대한 처리만 고려하고 있기 때문에, 임베디드 리눅스(Embedded Linux)와 같은 부분 압축된 커널이미지의 경우 기존 버전(Old version)과 새로운 버전(New version)의 변경(Delta)을 생성하더라도 바이트(byte) 단위 비교에서 더욱 큰 복잡도를 나타낸다.In other words, in case of firmware update through the conventional Delta Processing, only the processing of the binary file is considered. Therefore, the existing version of the partially compressed kernel image such as Embedded Linux is considered. Creating a new version and a new version of Delta results in greater complexity in byte-by-byte comparisons.

따라서, 상기 생성된 업데이트 패키지의 크기(size)가 기존 커널이미지보다 비슷하거나 더 크게 만들어지므로, 상기 기존 커널이미지 크기만큼의 비휘발성 메모리(Flash Memory)의 여유공간이 필요하다.Therefore, since the size of the generated update package is made similar to or larger than that of the existing kernel image, free space of a nonvolatile memory (Flash Memory) corresponding to the size of the existing kernel image is required.

한편, 상업용 임베디드 시스템의 경우 원가절감을 위해 메모리 여유공간을 최소화하기 때문에, 종래의 변경 처리 방식으로는 임베디드 리눅스 커널이미지를 업데이트(Update)할 수 없으며, 기존 커널이미지 전체를 전송하는 방식은 네트워크 전송량 또한 늘어나기 때문에 출시제품에 대한 대량 업데이트 시 부적합하다.On the other hand, in the case of commercial embedded systems, since the free memory space is minimized for cost reduction, the conventional change processing method cannot update the embedded Linux kernel image. It also increases, making it unsuitable for mass updates of releases.

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 무선환경에서 임베디드 리눅스를 운영 시스템(OS)으로 사용하는 시스템의 펌웨어 업데이트 시 최소한의 비휘발성 메모리를 사용함과 아울러 무선상의 네트워크 효율성을 높이며, 압축된 커널들의 변경(Delta) 크기를 최대한 줄일 수 있는 임베디드 시스템의 펌웨어 업데이트 방법을 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to use a non-volatile memory at the time of firmware update of a system using embedded Linux as an operating system (OS) in a wireless environment, as well as wireless network To improve the efficiency and to reduce the size of the changes (Delta) of compressed kernels to provide a firmware update method of the embedded system.

전술한 목적을 달성하기 위하여 본 발명의 일 측면은, 임베디드 시스템의 펌웨어 업데이트 방법에 있어서, (a) 외부의 서버로부터 생성된 업데이트 패키지를 무선으로 제공받는 단계; (b) 상기 임베디드 시스템 내에 설치된 기존 커널이미지를 헤더부와 부분 압축된 커널부로 분리하는 단계; (c) 상기 부분 압축된 커널부를 압축해제하여 상기 기존 커널이미지의 헤더부와 병합한 후, 상기 제공된 업데이트 패키지와 변경 패칭(Delta Patching)을 수행하여 새로운 커널이미지를 생성하는 단계; (d) 상기 생성된 새로운 커널이미지를 헤더부와 커널부로 분리한 후, 상기 분리된 커널부를 압축하는 단계; 및 (e) 상기 압축된 커널부와 상기 새로운 커널이미지의 헤더부를 병합하여 상기 기존 커널이미지 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 임베디드 시스템의 펌웨어 업데이트 방법을 제공하는 것이다.In order to achieve the above object, an aspect of the present invention, a firmware update method for an embedded system, comprising: (a) wirelessly receiving an update package generated from an external server; (b) separating an existing kernel image installed in the embedded system into a header part and a partially compressed kernel part; (c) decompressing the partially compressed kernel unit and merging it with the header portion of the existing kernel image, and then performing a new patch image with the provided update package to generate a new kernel image; (d) dividing the generated new kernel image into a header unit and a kernel unit, and then compressing the separated kernel unit; And (e) merging the compressed kernel unit and the header unit of the new kernel image and writing the merged kernel unit into the existing kernel image region.

여기서, 상기 단계(a)에서 상기 업데이트 패키지의 생성은, (a-1) 기존 및 새로운 커널이미지를 각각 헤더부와 압축된 커널부로 분리하는 단계; (a-2) 상기 기존 및 새로운 커널이미지의 압축된 커널부를 압축해제하여 상기 기존 및 새로운 커널이미지의 헤더부와 각각 병합하는 단계; 및 (a-3) 상기 병합된 기존 커널이미지와 새로운 커널이미지를 이용하여 변경 생성(Delta Generating)을 수행하는 단계를 포함함이 바람직하다.In the step (a), the generation of the update package may include: (a-1) dividing the old and new kernel images into a header unit and a compressed kernel unit, respectively; (a-2) decompressing the compressed kernel parts of the old and new kernel images and merging them with the header parts of the old and new kernel images, respectively; And (a-3) performing change generation using the merged existing kernel image and the new kernel image.

바람직하게는, 상기 단계(d)에서, 상기 분리된 커널부는 gzip 압축방식을 이용하여 압축한다.Preferably, in step (d), the separated kernel unit compresses using gzip compression.

바람직하게는, 상기 임베디드 시스템은 임베디드 리눅스를 운영 시스템(OS)으로 사용한다.Preferably, the embedded system uses embedded Linux as an operating system (OS).

이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention illustrated below may be modified in many different forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art.

도 1은 본 발명에 적용된 임베디드 리눅스의 커널이미지를 설명하기 위한 구성도이다.1 is a block diagram illustrating a kernel image of an embedded Linux according to the present invention.

도 1을 참조하면, 본 발명에 적용된 임베디드 리눅스의 커널이미지(Kernel Image)는 예컨대, Piggy.o가 gzip으로 압축되어 있는 리눅스 커널부(100)와 압축을 풀어주기 위한 압축해제부(Head+misc)(200)로 구성되어 있다.Referring to Figure 1, the kernel image (Kernel Image) of the embedded Linux applied to the present invention is, for example, Piggy.o Linux kernel unit 100 is compressed by gzip and decompression unit (Head + misc) for decompression 200).

이때, 상기 리눅스 커널부(100)의 시작은 예컨대, gzip 매직 헤더(Magic Header)인 '1F 8B = \037\213'으로 시작하게 된다.At this time, the Linux kernel unit 100 starts with, for example, '1F 8B = \ 037 \ 213', which is a gzip magic header.

상기 압축해제부(200)의 마지막은 'Uncompressing Linux...'로 끝나므로 커널 시작부분의 주소(address)를 알아낼 수 있어, 헤더부(Header)와 상기 압축된 리눅스 커널부(100)를 용이하게 분리할 수 있다.Since the end of the decompression unit 200 ends with 'Uncompressing Linux ...', the address of the beginning of the kernel can be determined, thereby facilitating a header and the compressed Linux kernel unit 100. Can be separated.

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템의 펌웨어 업데이트 방법에서 업데이트 패키지를 생성하는 과정을 구체적으로 설명하기 위한 흐름도로서, 통상의 이진 차분 알고리즘(Binary Difference Algorithm)을 이용하여 업데이트 패키지(Update Package)를 생성하는 변경 생성(Delta Generate)과정이다.FIG. 2 is a flowchart illustrating a process of generating an update package in a firmware update method of an embedded system according to an embodiment of the present invention. The update package may be updated using a conventional binary difference algorithm. This is the process of generating Delta to generate a package.

도 2를 참조하면, 먼저, 외부의 업데이트 서버(Server)(미도시)에서는 임베디드 리눅스를 운영 시스템(OS)으로 사용하는 임베디드 시스템(예컨대, 노트북, 휴대폰, PDA, 디지털 카메라, MP3 플레이어, 셋톱박스 및 디지털 캠코더 등)으로부터 펌웨어 업데이트 요청을 받을 경우, 상기 임베디드 시스템으로부터 기존(Old) 커널이미지를 무선으로 전송 받게 된다.Referring to FIG. 2, first, an external update server (not shown) includes an embedded system (eg, a laptop, a mobile phone, a PDA, a digital camera, an MP3 player, a set-top box) using an embedded Linux as an operating system (OS). And a firmware update request from a digital camcorder, etc., to wirelessly transmit an old kernel image from the embedded system.

이후에, 상기 업데이트 서버는 통상의 이진 차분 알고리즘(Binary Difference Algorithm)을 이용하여 업데이트 패키지(Update Package)를 생성한다.Thereafter, the update server generates an update package by using a conventional binary difference algorithm.

즉, 기존(Old) 커널이미지 및 새로운(New) 커널이미지 각각에 대해서 헤더부(Header)와 압축된 커널부를 분리하고(S100), 상기 기존 커널이미지 및 상기 새로운 커널이미지의 압축된 커널부를 압축해제(Decompress)한 후(S110), 상기 압축해제된 기존 커널이미지 및 상기 새로운 커널이미지의 커널부와 상기 기존 커널이미지 및 상기 새로운 커널이미지의 헤더부를 각각 병합한다(S120).That is, for each of the old kernel image and the new kernel image, the header part and the compressed kernel part are separated (S100), and the compressed kernel part of the existing kernel image and the new kernel image are decompressed. After decompressing (S110), the kernel portion of the decompressed old kernel image and the new kernel image and the header portion of the old kernel image and the new kernel image are merged (S120).

다음으로, 상기 각각 병합된 두 커널이미지 즉, 기존 커널이미지와 새로운 커널이미지를 이용하여 변경 생성(Delta Generating)을 과정을 거쳐 업데이트 패키지(Update Package)를 생성한다(S130).Next, an update package is generated through a process of generating a change (Delta Generating) using the two merged kernel images, that is, the existing kernel image and the new kernel image (S130).

한편, 상기 임베디드 시스템에서는 상기 업데이트 서버로부터 생성된 업데이트 패키지를 무선으로 제공받게 된다.In the embedded system, an update package generated from the update server is wirelessly provided.

도 3은 본 발명의 일 실시예에 따른 임베디드 시스템의 펌웨어 업데이트 방법에서 업데이트 패키지를 이용하여 새로운 커널이미지를 생성하는 과정을 구체적으로 설명하기 위한 흐름도로서, 상기 업데이트 서버로부터 제공받은 업데이트 패키지(Update Package)를 이용하여 기존 커널이미지와 대조하여 새로운 커널이미지를 만들어내는 변경 패치(Delta Patch)과정이다.FIG. 3 is a flowchart illustrating a process of generating a new kernel image using an update package in a firmware update method of an embedded system according to an embodiment of the present invention. An update package provided from the update server is shown in FIG. ) Is a patch patch process that creates a new kernel image against the existing kernel image.

도 3을 참조하면, 먼저, 상기 임베디드 시스템 내에 설치된 기존 커널이미지에 대해서 헤더부(Header)와 부분 압축된 커널부로 분리하고(S200), 상기 부분 압축된 커널부를 압축해제(Decompress)한 후(S210), 상기 분리된 기존 커널이미지의 헤더부와 상기 압축해제된 커널부를 병합한 후(S220), 상기 병합된 기존 커널이미 지와 상기 업데이트 서버로부터 제공받은 업데이트 패키지를 이용하여 변경 패칭(Delta Patching) 과정을 거쳐 새로운 커널이미지를 생성한다(S230).Referring to FIG. 3, first, a header part and a partially compressed kernel part are separated from an existing kernel image installed in the embedded system (S200), and then the decompressed kernel part is decompressed (S210). ), After merging the header portion of the separated existing kernel image and the decompressed kernel portion (S220), change patching using the merged existing kernel image and the update package provided from the update server (Delta Patching) A new kernel image is generated through the process (S230).

다음으로, 상기 생성된 새로운 커널이미지에 대해서 임베디드 리눅스 커널형태로 저장하기 위해 커널부만을 떼어낸 후 즉, 헤더부와 커널부로 분리한 후(S240), 상기 분리된 커널부를 예컨대, gzip 압축방식을 이용하여 압축한다(S250).Next, after removing the kernel unit only to store the generated new kernel image in the form of embedded Linux kernel, that is, separating the header unit and the kernel unit (S240), for example, gzip compression method is used. Compress using (S250).

이후에, 상기 압축된 커널부와 상기 새로운 커널이미지의 헤더부를 병합하여(S260) 상기 기존 커널이미지가 있던 비휘발성 메모리(Flash Memory) 주소에 대체하여 기록(Writing)한다(S270).Subsequently, the compressed kernel unit and the header unit of the new kernel image are merged (S260) and replaced by a nonvolatile memory (Flash Memory) address where the existing kernel image is located (Writing).

한편, 본 발명에 따른 임베디드 시스템의 펌웨어 업데이트 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.On the other hand, the firmware update method of the embedded system according to the present invention can also be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.

예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다.For example, the computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, a removable storage device, a nonvolatile memory (Flash memory). Optical data storage, and the like, and also implemented in the form of a carrier wave (eg, transmission over the Internet).

또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.The computer readable recording medium can also be distributed over computer systems connected over a computer network so that the computer readable code is stored and executed in a distributed fashion.

전술한 본 발명에 따른 임베디드 시스템의 펌웨어 업데이트 방법에 대한 바 람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.Although a preferred embodiment of the firmware update method of the embedded system according to the present invention has been described above, the present invention is not limited thereto, but the scope of the claims and the detailed description of the invention and the accompanying drawings are various. It is possible to carry out modifications and this also belongs to the present invention.

이상에서 설명한 바와 같은 본 발명의 임베디드 시스템의 펌웨어 업데이트 방법에 따르면, 무선환경에서 임베디드 리눅스를 운영 시스템(OS)으로 사용하는 시스템의 펌웨어 업데이트 시 최소한의 비휘발성 메모리를 사용함과 아울러 무선상의 네트워크 효율성을 높이며, 압축된 커널들의 변경(Delta) 크기를 최대한 줄일 수 있는 이점이 있다.According to the firmware update method of the embedded system of the present invention as described above, at the time of the firmware update of the system using the embedded Linux as an operating system (OS) in a wireless environment using a minimum non-volatile memory and improve the network efficiency over the wireless It has the advantage of increasing the size of the compressed kernels (Delta) as much as possible.

Claims (5)

임베디드 시스템의 펌웨어 업데이트 방법에 있어서,In the firmware update method of the embedded system, (a) 외부의 서버로부터 생성된 업데이트 패키지를 무선으로 제공받는 단계;(a) wirelessly receiving an update package generated from an external server; (b) 상기 임베디드 시스템 내에 설치된 기존 커널이미지를 헤더부와 부분 압축된 커널부로 분리하는 단계;(b) separating an existing kernel image installed in the embedded system into a header part and a partially compressed kernel part; (c) 상기 부분 압축된 커널부를 압축해제하여 상기 기존 커널이미지의 헤더부와 병합한 후, 상기 제공된 업데이트 패키지와 변경 패칭(Delta Patching)을 수행하여 새로운 커널이미지를 생성하는 단계;(c) decompressing the partially compressed kernel unit and merging it with the header portion of the existing kernel image, and then performing a new patch image with the provided update package to generate a new kernel image; (d) 상기 생성된 새로운 커널이미지를 헤더부와 커널부로 분리한 후, 상기 분리된 커널부를 압축하는 단계; 및(d) dividing the generated new kernel image into a header unit and a kernel unit, and then compressing the separated kernel unit; And (e) 상기 압축된 커널부와 상기 새로운 커널이미지의 헤더부를 병합하여 상기 기존 커널이미지 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 임베디드 시스템의 펌웨어 업데이트 방법.and (e) merging the compressed kernel unit and the header unit of the new kernel image and writing the merged kernel unit into the existing kernel image region. 제 1 항에 있어서, 상기 단계(a)에서 상기 업데이트 패키지의 생성은,The method of claim 1, wherein the generation of the update package in step (a), (a-1) 기존 및 새로운 커널이미지를 각각 헤더부와 압축된 커널부로 분리하는 단계;(a-1) dividing the old and new kernel images into a header portion and a compressed kernel portion, respectively; (a-2) 상기 기존 및 새로운 커널이미지의 압축된 커널부를 압축해제하여 상기 기존 및 새로운 커널이미지의 헤더와 각각 병합하는 단계; 및(a-2) decompressing the compressed kernel unit of the old and new kernel images and merging them with the headers of the old and new kernel images, respectively; And (a-3) 상기 병합된 기존 커널이미지와 새로운 커널이미지를 이용하여 변경 생성(Delta Generating)을 수행하는 단계를 포함하는 것을 특징으로 하는 임베디드 시스템의 펌웨어 업데이트 방법.(a-3) A firmware update method for an embedded system, comprising performing a change generation using a merged existing kernel image and a new kernel image. 제 1 항에 있어서, 상기 단계(d)에서, 상기 분리된 커널부는 gzip 압축방식을 이용하여 압축하는 것을 특징으로 하는 임베디드 시스템의 펌웨어 업데이트 방법.The method of claim 1, wherein in the step (d), the separated kernel unit compresses using a gzip compression method. 제 1 항에 있어서, 상기 임베디드 시스템은 임베디드 리눅스를 운영 시스템(OS)으로 사용하는 것을 특징으로 하는 임베디드 시스템의 펌웨어 업데이트 방법.The method of claim 1, wherein the embedded system uses embedded Linux as an operating system (OS). 제 1 항 내지 제 4 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program capable of executing the method of any one of claims 1 to 4.
KR1020050097004A 2005-10-14 2005-10-14 Method for firmware updating of a embedded system KR100720274B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050097004A KR100720274B1 (en) 2005-10-14 2005-10-14 Method for firmware updating of a embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050097004A KR100720274B1 (en) 2005-10-14 2005-10-14 Method for firmware updating of a embedded system

Publications (2)

Publication Number Publication Date
KR20070041155A true KR20070041155A (en) 2007-04-18
KR100720274B1 KR100720274B1 (en) 2007-05-22

Family

ID=38176667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050097004A KR100720274B1 (en) 2005-10-14 2005-10-14 Method for firmware updating of a embedded system

Country Status (1)

Country Link
KR (1) KR100720274B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860753B1 (en) * 2007-01-03 2008-09-29 삼성전자주식회사 Apparatus and method for firmware upgrade
WO2015034490A1 (en) * 2013-09-04 2015-03-12 Hewlett-Packard Development Company, L.P. Header section download of package

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595199A (en) * 2018-04-19 2018-09-28 济南浪潮高新科技投资发展有限公司 A kind of method of key upgrading embedded system firmware

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149508B2 (en) * 2003-02-05 2006-12-12 Samsung Electronics Co., Ltd. System and method for delta-based over-the-air software upgrades for a wireless mobile station

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860753B1 (en) * 2007-01-03 2008-09-29 삼성전자주식회사 Apparatus and method for firmware upgrade
WO2015034490A1 (en) * 2013-09-04 2015-03-12 Hewlett-Packard Development Company, L.P. Header section download of package
US10110594B2 (en) 2013-09-04 2018-10-23 Hewlett-Packard Development Company, L.P. Header section download of package

Also Published As

Publication number Publication date
KR100720274B1 (en) 2007-05-22

Similar Documents

Publication Publication Date Title
US7669195B1 (en) Electronic device network supporting compression and decompression in electronic devices and update generator
US8090027B2 (en) Data compression using an arbitrary-sized dictionary
US8698657B2 (en) Methods and systems for compressing and decompressing data
US20130167133A1 (en) Method, terminal and system for upgrading software version
US11513783B2 (en) Control apparatus, program update system, and program update method
JP4814292B2 (en) Data compression and decompression apparatus and method
CN110870287B (en) Over-the-air (OTA) update of partially compressed firmware
US12003580B2 (en) Techniques for updating files
US20060200502A1 (en) Differential data creating device and method, updated data recovery device and method, and program
US7605721B2 (en) Adaptive entropy coding compression output formats
KR100720274B1 (en) Method for firmware updating of a embedded system
JP2018521537A (en) Improved compressed caching in virtual memory systems
US10565182B2 (en) Hardware LZMA compressor
KR100601626B1 (en) Software upgrade method and computer-readable medium therefor
CN108880559B (en) Data compression method, data decompression method, compression equipment and decompression equipment
KR20070010353A (en) Method for compression of executable file in mobile telecommunication terminal
US8854234B1 (en) Decompression circuit and associated decompression method
US10387054B2 (en) Secure element including a non-volatile memory and methods for saving and restoring data including defragmenting and compressing data stored in occupied and free regions
US11789708B2 (en) Compression of firmware updates
CN111970161B (en) Internet of things application differential upgrading method based on address prediction
CN114095037A (en) Application program updating method, updating data compression method, device and equipment
US8228216B2 (en) Systems and methods for data compression
EP2245743B1 (en) Methods for compressing and decompressing mifare applications
JP2016134808A (en) Data compression program, data decompression program, data compression device, and data decompression device
KR101909500B1 (en) Management Device for Log Data and Management System for Log Data

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120404

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130408

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee