KR20160103919A - 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법, 장치, 프로그램 및 저장매체 - Google Patents

펌 웨어 압축 방법, 펌 웨어 압축 해제 방법, 장치, 프로그램 및 저장매체 Download PDF

Info

Publication number
KR20160103919A
KR20160103919A KR1020157036876A KR20157036876A KR20160103919A KR 20160103919 A KR20160103919 A KR 20160103919A KR 1020157036876 A KR1020157036876 A KR 1020157036876A KR 20157036876 A KR20157036876 A KR 20157036876A KR 20160103919 A KR20160103919 A KR 20160103919A
Authority
KR
South Korea
Prior art keywords
segment
address
information
data segment
compression
Prior art date
Application number
KR1020157036876A
Other languages
English (en)
Other versions
KR101852087B1 (ko
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 시아오미 아이엔씨.
Publication of KR20160103919A publication Critical patent/KR20160103919A/ko
Application granted granted Critical
Publication of KR101852087B1 publication Critical patent/KR101852087B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6058Saving memory space in the encoder or decoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

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)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은, 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법 및 장치에 관한 것으로, 컴퓨터 기술 분야에 속한다. 상기 방법은, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하는 단계; 코드 세그먼트 및 데이터 세그먼트를 각각 압축하는 단계; 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계를 포함한다. 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.

Description

펌 웨어 압축 방법, 펌 웨어 압축 해제 방법 및 장치{METHOD AND DEVICE FOR COMPRESSING FIRMWARE PROGRAM, METHOD AND DEVICE FOR DECOMPRESSING FIRMWARE PROGRAM}
본원 발명은, 출원 번호가 CN201510044885.X이고, 출원일자가 2015 년 1 월 29 일인 중국 특허 출원을 기초로 하여 우선권을 주장하는 바, 당해 중국 특허 출원의 전부 내용은 본원 발명에 원용된다.
본 발명은, 컴퓨터 기술 분야에 관한 것으로, 특히 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법 및 장치에 관한 것이다.
펌 웨어란, 전자 기기의 최하층의 작업을 담당하는 소프트웨어로써, 전자 기기의 일반적인 동작을 지원하는 소프트웨어이다. 일반적으로, 전자 기기의 기능이 복잡해 질수록, 전자 기기에 필요한 펌 웨어도 커지게 된다. 즉, 당해 펌 웨어를 저장하기 위한 저장 스페이스도 커진다.
관련 기술에서 펌 웨어가 전자 기기 내에서 차지하는 저장 스페이스를 감소시키기 위하여, 일반적으로 펌 웨어를 하나의 통일체로 압축한다. 전자 기기는, 펌 웨어를 수행하려고 할때, 압축 후의 펌 웨어를 압축 해제한 후, 압축 해제 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소에 기반하여 압축 해제하여 얻은 펌 웨어 내의 코드 세그먼트를 당해 제 1 압축 해제 주소로 카피하고, 압축 해제 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소에 기반하여 압축 해제 후의 데이터 세그먼트를 당해 제 2 압축 해제 주소로 카피한다.
본 발명은, 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법 및 장치를 제공한다. 그 구성은 아래와 같다.
본 발명에 따른 실시예의 제 1 양태에 따르면, 펌 웨어 압축 방법을 제공한다.
당해 방법은,
펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하는 단계;
코드 세그먼트 및 데이터 세그먼트를 각각 압축하는 단계;
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계;
를 포함한다.
옵션으로서, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하는 단계는,
코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소를 확정하는 단계;
제 3 저장 주소에 기반하여 코드 세그먼트를 판독하고, 제 4 저장 주소에 기반하여 데이터 세그먼트를 판독하는 단계
를 포함한다.
옵션으로서, 코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소를 확정하는 단계는,
펌 웨어에 대응되는 제 2 정보 세그먼트를 판독하는 단계;
제 2 정보 세그먼트 내에 제 3 저장 주소 및 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 제 3 저장 주소 및 제 4 저장 주소를 확정하는 단계;
제 2 정보 세그먼트 내에 코드 세그먼트의 시작 저장 주소, 코드 세그먼트의 크기, 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 코드 세그먼트의 시작 저장 주소 및 코드 세그먼트의 크기에 기반하여 제 3 저장 주소를 확정하고, 판독한 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기에 기반하여 제 4 저장 주소를 확정하는 단계
를 포함한다.
옵션으로서, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계는,
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 저장 주소를 설정하여, 제 1 저장 주소를 제 1 주소 정보로 확정하고, 제 2 저장 주소를 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트에 각각 대응되는 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 코드 세그먼트의 크기 및 압축 후의 데이터 세그먼트의 크기를 취득하여, 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 1 주소 정보로 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 2 주소 정보로 확정하는 단계;
제 1 압축 해제 주소 및 제 2 압축 해제 주소를 설정하는 단계
를 포함한다.
옵션으로서, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계는,
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 취득하는 단계;
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 1 정보 세그먼트에 저장하는 단계
를 포함한다.
옵션으로서, 코드 세그먼트 및 데이터 세그먼트를 각각 압축하는 단계는,
코드 세그먼트 및 데이터 세그먼트 중의 적어도 하나를 분할하는 단계;
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트를 압축하는 단계;
분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트를 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하는 단계;
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하는 단계
를 포함한다.
본 발명에 따른 실시예의 제 2 양태에 따르면, 펌 웨어 압축 해제 방법을 제공한다.
당해 방법은,
압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하는 단계;
제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득하는 단계;
압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제하는 단계
를 포함한다.
옵션으로서, 제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득하는 단계는,
제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하는 단계;
제 1 저장 주소로부터 압축 후의 코드 세그먼트를 판독하고, 제 2 저장 주소로부터 압축 후의 데이터 세그먼트를 판독하는 단계
를 포함한다.
옵션으로서, 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하는 단계는,
제 1 주소 정보가 제 1 저장 주소이고, 제 2 주소 정보가 제 2 저장 주소이면, 판독한 내용에 기반하여 제 1 저장 주소 및 제 2 저장 주소를 확정하는 단계;
제 1 주소 정보가 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기이고, 제 2 주소 정보가 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 크기이면, 압축 후의 코드 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 1 저장 주소를 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 2 저장 주소를 확정하는 단계
를 포함한다.
옵션으로서, 제 1 정보 세그먼트 내에는 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기가 더 포함되어 있으며,
당해 방법은,
압축 전의 코드 세그먼트 및 압축 전의 데이터 세그먼트의 총 크기를 산출하는 단계;
총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출하는 단계;
총 크기가 펌 웨어 수행 스페이스를 초과하면 펌 웨어에 에러가 발생하였다고 제시하는 단계
를 더 포함한다.
본 발명에 따른 실시예의 제 3 양태에 따르면, 펌 웨어 압축 장치를 제공한다.
당해 장치는,
펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하기 위한 취득 모듈;
코드 세그먼트 및 데이터 세그먼트를 각각 압축하기 위한 압축 모듈;
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하기 위한 정보 세그먼트 설정 모듈
을 구비한다.
옵션으로서, 당해 취득 모듈은,
코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소를 확정하기 위한 주소 확정 서브 모듈;
제 3 저장 주소에 기반하여 코드 세그먼트를 판독하고, 제 4 저장 주소에 기반하여 데이터 세그먼트를 판독하기 위한 취득 서브 모듈;
을 구비한다.
옵션으로서, 당해 주소 확정 서브 모듈은,
펌 웨어에 대응되는 제 2 정보 세그먼트를 판독하기 위한 정보 세그먼트 판독 서브 모듈;
제 2 정보 세그먼트 내에 제 3 저장 주소 및 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 제 3 저장 주소 및 제 4 저장 주소를 확정하기 위한 제 1 확정 서브 모듈;
제 2 정보 세그먼트 내에 코드 세그먼트의 시작 저장 주소, 코드 세그먼트의 크기, 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 코드 세그먼트의 시작 저장 주소 및 코드 세그먼트의 크기에 기반하여 제 3 저장 주소를 확정하고, 판독한 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기에 기반하여 제 4 저장 주소를 확정하기 위한 제 2 확정 서브 모듈
을 구비한다.
옵션으로서, 당해 정보 세그먼트 설정 모듈은,
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 저장 주소를 설정하여, 제 1 저장 주소를 제 1 주소 정보로 확정하고, 제 2 저장 주소를 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트에 각각 대응되는 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 코드 세그먼트의 크기 및 압축 후의 데이터 세그먼트의 크기를 취득하여, 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 1 주소 정보로 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 2 주소 정보로 확정하기 위한 제 1 설정 서브 모듈;
제 1 압축 해제 주소 및 제 2 압축 해제 주소를 설정하기 위한 제 2 설정 서브 모듈
을 구비한다.
옵션으로서, 당해 정보 세그먼트 설정 모듈은,
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 취득하기 위한 크기 취득 서브 모듈;
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 1 정보 세그먼트에 저장하기 위한 크기 저장 서브 모듈
을 더 구비한다.
옵션으로서, 당해 압축 모듈은,
코드 세그먼트 및 데이터 세그먼트 중의 적어도 하나를 분할하기 위한 분할 서브 모듈;
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트를 압축하기 위한 제 1 압축 서브 모듈;
분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트를 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 2 압축 서브 모듈;
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 3 압축 서브 모듈
을 구비한다.
본 발명에 따른 실시예의 제 4 양태에 따르면, 펌 웨어 압축 해제 장치를 제공한다.
당해 장치는,
압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하기 위한 정보 세그먼트 판독 모듈;
제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득하기 위한 취득 모듈;
압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제하기 위한 압축 해제 모듈
을 구비한다.
옵션으로서, 당해 취득 모듈은,
제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하기 위한 주소 확정 서브 모듈;
제 1 저장 주소로부터 압축 후의 코드 세그먼트를 판독하고, 제 2 저장 주소로부터 압축 후의 데이터 세그먼트를 판독하기 위한 취득 서브 모듈
을 구비한다.
옵션으로서, 당해 주소 확정 서브 모듈은,
제 1 주소 정보가 제 1 저장 주소이고, 제 2 주소 정보가 제 2 저장 주소이면, 판독한 내용에 기반하여 제 1 저장 주소 및 제 2 저장 주소를 확정하기 위한 제 1 확정 서브 모듈;
제 1 주소 정보가 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기이고, 제 2 주소 정보가 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 크기이면, 압축 후의 코드 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 1 저장 주소를 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 2 저장 주소를 확정하기 위한 제 2 확정 서브 모듈
을 구비한다.
옵션으로서, 제 1 정보 세그먼트 내에는 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기가 더 포함되어 있으며,
당해 장치는,
압축 전의 코드 세그먼트 및 압축 전의 데이터 세그먼트의 총 크기를 산출하기 위한 산출 모듈;
총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출하기 위한 검출 모듈;
모듈의 검출 결과가, 총 크기가 펌 웨어 수행 스페이스를 초과하는 것이면, 펌 웨어에 에러가 발생하였다고 제시하기 위한 제시 모듈
을 더 구비한다.
본 발명에 따른 실시예의 제 5 양태에 따르면, 펌 웨어 압축 장치를 제공한다.
당해 장치는,
프로세서; 및
상기 프로세서에 의해 수행되는 명령을 기억하는 메모리
를 구비하고,
프로세서는,
펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하고,
코드 세그먼트 및 데이터 세그먼트를 각각 압축하고,
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하도록
구성된다.
본 발명에 따른 실시예의 제 6 양태에 따르면, 펌 웨어 압축 해제 장치를 제공한다.
당해 장치는,
프로세서; 및
상기 프로세서에 의해 수행되는 명령을 기억하는 메모리
를 구비하고,
프로세서는,
압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하고,
제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득하고,
압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제하도록
구성된다.
본 발명의 실시예가 제공하는 구성의 유익한 효과는 아래와 같다.
펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정함으로써, 전자 기기가, 펌 웨어를 수행하려고 할때 제 1 정보 세그먼트에 기반하여 직접 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하고, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
이상의 일반적인 설명과 후술되는 세부사항은 단지 예시적인 것일뿐, 본 발명을 한정하기 위한 것이 아니라는 것을 이해해야 할 것이다.
여기서의 도면은, 명세서에 합병되어 본 명세서의 일부를 구성하는 바, 본 발명에 따르는 실시 예를 설명하기 위한것이다. 당해 도면들은 명세서와 함께 본 발명의 원리를 분석하는데 이용된다.
도 1은, 예시적인 일 실시예에 따른 펌 웨어 압축 방법을 나타내는 플로차트이다.
도 2 a는, 예시적인 다른 일 실시예에 따른 펌 웨어 압축 방법을 나타내는 플로차트이다.
도 2 b는, 예시적인 다른 일 실시예에 따른 제 3 저장 주소 및 제 4 저장 주소를 확정하기 위한 확정 방법을 나타내는 플로차트이다.
도 2 c는, 예시적인 다른 일 실시예에 따른 제 1 정보 세그먼트를 설정하기 위한 설정 방법을 나타내는 플로차트이다.
도 2 d는, 예시적인 다른 일 실시예에 따른 제 1 정보 세그먼트를 설정하기 위한 다른 일 설정 방법을 나타내는 플로차트이다.
도 2 e는, 예시적인 다른 일 실시예에 따른 코드 세그먼트 및 데이터 세그먼트를 압축하기 위한 압축 방법을 나타내는 플로차트이다.
도 3은, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 방법을 나타내는 플로차트이다.
도 4 a는, 예시적인 다른 일 실시예에 따른 펌 웨어 압축 해제 방법을 나타내는 플로차트이다.
도 4 b는, 예시적인 다른 일 실시예에 따른 제 1 저장 주소 및 제 2 저장 주소를 확정하기 위한 확정 방법을 나타내는 플로차트이다.
도 4 c는, 예시적인 다른 일 실시예에 따른 펌 웨어에 에러가 있는지 여부를 검출하는 흐름을 나타내는 플로차트이다.
도 5는, 예시적인 일 실시예에 따른 펌 웨어 압축 장치를 나타내는 블럭도이다.
도 6 a는, 예시적인 다른 일 실시예에 따른 펌 웨어 압축 장치를 나타내는 블럭도이다.
도 6 b는, 예시적인 다른 일 실시예에 따른 주소 확정 서브 모듈을 나타내는 블럭도이다.
도 6 c는, 예시적인 다른 일 실시예에 따른 압축 모듈을 나타내는 블럭도이다.
도 7은, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 장치를 나타내는 블럭도이다.
도 8 a는, 예시적인 다른 일 실시예에 따른 펌 웨어 압축 해제 장치를 나타내는 블럭도이다.
도 8 b는, 예시적인 다른 일 실시예에 따른 주소 확정 서브 모듈을 나타내는 블럭도이다.
도 9는, 예시적인 일 실시예에 따른 펌 웨어를 압축하기 위한 장치를 나타내는 블럭도이다.
도 10은, 예시적인 일 실시예에 따른 펌 웨어를 압축 해제하기 위한 장치를 나타내는 블럭도이다.
여기서, 예시적인 실시 예를 상세하게 설명하는 바, 도면에 설명중의 예를 나타낸다. 다음의 설명중에서, 도면을 설명 할때 특별한 설명이 없는 경우, 서로 다른 도면 중의 동일한 부호는 동일하거나 유사한 요소를 의미한다. 아래의 예시적인 실시 예에서 설명하는 실시 방법은 본 발명에 따른 모든 실시 방법을 대표하지 않는다. 반대로, 이들은 첨부된 특허 청구 범위에서 상세하게 기술된 본 발명의 여러 양태와 매칭한 장치 및 방법의 예에 불과하다.
우선 이해의 편리를 위하여, 각 실시예에 따른 각 명사를 간단하게 설명한다.
코드 세그먼트는, "txt 세그먼트"라고도 하며, 펌 웨어 내의 수행 가능한 코드를 저장한다.
데이터 세그먼트는, "data 세그먼트"라고도 하며, 펌 웨어 코드를 수행하는데 필요한 글로벌 정적 데이터를 저장한다.
도 1은, 예시적인 일 실시예에 따른 펌 웨어 압축 방법을 나타내는 플로차트이다. 도 1에 나타낸바와 같이, 당해 펌 웨어 압축 방법은 아래의 단계를 포함할수 있다.
단계 101에 있어서, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득한다.
단계 102에 있어서, 코드 세그먼트 및 데이터 세그먼트를 각각 압축한다.
단계 103에 있어서, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정한다.
상기와 같이, 본 발명에 따른 실시예에 의해 제공되는 펌 웨어 압축 방법에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정함으로써, 전자 기기가, 펌 웨어를 수행하려고 할때 제 1 정보 세그먼트에 기반하여 직접 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하고, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
도 2 a는, 예시적인 일 실시예에 따른 펌 웨어 압축 방법을 나타내는 플로차트이다. 도 2 a에 나타낸바와 같이, 당해 펌 웨어 압축 방법은 아래의 단계를 포함할수 있다.
단계 201에 있어서, 코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소를 확정한다.
서버에는 코드 세그먼트 및 데이터 세그먼트를 포함한 펌 웨어가 저장되어 있다. 서버는, 펌 웨어를 압축할 필요가 있으면, 코드 세그먼트의 서버중에서의 제 3 저장 주소 및 데이터 세그먼트의 서버중에서의 제 4 저장 주소를 확정할수 있다.
도 2 b를 참조하면, 본단계는 아래의 단계를 포함할수 있다.
단계 201 a에 있어서, 펌 웨어에 대응되는 제 2 정보 세그먼트를 판독한다.
서버는 펌 웨어를 저장하는 동시에 펌 웨어에 대응되는 제 2 정보 세그먼트를 더 저장할수 있다. 당해 제 2 정보 세그먼트는 제 3 저장 주소 및 제 4 저장 주소를 포함하거나, 혹은, 코드 세그먼트의 시작 저장 주소, 코드 세그먼트의 크기, 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기를 포함할수 있다. 때문에, 서버는, 제 3 저장 주소 및 제 4 저장 주소를 확정할 필요가 있으면, 당해 제 2 정보 세그먼트를 판독할수 있다.
단계 201 b에 있어서, 제 2 정보 세그먼트 내에 제 3 저장 주소 및 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 제 3 저장 주소 및 제 4 저장 주소를 확정한다.
단계 201 c에 있어서, 제 2 정보 세그먼트 내에 코드 세그먼트의 시작 저장 주소, 코드 세그먼트의 크기, 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 코드 세그먼트의 시작 저장 주소 및 코드 세그먼트의 크기에 기반하여 제 3 저장 주소를 확정하고, 판독한 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기에 기반하여 제 4 저장 주소를 확정한다.
예를 들면, 제 2 정보 세그먼트 내에 저장되어 있는 코드 세그먼트의 시작 저장 주소가 D1이고, 코드 세그먼트의 크기가 S1이며, S1크기의 코드 세그먼트를 저장하는데 필요한 저장 스페이스가 d1이라고 하면, 제 3 저장 주소는 D1 ~D1 + d1이다.
단계 202에 있어서, 제 3 저장 주소에 기반하여 코드 세그먼트를 판독하고, 제 4 저장 주소에 기반하여 데이터 세그먼트를 판독한다.
서버는 제 3 저장 주소 및 제 4 저장 주소를 확정한 후, 제 3 저장 주소로부터 코드 세그먼트를 판독하고, 제 4 저장 주소로부터 데이터 세그먼트를 판독할수 있다.
예를 들면, 서버는, D1~D1+d1로부터 코드 세그먼트를 판독한다.
단계 203에 있어서, 코드 세그먼트 및 데이터 세그먼트를 각각 압축한다.
서버는, 판독한 코드 세그먼트를 압축하고, 판독한 데이터 세그먼트를 압축한다.
단계 204에 있어서, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정한다.
서버는, 코드 세그먼트 및 데이터 세그먼트를 각각 압축한 후에, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정할수 있다.
도 2 c를 참조하면, 본단계는 아래의 단계를 포함할수 있다.
단계 204 a에 있어서, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 저장 주소를 설정하여, 제 1 저장 주소를 제 1 주소 정보로 확정하고, 제 2 저장 주소를 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트에 각각 대응되는 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 코드 세그먼트의 크기 및 압축 후의 데이터 세그먼트의 크기를 취득하여, 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 1 주소 정보로 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 2 주소 정보로 확정한다.
펌 웨어는 일반적으로 지정된 어느 모델의 전자 기기에 적용되는 동시에, 당해 전자 기기의 저장 스페이스도 고정되어 있다. 때문에, 서버는, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 저장 주소를 설정하여, 제 1 저장 주소를 제 1 주소 정보로 확정하고, 또한, 제 2 저장 주소를 제 2 주소 정보로 확정한다. 여기서, 서버는, 압축 후의 코드 세그먼트의 전자 기기의 Flash 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기의 Flash 내서의 제 2 저장 주소를 설정할수 있다.
혹은, 서버는 또한 압축 후의 코드 세그먼트의 전자 기기 내에서의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 시작 저장 주소만 설정하고, 그 후 압축 후의 코드 세그먼트의 크기 및 압축 후의 데이터 세그먼트의 크기를 각각 취득한 후, 압축 후의 코드 세그먼트의 전자 기기 내에서의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 1 주소 정보로 확정하고, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 크기를 제 2 주소 정보로 확정할수도 있다.
단계 204 b에 있어서, 제 1 압축 해제 주소 및 제 2 압축 해제 주소를 설정한다.
펌 웨어는 일반적으로 지정된 어느 모델의 전자 기기에 적용되는 동시에, 당해 전자 기기의 저장 스페이스도 고정되어 있다. 때문에, 서버는, 더 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소를 미리 설정할수 있다.
본 실시예에 있어서, 우선 단계 204 a를 수행한 후에, 단계 204 b를 수행하는 예를 들었지만, 옵션으로서, 수행 단계 204 a와 단계 204 b를 동시에 수행하거나, 혹은, 우선 단계 204 b를 수행한 후에, 단계 204 a를 수행할수도 있는바, 이에 대해 한정하지 않는 것을 설명할 필요가 있다.
본 실시예에 있어서, 제 1 정보 세그먼트만을 설정하는 예를 들었지만, 옵션으로서, 제 2 정보 세그먼트 내에 제 1 정보 세그먼트 중의 각 내용을 설정할수도 있는바, 이에 대해 한정하지 않는다는 것을 더 설명할 필요가 있다.
상기와 같이, 본 발명에 따른 실시예에 의해 제공되는 펌 웨어 압축 방법에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정함으로써, 전자 기기가, 펌 웨어를 수행하려고 할때 제 1 정보 세그먼트에 기반하여 직접 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하고, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
본 실시예에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 전자 기기가, 압축 후의 코드 세그먼트를 직접 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 직접 제 2 압축 해제 주소로 압축 해제하도록 함으로써, 우선 펌 웨어 전체를 압축 해제한 후, 다시 코드 세그먼트 및 데이터 세그먼트를 각각 해당되는 압축 해제 주소로 카피할 필요가 없어졌다. 즉, 전자 기기는, 메모리 내에 일정한 캐쉬를 미리 남겨두어 압축 해제한 후의 펌 웨어를 저장할 필요가 없어졌기에, 전자 기기의 메모리 스페이스의 이용률이 높아졌다.
도 2 d를 참조하면, 상기의 각 실시예에 있어서, 서버가 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계는 아래의 단계를 더 포함할수 있다.
단계 204 c에 있어서, 코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 취득한다.
서버는, 또한 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기를 취득할수 있다.
옵션으로서, 서버는 제 2 정보 세그먼트 내에 양자의 크기가 저장되어 있으면, 제 2 정보 세그먼트로부터 상기의 내용을 판독할수 있다.
서버는, 제 2 정보 세그먼트 내에 코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소가 저장되어 있으면, 제 3 저장 주소의 주소의 길이에 기반하여 코드 세그먼트의 크기를 확정하고, 제 3 저장 주소의 주소의 길이에 기반하여 데이터 세그먼트의 크기를 확정할수 있는바, 본 실시예에서는 이에 대해 한정하지 않는다.
단계 204 d에 있어서, 코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 1 정보 세그먼트에 저장한다.
서버는, 취득한 코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 1 정보 세그먼트에 저장할수 있다.
당연히, 서버는, 제 1 정보 세그먼트 내의 내용을 직접 제 2 정보 세그먼트 내에 설정할 경우, 취득한 코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 2 정보 세그먼트에 저장할수도 있는바, 본 실시예에서는 이에 대해 한정하지 않는다. 또한, 서버는, 제 2 정보 세그먼트 내에 상기의 양자의 크기가 이미 저장되어 있으면, 단계 204 c와 단계 204 d를 수행하지 않을수도 있는바, 본 실시예에 있어서 이에 대해도 한정하지 않는다.
또, 본 실시예에 있어서, 단계 204 a, 단계 204 b 및 단계 204 c를 수행하는 순서에 대해 한정하지 않는다. 서버는, 실제의 적용 장면에 따라 그 순서를 조정할수 있다.
도 2 e를 참조하면, 상기의 실시예에 있어서, 단계 203은 아래의 단계를 포함할수 있다.
단계 203 a에 있어서, 코드 세그먼트 및 데이터 세그먼트 중의 적어도 하나를 분할한다.
서버는, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득한 후, 코드 세그먼트를 분할하거나, 혹은, 데이터 세그먼트를 분할하거나, 혹은, 코드 세그먼트 및 데이터 세그먼트 양자를 모두 분할할수 있다.
예를 들면, 코드 세그먼트를 분할하는 예를 들면, 서버는 코드 세그먼트를 m개의 세그먼트에 분할할수 있다.
옵션으로서, 분할 후의 코드 세그먼트 중의 각 세그먼트의 길이는, 동일하거나, 혹은, 동일하지 않다. 분할 후의 데이터 세그먼트 중의 각 세그먼트의 길이도, 동일하거나, 혹은, 동일하지 않다.
단계 203 b에 있어서, 분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트를 압축한다.
서버는, 코드 세그먼트를 m개의 세그먼트로 분할하면, 분할하여 얻은 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트를 압축한다.
이에 대해, 서버가 설정한 제 1 주소 정보는 압축 후의 m개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 주소 정보를 포함하고, 서버가 설정한 제 1 압축 해제 주소는 압축 후의 m개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서 대응되는 압축 해제 주소를 포함할수 있다.
단계 203 c에 있어서, 분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트를 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축한다.
서버는, 데이터 세그먼트를 n개의 세그먼트로 분할하면, 코드 세그먼트를 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축할수 있다.
이에 대해, 서버가 설정한 제 2 주소 정보는 압축 후의 n개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 주소 정보를 포함하고, 서버가 설정한 제 2 압축 해제 주소는 압축 후의 n개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서 대응되는 압축 해제 주소를 포함할수 있다.
단계 203 d에 있어서, 분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축한다.
서버는, 코드 세그먼트를 m개의 세그먼트로 분할하고, 또한, 데이터 세그먼트를 n개의 세그먼트로 분할하면, 분할 후의 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 분할 후의 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축할수 있다.
이에 대해, 서버가 설정한 제 1 주소 정보는 m개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 주소 정보를 포함하고, 서버가 설정한 제 1 압축 해제 주소는 m개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서 대응되는 압축 해제 주소를 포함하고, 서버가 설정한 제 2 주소 정보는 n개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 주소 정보를 포함하고, 서버가 설정한 제 2 압축 해제 주소는 n개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서 대응되는 압축 해제 주소를 포함할수 있다.
도 3은, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 방법을 나타내는 플로차트이다. 도 3에 나타낸바와 같이, 당해 펌 웨어 압축 해제 방법은 아래의 단계를 포함할수 있다.
단계 301에 있어서, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독한다.
단계 302에 있어서, 제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득한다.
단계 303에 있어서, 압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제한다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 해제 방법에 따르면, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된 제 1 정보 세그먼트를 판독하고, 판독한 내용에 기반하여 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하여, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
도 4 a는, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 방법을 나타내는 플로차트이다. 도 4 a에 나타낸바와 같이, 당해 펌 웨어 압축 해제 방법은 아래의 단계를 포함할수 있다.
단계 401에 있어서, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독한다.
전자 기기는, 네트워크를 통하여 서버로부터 펌 웨어를 취득하거나, 혹은, 회복 장치(recovery device) 혹은 모바일 기록 디바이스로부터 펌 웨어를 취득할수 있다. 당해 펌 웨어는, 일반적으로 압축 후의 펌 웨어이며, 압축 후의 펌 웨어는 일반적으로 압축 후의 코드 세그먼트, 압축 후의 데이터 세그먼트 및 제 1 정보 세그먼트를 포함한다. 여기서, 제 1 정보 세그먼트는, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소를 포함한다. 또한, 회복 장치 및 모바일 기억 디바이스 내의 펌 웨어는, 서버로부터 사전에 취득한 펌 웨어일수도 있는바, 본 실시예에서는 이에 대해 한정하지 않는다.
전자 기기는, 펌 웨어를 수행할 필요가 있으면, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독할 수 있다.
단계 402에 있어서, 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정한다.
전자 기기는, 제 1 정보 세그먼트 중의 제 1 주소 정보 및 제 2 주소 정보를 판독한 후, 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정할 수 있다.
도 4 b를 참조하면, 본단계는 아래의 단계를 포함할수 있다.
단계 402 a에 있어서, 제 1 주소 정보가 제 1 저장 주소이고, 제 2 주소 정보가 제 2 저장 주소이면, 판독한 내용에 기반하여 제 1 저장 주소 및 제 2 저장 주소를 확정한다.
단계 402 b에 있어서, 제 1 주소 정보가 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기이고, 제 2 주소 정보가 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 크기이면, 압축 후의 코드 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 1 저장 주소를 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 2 저장 주소를 확정한다.
본단계는, 상기의 실시례 중의 단계 201 c와 같기 때문에, 본 실시예에서는 반복하여 설명하지 않는다.
단계 403에 있어서, 제 1 저장 주소로부터 압축 후의 코드 세그먼트를 판독하고, 제 2 저장 주소로부터 압축 후의 데이터 세그먼트를 판독한다.
단계 404에 있어서, 압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제한다.
전자 기기는, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 판독한 후에, 압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제할 수 있다.
전자 기기는, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트 압축 해제한 후에, 당해 코드 세그먼트의 입구로부터, 당해 코드 세그먼트를 수행할 수 있다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 해제 방법에 따르면, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된 제 1 정보 세그먼트를 판독하고, 판독한 내용에 기반하여 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하여, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
본 실시예에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 전자 기기가, 압축 후의 코드 세그먼트를 직접 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 직접 제 2 압축 해제 주소로 압축 해제하도록 함으로써, 우선 펌 웨어 전체를 압축 해제한 후, 다시 코드 세그먼트 및 데이터 세그먼트를 각각 해당되는 압축 해제 주소로 카피할 필요가 없어졌다. 즉, 전자 기기는, 메모리 내에 일정한 캐쉬를 미리 남겨두어 압축 해제한 후의 펌 웨어를 저장할 필요가 없어졌기에, 전자 기기의 메모리 스페이스의 이용률이 높아졌다.
도 4 c를 참조하면, 상기의 실시예에 있어서, 제 1 정보 세그먼트 내에는 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기가 더 포함되어 있다. 당해 방법은, 아래의 단계를 더 포함할수 있다.
단계 405에 있어서, 압축 전의 코드 세그먼트 및 압축 전의 데이터 세그먼트의 총 크기를 산출한다.
전자 기기는, 제 1 정보 세그먼트 내에 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기가 더 포함되어 있으면, 제 1 정보 세그먼트를 판독한 후 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기의 합계를 산출하여, 양자의 총 크기를 산출할 수 있다.
단계 406에 있어서, 총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출한다.
산출하여 얻은 총 크기가 전자 기기 내에 미리 남겨둔 펌 웨어 수행 스페이스를 초과하는지 여부를 검출한다. 당해 펌 웨어 수행 스페이스란, 전자 기기중에 미리 남겨둔 펌 웨어를 수행하기 위한 메모리 스페이스이다.
단계 407에 있어서, 총 크기가 펌 웨어 수행 스페이스를 초과하면 펌 웨어에 에러가 발생하였다고 제시한다.
전자 기기의 검출 결과가, 코드 세그먼트 및 데이터 세그먼트의 총 크기가 펌 웨어 수행 스페이스를 넘는 것일 경우, 당해 펌 웨어는 당해 모델의 전자 기기에 적용될수 있는 펌 웨어가 아닌 것을 설명한다. 이 때, 전자 기기는 펌 웨어에 에러가 발생하였다고 제시할 수 있다.
상기의 단계는, 일반적으로 단계 404 전에 수행하며, 검출 결과가 총 크기가 펌 웨어 수행 스페이스를 초과하는 것이면, 전자 기기는 단계 404를 수행하지 않는다. 전자 기기는, 검출 결과가, 총 크기가 펌 웨어 수행 스페이스를 초과하지 않는 것일 때에만, 단계 404를 수행한다. 본 실시예에 있어서 이에 대해 한정하지 않는 것을 설명할 필요가 있다.
본 실시예에 따르면, 코드 세그먼트 및 데이터 세그먼트의 총 크기를 검출함으로써, 사용자에게 펌 웨어에 에러가 있는지 여부를 제시할수 있는 효과를 얻었다.
단계 402는 아래의 단계를 포함할수 있다는 것을 더 설명할 필요가 있다.
전자 기기는, 제 1 주소 정보가 압축 후의 m개의 세그먼트 중의 각 세그먼트의 주소 정보를 포함하면, 각 세그먼트의 주소 정보에 기반하여 각 세그먼트의 저장 주소를 확정한다. 즉, 제 1 저장 주소는 압축 후의 m개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 저장 주소를 포함한다.
계속하여, 전자 기기는, 각 저장 주소중에 저장한 코드 세그먼트를 판독하여, 판독한 당해 코드 세그먼트를 제 1 압축 해제 주소 중의 당해 코드 세그먼트에 대응되는 압축 해제 주소로 압축 해제할수 있다. 예를 들면, 전자 기기는, m개의 세그먼트 중의 i번째 세그먼트에 대하여, 제 1 주소 정보로부터 i번째 코드 세그먼트의 주소 정보를 판독하여, i번째 코드 세그먼트의 주소 정보에 기반하여 i번째 코드 세그먼트의 저장 주소를 확정한 후, i번째 코드 세그먼트의 저장 주소로부터 i번째 코드 세그먼트를 판독하여, 판독한 i번째 코드 세그먼트를 제 1 압축 해제 주소 중의 제i세그먼트 코드 세그먼트에 대응되는 압축 해제 주소로 압축 해제한다.
전자 기기는, 제 2 주소 정보가 압축 후의 데이터 세그먼트 중의 n개의 세그먼트 중의 각 세그먼트의 주소 정보를 포함하면, 각 세그먼트의 주소 정보에 기반하여 각 세그먼트의 저장 주소를 확정한다. 즉, 제 2 저장 주소가 압축 후의 n개의 세그먼트 중의 각 세그먼트의 전자 기기 내에서의 저장 주소를 포함한다.
계속하여, 전자 기기는, 각 저장 주소중에 저장한 데이터 세그먼트를 판독하여, 판독한 당해 데이터 세그먼트를 제 2 압축 해제 주소중의 당해 세그먼트 데이터 세그먼트에 대응되는 압축 해제 주소로 압축 해제한다. 이는, 압축 후의 m개의 코드 세그먼트의 처리 방법과 같기 때문에 본 실시예에서 반복하여 설명하지 않는다.
상기의 각 실시예에 있어서, 압축 후의 펌 웨어의 저장 격식에는, 코드 세그먼트, 데이터 세그먼트 및 정보 세그먼트가 포함되어 있는 것을 더 설명할 필요가 있다. 여기서, 정보 세그먼트는, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소를 포함한다. 옵션으로서, 정보 세그먼트는, 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기를 더 포함한다. 당연히, 정보 세그먼트는 다른 정보를 더 포함할수도 있는바, 본 실시예에서는 이에 대해 한정하지 않는다.
이하는 본 발명에 따를 장치의 실시 예인바, 본 발명에 따른 방법의 실시 예를 실행할수 있다. 본 발명에 따른 장치의 실시 예에서 설명되지 않은 세부 내용에 대해서는, 본 발명에 따른 방법의 실시 예를 참조할 수 있다.
도 5는, 예시적인 일 실시예에 따른 펌 웨어 압축 장치를 나타내는 블럭도이다. 도 5에 나타낸바와 같이, 당해 펌 웨어 압축 장치는, 취득 모듈 (510), 압축 모듈 (520) 및 정보 세그먼트 설정 모듈 (530)을 구비하나, 이에 한정되지 않는다.
취득 모듈 (510)은, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득한다.
압축 모듈 (520)은, 코드 세그먼트 및 데이터 세그먼트를 각각 압축한다.
정보 세그먼트 설정 모듈 (530)은, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정한다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 장치에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정함으로써, 전자 기기가, 펌 웨어를 수행하려고 할때 제 1 정보 세그먼트에 기반하여 직접 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하고, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
도 6 a는, 예시적인 일 실시예에 따른 펌 웨어 압축 장치를 나타내는 블럭도이다. 도 6 a에 나타낸바와 같이, 당해 펌 웨어 압축 장치는, 취득 모듈 (610), 압축 모듈 (620) 및 정보 세그먼트 설정 모듈 (630)을 구비하나, 이에 한정되지 않는다.
취득 모듈 (610)은, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득한다.
압축 모듈 (620)은, 코드 세그먼트 및 데이터 세그먼트를 각각 압축한다.
정보 세그먼트 설정 모듈 (630)은, 압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 주소 정보, 압축 후의 코드 세그먼트의 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정한다.
옵션으로서, 당해 취득 모듈 (610)은,
코드 세그먼트의 제 3 저장 주소 및 데이터 세그먼트의 제 4 저장 주소를 확정하기 위한 주소 확정 서브 모듈 (611);
제 3 저장 주소에 기반하여 코드 세그먼트를 판독하고, 제 4 저장 주소에 기반하여 데이터 세그먼트를 판독하기 위한 취득 서브 모듈 (612)
을 구비한다.
옵션으로서, 도 6 b를 참조하면, 당해 주소 확정 서브 모듈 (611)은,
펌 웨어에 대응되는 제 2 정보 세그먼트를 판독하기 위한 정보 세그먼트 판독 서브 모듈 (611a);
제 2 정보 세그먼트 내에 제 3 저장 주소 및 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 제 3 저장 주소 및 제 4 저장 주소를 확정하기 위한 제 1 확정 서브 모듈 (611b);
제 2 정보 세그먼트 내에 코드 세그먼트의 시작 저장 주소, 코드 세그먼트의 크기, 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 코드 세그먼트의 시작 저장 주소 및 코드 세그먼트의 크기에 기반하여 제 3 저장 주소를 확정하고, 판독한 데이터 세그먼트의 시작 저장 주소 및 데이터 세그먼트의 크기에 기반하여 제 4 저장 주소를 확정하기 위한 제 2 확정 서브 모듈 (611c)
을 구비한다.
옵션으로서, 당해 정보 세그먼트 설정 모듈 (630)은,
압축 후의 코드 세그먼트의 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 데이터 세그먼트의 전자 기기 내에서의 제 2 저장 주소를 설정하여, 제 1 저장 주소를 제 1 주소 정보로 확정하고, 제 2 저장 주소를 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트에 각각 대응되는 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 코드 세그먼트의 크기 및 압축 후의 데이터 세그먼트의 크기를 취득하여, 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 1 주소 정보로 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기를 제 2 주소 정보로 확정하기 위한 제 1 설정 서브 모듈 (631);
제 1 압축 해제 주소 및 제 2 압축 해제 주소를 설정하기 위한 제 2 설정 서브 모듈 (632)
을 구비한다.
옵션으로서, 당해 정보 세그먼트 설정 모듈 (630)은,
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 취득하기 위한 크기 취득 서브 모듈 (633);
코드 세그먼트의 크기 및 데이터 세그먼트의 크기를 제 1 정보 세그먼트에 저장하기 위한 크기 저장 서브 모듈 (634)
을 더 구비한다.
옵션으로서, 도 6 c를 참조하면, 당해 압축 모듈 (620)은,
코드 세그먼트 및 데이터 세그먼트 중의 적어도 하나를 분할하기 위한 분할 서브 모듈 (621);
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트를 압축하기 위한 제 1 압축 서브 모듈 (622);
분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트를 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 2 압축 서브 모듈 (623);
분할 후의 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 데이터 세그먼트가 n개의 세그먼트를 포함하면, 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 3 압축 서브 모듈 (624)
을 구비한다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 장치에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정함으로써, 전자 기기가, 펌 웨어를 수행하려고 할때 제 1 정보 세그먼트에 기반하여 직접 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하고, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
본 실시예에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 전자 기기가, 압축 후의 코드 세그먼트를 직접 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 직접 제 2 압축 해제 주소로 압축 해제하도록 함으로써, 우선 펌 웨어 전체를 압축 해제한 후, 다시 코드 세그먼트 및 데이터 세그먼트를 각각 해당되는 압축 해제 주소로 카피할 필요가 없어졌다. 즉, 전자 기기는, 메모리 내에 일정한 캐쉬를 미리 남겨두어 압축 해제한 후의 펌 웨어를 저장할 필요가 없어졌기에, 전자 기기의 메모리 스페이스의 이용률이 높아졌다.
도 7은, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 장치를 나타내는 블럭도이다. 도 7에 나타낸바와 같이, 당해 펌 웨어 압축 해제 장치는, 정보 세그먼트 판독 모듈 (710), 취득 모듈 (720) 및 압축 해제 모듈 (730)을 구비하나, 이에 한정되지 않는다.
정보 세그먼트 판독 모듈 (710)은, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독한다.
취득 모듈 (720)은, 제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득한다.
압축 해제 모듈 (730)은, 압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제한다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 해제 장치에 따르면, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된 제 1 정보 세그먼트를 판독하고, 판독한 내용에 기반하여 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하여, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
도 8 a는, 예시적인 일 실시예에 따른 펌 웨어 압축 해제 장치를 나타내는 블럭도이다. 도 8 a에 나타낸바와 같이, 당해 펌 웨어 압축 해제 장치는, 정보 세그먼트 판독 모듈 (810), 취득 모듈 (820) 및 압축 해제 모듈 (830)을 구비하나, 이에 한정되지 않는다.
정보 세그먼트 판독 모듈 (810)은, 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독한다.
취득 모듈 (820)은, 제 1 주소 정보에 기반하여 압축 후의 코드 세그먼트를 취득하고, 제 2 주소 정보에 기반하여 압축 후의 데이터 세그먼트를 취득한다.
압축 해제 모듈 (830)은, 압축 후의 코드 세그먼트를 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 제 2 압축 해제 주소로 압축 해제한다.
옵션으로서, 당해 취득 모듈 (820)은,
제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하기 위한 주소 확정 서브 모듈 (821);
제 1 저장 주소로부터 압축 후의 코드 세그먼트를 판독하고, 제 2 저장 주소로부터 압축 후의 데이터 세그먼트를 판독하기 위한 취득 서브 모듈 (822)
을 구비한다.
옵션으로서, 도 8 b를 참조하면, 당해 주소 확정 서브 모듈 (821)은,
제 1 주소 정보가 제 1 저장 주소이고, 제 2 주소 정보가 제 2 저장 주소이면, 판독한 내용에 기반하여 제 1 저장 주소 및 제 2 저장 주소를 확정하기 위한 제 1 확정 서브 모듈 (821a);
제 1 주소 정보가 압축 후의 코드 세그먼트의 시작 저장 주소 및 압축 후의 코드 세그먼트의 크기이고, 제 2 주소 정보가 압축 후의 데이터 세그먼트의 시작 저장 주소 및 압축 후의 데이터 세그먼트의 크기이면, 압축 후의 코드 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 1 저장 주소를 확정하고, 압축 후의 데이터 세그먼트의 시작 저장 주소 및 크기에 기반하여 제 2 저장 주소를 확정하기 위한 제 2 확정 서브 모듈 (821b)
을 구비한다.
옵션으로서, 제 1 정보 세그먼트 내에는 압축 전의 코드 세그먼트의 크기 및 압축 전의 데이터 세그먼트의 크기가 더 포함되어 있으며, 당해 장치는,
압축 전의 코드 세그먼트 및 압축 전의 데이터 세그먼트의 총 크기를 산출하기 위한 산출 모듈 (840);
총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출하기 위한 검출 모듈 (850);
검출 모듈 (850)의 검출 결과가, 총 크기가 펌 웨어 수행 스페이스를 초과하는 것이면, 펌 웨어에 에러가 발생하였다고 제시하기 위한 제시 모듈 (860)
을 더 구비한다.
상기와 같이, 본 발명의 실시예에 의해 제공되는 펌 웨어 압축 해제 장치에 따르면, 압축 후의 코드 세그먼트에 대응되는 제 1 주소 정보, 압축 후의 데이터 세그먼트에 대응되는 제 2 주소 정보, 압축 후의 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된 제 1 정보 세그먼트를 판독하고, 판독한 내용에 기반하여 압축 후의 코드 세그먼트 및 압축 후의 데이터 세그먼트를 취득하여, 압축 후의 코드 세그먼트와 압축 후의 데이터 세그먼트를 각각 제 1 압축 해제 주소 및 제 2 압축 해제 주소로 압축 해제하도록 한다. 이렇게 하여, 관련 기술에서 펌 웨어를 압축 해제한 후 전자 기기가 카피해야 하기 때문에 처리의 복잡도가 높아지는 문제를 해결한 동시에, 코드 카피의 복잡도가 높기에 통용성이 부족한 문제를 해결하였고, 전자 기기의 처리 복잡도를 개선한 동시에, 코드를 카피할 필요가 없게 되는 효과를 얻었다.
본 실시예에 따르면, 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 각각 압축하고, 전자 기기가, 압축 후의 코드 세그먼트를 직접 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 데이터 세그먼트를 직접 제 2 압축 해제 주소로 압축 해제하도록 함으로써, 우선 펌 웨어 전체를 압축 해제한 후, 다시 코드 세그먼트 및 데이터 세그먼트를 각각 해당되는 압축 해제 주소로 카피할 필요가 없어졌다. 즉, 전자 기기는, 메모리 내에 일정한 캐쉬를 미리 남겨두어 압축 해제한 후의 펌 웨어를 저장할 필요가 없어졌기에, 전자 기기의 메모리 스페이스의 이용률이 높아졌다.
상기 실시 예 중의 장치에 관하여, 각 모듈이 조작을 수행하는 구체적인 방법은 이미 관련된 방법의 실시 예에서 상세히 설명했기에, 여기서 상세한 설명은 생략한다.
도 9은 일 예시적인 실시예에 따른 펌 웨어를 압축하기 위한 장치(900)의 블럭도이다. 예를 들면, 장치(900)는 서버로 제공될 수 있다. 도 9을 참조하면, 장치(900)는 하나 또는 하나 이상의 프로세서를 포함하는 프로세스 어셈블리(922)와, 프로세스 어셈블리(922)에 의해 실행 가능한 인스트럭션, 예를 들면 애플리케이션 프로그램을 기억하기 위한 메모리(932)를 대표로 하는 메모리자원을 포함한다. 메모리(932)에 저장되어 있는 애플리케이션 프로그램은 각각 한 세트의 인스트럭션에 대응하는 하나 또는 하나 이상의 모듈을 포함해도 된다. 또한, 프로세스 어셈블리(922)는 인스트럭션을 실행하여 상기 펌 웨어를 압축하기 위한 방법을 수행하도록 구성된다.
장치(900)는 장치(900)의 전원 관리를 실행하도록 구성된 전원 어셈블리(926), 장치(900)를 네트워크에 접속하도록 구성되는 하나의 유선 또는 무선 네트워크 인터페이스(950), 하나의 입출력(I/O)인터페이스(958)를 더 포함한다. 장치(900)는 메모리(932)에 저장되어 있는 OS, 예를 들면 Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM 등 혹은 유사한 OS를 조작할 수 있다.
도 10 은 일 예시적 실시예에 따른 펌 웨어 압축 해제 장치(1000)를 나타내는 블록도이다. 예를 들면, 장치(1000)는, 휴대 전화, 컴퓨터, 디지털 방송 단말기, 메시지 송수신 디바이스, 게임 콘솔, 태블릿 디바이스, 의료 디바이스, 피트니스 디바이스, 개인 디지털 보조, 등일수 있다.
도 10 에 도시된 바와 같이, 장치(1000)는 프로세스 어셈블리(1002), 메모리(1004), 전원 어셈블리(1006), 멀티미디어 어셈블리(1008), 오디오 어셈블리(1010), 입출력(I/O) 인터페이스(1012), 센서 어셈블리(1014) 및 통신 어셈블리(1016) 등 하나 또는 복수의 어셈블리를 포함할 수 있다.
프로세스 어셈블리(1002)는 통상적으로 장치(1000)의 전체 조작을 제어하며, 예를 들면, 표시,전화 호출,데이터 통신,카메라 조작 및 기록 조작에 관련된 조작을 제어할 수 있다. 프로세스 소자(1002)는 하나 또는 복수의 프로세서(1020)를 구비하여 인스트럭션을 실행함으로써 상기 방법의 전부 혹은 일부 단계를 완성한다. 또한, 프로세스 어셈블리(1002)는 하나 또는 복수의 모듈을 포함하고 있어 프로세스 어셈블리(1002)와 기타 어셈블리 사이의 인트렉션에 편리하다. 예를 들면, 프로세스 어셈블리(1002)는 멀티미디어 모듈을 포함고 있어 멀티미디어 어셈블리(1008)와 프로세스 어셈블리(1002) 사이의 인트렉션이 편리하게 된다.
메모리(1004)에는 각종 유형의 데이터가 저장되어 장치(1000)의 동작을 서포트한다. 이러한 데이터의 예로서 장치(1000)에서 동작하는 임의의 애플리케이션 프로그램 혹은 방법을 실행하기 위한 인스트럭션,연락인 데이터,전화번호부 데이터,메시지,이미지, 비디오 등을 포함한다. 메모리(1004)는 임의의 유형의 휘발성 혹은 비휘발성 메모리 혹은 양자의 조합으로 실현될 수 있으며, 예를 들면 SRAM(Static Random Access Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory) ,EPROM(Erasable Programmable Read Only Memory), PROM(Programmable Read-Only Memory), ROM(Read-Only Memory),자기 메모리,플래시 메모리,자기 디스크 혹은 콤팩트 디스크 등으로 실현될 수 있다.
전력 어셈블리(1006)는 장치(1000)의 각 어셈블리에 전력을 공급하기 위한 것이다. 전력 어셈블리(1006)는 전원 관리 시스템,하나 또는 복수의 전원 및 장치(1000)를 위하여 전력을 생성, 관리 및 분배하기 위한 기타 어셈블리를 포함할 수 있다.
멀티미디어 어셈블리(1008)는 상기 장치(1000)와 사용자 사이에 하나의 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 실시예에 있어서, 스크린은 액정 표시 장치(LCD)와 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함할 경우, 스크린은 사용자가 입력한 신호를 수신할 수 있는 터치 스크린을 구현할 수 있다. 터치 패널은 하나 또는 복수의 터치 센서를 포함하고 있어 터치, 슬라이딩 및 터치 패널위에서의 손 움직임을 감지할 수 있다. 상기 터치 센서는 터치 혹은 슬라이딩 동작의 경계위치를 감지할 수 있을 뿐만 아니라, 상기 터치 혹은 슬라이딩 조작에 관련된 지속시간 및 압력을 검출할 수 있다. 일부 실시예에 있어서,멀티미디어 어셈블리(1008)는 하나의 프론트 카메라 및/또는 리어 카메라를 포함한다. 장치(1000)가 예를 들면 촬영 모드 혹은 비디오 모드 등 조작 모드 상태에 있을 경우, 프론트 카메라 및/또는 리어 카메라는 외부로부터의 멀티미디어 데이터를 수신할 수 있다. 프론트 카메라와 리어 카메라는 하나의 고정된 광학 렌즈 시스템일 수 있거나 또는 가변 초점거리와 광학 줌기능을 구비할 수 있다.
오디오 어셈블리(1010)는 오디오 신호를 출력 및/또는 입력하기 위한 것이다. 예를 들면, 오디오 어셈블리(1010)는 마이크로폰(MIC)을 포함하며, 장치(1000)가 예를 들면 호출 모드, 기록 모드 및 음성 인식 모드 등 조작 모드에 있을 경우, 마이크로폰은 외부의 오디오 신호를 수신한다. 수신된 오디오 신호는 진일보 메모리(1004)에 저장되거나 혹은 통신 어셈블리(1016)를 통하여 송신될수 있다. 일부 실시예에 있어서,오디오 어셈블리(1010)는 스피커를 더 포함할 수 있어 오디오 신호를 출력한다.
I/O 인터페이스(1012)는 프로세스 어셈블리(1002)와 주변 인터페이스 모듈 사이에 인터페이스를 제공하기 위한 것이다. 상기 주변 인터페이스 모듈은 키보드,휠 키,버튼 등일 수 있다. 이러한 버튼은 홈 버튼, 음량 버튼, 작동 버튼 및 잠금 버튼 등을 포함하지만 이에 한정되지 않는다.
센서 어셈블리(1014)는 장치(1000)에 각 방면의 상태평가를 제공하는 하나 또는 복수의 센서를 포함한다. 예를 들면,센서 어셈블리(1014)는 장치(1000)의 온/오프 상태,어셈블리의 상대위치결정을 검출할 수 있다. 예를 들면 상기 어셈블리가 장치(1000)의 디스플레이 및 키패드일 시,센서 어셈블리(1014)는 장치(1000) 혹은 장치(1000)의 일 어셈블리의 위치변경,사용자와 장치(1000)사이의 접촉여부, 장치(1000)의 방위 혹은 가속/감속 및 장치(1000)의 온도 변화를 검출할 수 있다. 센서 어셈블리(1014)는 근접 센서를 포함할 수 있어, 임의의 물리적 접촉이 없는 정황하에서 근처 물체의 존재를 검출할 수 있다. 센서 어셈블리(1014)는 예를 들면 CMOS 혹은 CCD 이미지 센서 등 광센서를 더 포함할 수 있으며, 이미징 애플리케이션에 사용된다. 일부 실시예에 있어서, 상기 센서 어셈블리(1014)는 가속 센서,자이로 센서,자기 센서,압력 센서 혹은 온도 센서를 포함할 수 있다.
통신 어셈블리(1016)는 장치(1000)와 기타 설비 사이의 유선 혹은 무선 통신에 사용된다. 장치(1000)는 예를 들면 WiFi,2G 혹은 3G,혹은 이들의 조합 등의 통신규격에 따른 무선 네트워크에 접속할 수 있다. 일 예시적 실시예에 있어서,통신 어셈블리(1016)는 방송 채널을 통하여 외부 방송 관리 시스템으로부터의 방송 신호 혹은 방송 관련 정보를 수신할 수 있다. 일 예시적 실시예에 있어서, 상기 통신 어셈블리(1016)는 근거리 무선 통신(NFC)모듈을 더 포함하고 있어, 단거리 통신을 촉진할 수 있다. 예를 들면, NFC 모듈은 RFID 기술, IrDA 기술, UWB 기술,블루투스(BT)기술 및 기타 기술에 기초하여 실현될 수 있다.
예시적 실시예에 있어서, 장치(1000)는 하나 또는 복수의 애플리케이션 전용 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리설비(DSPD), 프로그램 가능 논리 소자(PLD), 필드 프로그래머블 게이트 어레이(FPGA), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 혹은 기타 전자소자에 의하여 실현되어, 상기의 방법을 수행할 수 있다.
예시적 실시예에 있어서, 인스트럭션을 포함하는 비일시적인 컴퓨터 판독 가능한 기록 매체를 제공하는데, 예를 들면 인스트럭션을 포함하는 메모리(1004) 등을 포함하며, 상기 인스트럭션은 장치(1000)의 프로세서(1020)에 의하여 실행되어 상기 방법을 실현할 수 있다. 예를 들면, 상기 비일시적인 컴퓨터 판독 가능한 기록 매체는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크 및 광데이터 저장 장치 등일 수 있다.
본 발명은 상기에 기술되고 또 도면에 나타낸 정확한 구성에 한정되지 않으며, 그 범위를 초과하지 않는 한 다양한 수정과 변경을 실현할 수 있다는 것을 이해해야 할 것이다. 본 발명의 범위는 단지 첨부되는 특허 청구의 범위에 의해 한정된다.

Claims (22)

  1. 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하는 단계;
    상기 코드 세그먼트 및 상기 데이터 세그먼트를 각각 압축하는 단계;
    상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계
    를 포함하며,
    상기 제 1 정보 세그먼트에는, 압축 후의 상기 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트의 상기 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함되는
    것을 특징으로 하는 펌 웨어 압축 방법.
  2. 제 1 항에 있어서,
    상기 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하는 단계는,
    상기 코드 세그먼트의 제 3 저장 주소 및 상기 데이터 세그먼트의 제 4 저장 주소를 확정하는 단계;
    상기 제 3 저장 주소에 기반하여 상기 코드 세그먼트를 판독하고, 상기 제 4 저장 주소에 기반하여 상기 데이터 세그먼트를 판독하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 방법.
  3. 제 2 항에 있어서,
    상기 코드 세그먼트의 제 3 저장 주소 및 상기 데이터 세그먼트의 제 4 저장 주소를 확정하는 단계는,
    상기 펌 웨어에 대응되는 제 2 정보 세그먼트를 판독하는 단계;
    상기 제 2 정보 세그먼트 내에 상기 제 3 저장 주소 및 상기 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 상기 제 3 저장 주소 및 상기 제 4 저장 주소를 확정하는 단계;
    상기 제 2 정보 세그먼트 내에 상기 코드 세그먼트의 시작 저장 주소, 상기 코드 세그먼트의 크기, 상기 데이터 세그먼트의 시작 저장 주소 및 상기 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 상기 코드 세그먼트의 시작 저장 주소 및 상기 코드 세그먼트의 크기에 기반하여 상기 제 3 저장 주소를 확정하고, 판독한 상기 데이터 세그먼트의 시작 저장 주소 및 상기 데이터 세그먼트의 크기에 기반하여 상기 제 4 저장 주소를 확정하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 방법.
  4. 제 1 항에 있어서,
    상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계는,
    압축 후의 상기 코드 세그먼트의 상기 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서의 제 2 저장 주소를 설정하여, 상기 제 1 저장 주소를 상기 제 1 주소 정보로 확정하고, 상기 제 2 저장 주소를 상기 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 상기 코드 세그먼트 및 압축 후의 상기 데이터 세그먼트에 각각 대응되는 상기 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 상기 코드 세그먼트의 크기 및 압축 후의 상기 데이터 세그먼트의 크기를 취득하여, 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기를 상기 제 1 주소 정보로 확정하고, 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기를 상기 제 2 주소 정보로 확정하는 단계;
    상기 제 1 압축 해제 주소 및 상기 제 2 압축 해제 주소를 설정하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 방법.
  5. 제 1 항 내지 제 4 항 중 임의의 한 항에 있어서,
    상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하는 단계는,
    상기 코드 세그먼트의 크기 및 상기 데이터 세그먼트의 크기를 취득하는 단계;
    상기 코드 세그먼트의 크기 및 상기 데이터 세그먼트의 크기를 상기 제 1 정보 세그먼트에 저장하는 단계
    를 더 포함하는 것을 특징으로 하는 펌 웨어 압축 방법.
  6. 제 1 항 내지 제 4 항 중 임의의 한 항에 있어서,
    상기 코드 세그먼트 및 상기 데이터 세그먼트를 각각 압축하는 단계는,
    상기 코드 세그먼트 및 상기 데이터 세그먼트 중의 적어도 하나를 분할하는 단계;
    분할 후의 상기 코드 세그먼트가 m개의 세그먼트를 포함하면, 상기 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 상기 데이터 세그먼트를 압축하는 단계;
    분할 후의 상기 데이터 세그먼트가 n개의 세그먼트를 포함하면, 상기 코드 세그먼트를 압축하고, 상기 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하는 단계;
    분할 후의 상기 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 상기 데이터 세그먼트가 n개의 세그먼트를 포함하면, 상기 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 상기 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 방법.
  7. 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하되, 상기 제 1 정보 세그먼트에는, 압축 후의 상기 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 상기 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함되는 단계;
    상기 제 1 주소 정보에 기반하여 압축 후의 상기 코드 세그먼트를 취득하고, 상기 제 2 주소 정보에 기반하여 압축 후의 상기 데이터 세그먼트를 취득하는 단계;
    압축 후의 상기 코드 세그먼트를 상기 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 상기 데이터 세그먼트를 상기 제 2 압축 해제 주소로 압축 해제하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 해제 방법.
  8. 제 7 항에 있어서,
    상기 제 1 주소 정보에 기반하여 압축 후의 상기 코드 세그먼트를 취득하고, 상기 제 2 주소 정보에 기반하여 압축 후의 상기 데이터 세그먼트를 취득하는 단계는,
    상기 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 상기 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하는 단계;
    상기 제 1 저장 주소로부터 압축 후의 상기 코드 세그먼트를 판독하고, 상기 제 2 저장 주소로부터 압축 후의 상기 데이터 세그먼트를 판독하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 해제 방법.
  9. 제 8 항에 있어서,
    상기 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 상기 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하는 단계는,
    상기 제 1 주소 정보가 상기 제 1 저장 주소이고, 상기 제 2 주소 정보가 상기 제 2 저장 주소이면, 판독한 내용에 기반하여 상기 제 1 저장 주소 및 상기 제 2 저장 주소를 확정하는 단계;
    상기 제 1 주소 정보가 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기이고, 상기 제 2 주소 정보가 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 압축 후의 상기 데이터 세그먼트의 크기이면, 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 상기 크기에 기반하여 상기 제 1 저장 주소를 확정하고, 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 상기 크기에 기반하여 상기 제 2 저장 주소를 확정하는 단계
    를 포함하는 것을 특징으로 하는 펌 웨어 압축 해제 방법.
  10. 제 7 항 내지 제 9 항 중 임의의 한 항에 있어서,
    상기 제 1 정보 세그먼트 내에는 압축 전의 상기 코드 세그먼트의 크기 및 압축 전의 상기 데이터 세그먼트의 크기가 더 포함되어 있으며,
    압축 전의 상기 코드 세그먼트 및 압축 전의 상기 데이터 세그먼트의 총 크기를 산출하는 단계;
    상기 총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출하는 단계;
    상기 총 크기가 상기 펌 웨어 수행 스페이스를 초과하면 상기 펌 웨어에 에러가 발생하였다고 제시하는 단계
    를 더 포함하는 것을 특징으로 하는 펌 웨어 압축 해제 방법.
  11. 펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하기 위한 취득 모듈;
    상기 코드 세그먼트 및 상기 데이터 세그먼트를 각각 압축하기 위한 압축 모듈;
    압축 후의 상기 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트의 상기 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하기 위한 정보 세그먼트 설정 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  12. 제 11 항에 있어서,
    상기 취득 모듈은,
    상기 코드 세그먼트의 제 3 저장 주소 및 상기 데이터 세그먼트의 제 4 저장 주소를 확정하기 위한 주소 확정 서브 모듈;
    상기 제 3 저장 주소에 기반하여 상기 코드 세그먼트를 판독하고, 상기 제 4 저장 주소에 기반하여 상기 데이터 세그먼트를 판독하기 위한 취득 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  13. 제 12 항에 있어서,
    상기 주소 확정 서브 모듈은,
    상기 펌 웨어에 대응되는 제 2 정보 세그먼트를 판독하기 위한 정보 세그먼트 판독 서브 모듈;
    상기 제 2 정보 세그먼트 내에 상기 제 3 저장 주소 및 상기 제 4 저장 주소가 저장되어 있으면, 판독한 내용에 기반하여 상기 제 3 저장 주소 및 상기 제 4 저장 주소를 확정하기 위한 제 1 확정 서브 모듈;
    상기 제 2 정보 세그먼트 내에 상기 코드 세그먼트의 시작 저장 주소, 상기 코드 세그먼트의 크기, 상기 데이터 세그먼트의 시작 저장 주소 및 상기 데이터 세그먼트의 크기가 저장되어 있으면, 판독한 상기 코드 세그먼트의 시작 저장 주소 및 상기 코드 세그먼트의 크기에 기반하여 상기 제 3 저장 주소를 확정하고, 판독한 상기 데이터 세그먼트의 시작 저장 주소 및 상기 데이터 세그먼트의 크기에 기반하여 상기 제 4 저장 주소를 확정하기 위한 제 2 확정 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  14. 제 11 항에 있어서,
    상기 정보 세그먼트 설정 모듈은,
    압축 후의 상기 코드 세그먼트의 상기 전자 기기 내에서의 제 1 저장 주소 및 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서의 제 2 저장 주소를 설정하여, 상기 제 1 저장 주소를 상기 제 1 주소 정보로 확정하고, 상기 제 2 저장 주소를 상기 제 2 주소 정보로 확정하거나, 혹은, 압축 후의 상기 코드 세그먼트 및 압축 후의 상기 데이터 세그먼트에 각각 대응되는 상기 전자 기기 내에서의 시작 저장 주소를 설정하고, 압축 후의 상기 코드 세그먼트의 크기 및 압축 후의 상기 데이터 세그먼트의 크기를 취득하여, 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기를 상기 제 1 주소 정보로 확정하고, 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기를 상기 제 2 주소 정보로 확정하기 위한 제 1 설정 서브 모듈;
    상기 제 1 압축 해제 주소 및 상기 제 2 압축 해제 주소를 설정하기 위한 제 2 설정 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  15. 제 11 항 내지 제 14 항 중 임의의 한 항에 있어서,
    상기 정보 세그먼트 설정 모듈은,
    상기 코드 세그먼트의 크기 및 상기 데이터 세그먼트의 크기를 취득하기 위한 크기 취득 서브 모듈;
    상기 코드 세그먼트의 크기 및 상기 데이터 세그먼트의 크기를 상기 제 1 정보 세그먼트에 저장하기 위한 크기 저장 서브 모듈
    을 더 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  16. 제 11 항 내지 제 14 항 중 임의의 한 항에 있어서,
    상기 압축 모듈은,
    상기 코드 세그먼트 및 상기 데이터 세그먼트 중의 적어도 하나를 분할하기 위한 분할 서브 모듈;
    분할 후의 상기 코드 세그먼트가 m개의 세그먼트를 포함하면, 상기 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 상기 데이터 세그먼트를 압축하기 위한 제 1 압축 서브 모듈;
    분할 후의 상기 데이터 세그먼트가 n개의 세그먼트를 포함하면, 상기 코드 세그먼트를 압축하고, 상기 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 2 압축 서브 모듈;
    분할 후의 상기 코드 세그먼트가 m개의 세그먼트를 포함하는 동시에, 분할 후의 상기 데이터 세그먼트가 n개의 세그먼트를 포함하면, 상기 코드 세그먼트 중의 m개의 세그먼트를 각각 압축하고, 상기 데이터 세그먼트 중의 n개의 세그먼트를 각각 압축하기 위한 제 3 압축 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 장치.
  17. 압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 상기 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하기 위한 정보 세그먼트 판독 모듈;
    상기 제 1 주소 정보에 기반하여 압축 후의 상기 코드 세그먼트를 취득하고, 상기 제 2 주소 정보에 기반하여 압축 후의 상기 데이터 세그먼트를 취득하기 위한 취득 모듈;
    압축 후의 상기 코드 세그먼트를 상기 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 상기 데이터 세그먼트를 상기 제 2 압축 해제 주소로 압축 해제하기 위한 압축 해제 모듈;
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 해제 장치.
  18. 제 17 항에 있어서,
    상기 취득 모듈은,
    상기 제 1 주소 정보에 기반하여 제 1 저장 주소를 확정하고, 상기 제 2 주소 정보에 기반하여 제 2 저장 주소를 확정하기 위한 주소 확정 서브 모듈;
    상기 제 1 저장 주소로부터 압축 후의 상기 코드 세그먼트를 판독하고, 상기 제 2 저장 주소로부터 압축 후의 상기 데이터 세그먼트를 판독하기 위한 취득 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 해제 장치.
  19. 제 18 항에 있어서,
    상기 주소 확정 서브 모듈은,
    상기 제 1 주소 정보가 상기 제 1 저장 주소이고, 상기 제 2 주소 정보가 상기 제 2 저장 주소이면, 판독한 내용에 기반하여 상기 제 1 저장 주소 및 상기 제 2 저장 주소를 확정하기 위한 제 1 확정 서브 모듈;
    상기 제 1 주소 정보가 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 압축 후의 상기 코드 세그먼트의 크기이고, 상기 제 2 주소 정보가 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 압축 후의 상기 데이터 세그먼트의 크기이면, 압축 후의 상기 코드 세그먼트의 시작 저장 주소 및 상기 크기에 기반하여 상기 제 1 저장 주소를 확정하고, 압축 후의 상기 데이터 세그먼트의 시작 저장 주소 및 상기 크기에 기반하여 상기 제 2 저장 주소를 확정하기 위한 제 2 확정 서브 모듈
    을 구비하는 것을 특징으로 하는 펌 웨어 압축 해제 장치.
  20. 제 17 항 내지 제 19 항 중 임의의 한 항에 있어서,
    상기 제 1 정보 세그먼트 내에는 압축 전의 상기 코드 세그먼트의 크기 및 압축 전의 상기 데이터 세그먼트의 크기가 더 포함되어 있으며,
    압축 전의 상기 코드 세그먼트 및 압축 전의 상기 데이터 세그먼트의 총 크기를 산출하기 위한 산출 모듈;
    상기 총 크기가 전자 기기의 펌 웨어 수행 스페이스를 초과하는지 여부를 검출하기 위한 검출 모듈;
    상기 검출 모듈의 검출 결과가, 상기 총 크기가 상기 펌 웨어 수행 스페이스를 초과하는 것이면, 상기 펌 웨어에 에러가 발생하였다고 제시하기 위한 제시 모듈
    을 더 구비하는 것을 특징으로 하는 펌 웨어 압축 해제 장치.
  21. 프로세서; 및
    상기 프로세서에 의해 수행되는 명령을 기억하는 메모리
    를 구비하고,
    상기 프로세서는,
    펌 웨어 내의 코드 세그먼트 및 데이터 세그먼트를 취득하고,
    상기 코드 세그먼트 및 상기 데이터 세그먼트를 각각 압축하고,
    압축 후의 상기 코드 세그먼트의 전자 기기 내에서의 제 1 주소 정보, 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트의 상기 전자 기기 내에서 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트의 상기 전자 기기 내에서 대응되는 제 2 압축 해제 주소가 포함된, 상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 설정하도록 구성되는
    것을 특징으로 하는 펌 웨어 압축 장치.
  22. 프로세서; 및
    상기 프로세서에 의해 수행되는 명령을 기억하는 메모리
    를 구비하고,
    상기 프로세서는,
    압축 후의 펌 웨어 내의 코드 세그먼트의 제 1 주소 정보, 압축 후의 상기 펌 웨어 내의 데이터 세그먼트의 제 2 주소 정보, 압축 후의 상기 코드 세그먼트에 대응되는 제 1 압축 해제 주소 및 압축 후의 상기 데이터 세그먼트에 대응되는 제 2 압축 해제 주소가 포함된, 상기 펌 웨어에 대응되는 제 1 정보 세그먼트를 판독하고,
    상기 제 1 주소 정보에 기반하여 압축 후의 상기 코드 세그먼트를 취득하고, 상기 제 2 주소 정보에 기반하여 압축 후의 상기 데이터 세그먼트를 취득하고,
    압축 후의 상기 코드 세그먼트를 상기 제 1 압축 해제 주소로 압축 해제하고, 압축 후의 상기 데이터 세그먼트를 상기 제 2 압축 해제 주소로 압축 해제하도록 구성되는
    것을 특징으로 하는 펌 웨어 압축 해제 장치.
KR1020157036876A 2015-01-29 2015-10-29 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법, 장치, 프로그램 및 저장매체 KR101852087B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510044885.XA CN104636140B (zh) 2015-01-29 2015-01-29 固件压缩方法、固件解压方法和装置
CN201510044885.X 2015-01-29
PCT/CN2015/093223 WO2016119497A1 (zh) 2015-01-29 2015-10-29 固件压缩方法、固件解压方法和装置

Publications (2)

Publication Number Publication Date
KR20160103919A true KR20160103919A (ko) 2016-09-02
KR101852087B1 KR101852087B1 (ko) 2018-04-25

Family

ID=53214941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036876A KR101852087B1 (ko) 2015-01-29 2015-10-29 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법, 장치, 프로그램 및 저장매체

Country Status (8)

Country Link
US (1) US20160226519A1 (ko)
EP (1) EP3051413A1 (ko)
JP (1) JP6186094B2 (ko)
KR (1) KR101852087B1 (ko)
CN (1) CN104636140B (ko)
MX (1) MX364949B (ko)
RU (1) RU2628482C1 (ko)
WO (1) WO2016119497A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636140B (zh) * 2015-01-29 2018-05-29 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
US10248940B1 (en) 2015-09-24 2019-04-02 Square, Inc. Modular firmware for transaction system
US10108412B2 (en) 2016-03-30 2018-10-23 Square, Inc. Blocking and non-blocking firmware update
US9778928B1 (en) * 2016-03-30 2017-10-03 Invensense, Inc. Compressed firmware update
US10417628B2 (en) 2016-06-29 2019-09-17 Square, Inc. Multi-interface processing of electronic payment transactions
US10817869B2 (en) 2016-06-29 2020-10-27 Square, Inc. Preliminary enablement of transaction processing circuitry
US11010765B2 (en) 2016-06-29 2021-05-18 Square, Inc. Preliminary acquisition of payment information
CN107665173B (zh) * 2016-07-29 2021-05-14 北京小米移动软件有限公司 语音存储方法、语音读取方法及装置
US10990969B2 (en) 2018-12-21 2021-04-27 Square, Inc. Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US10762196B2 (en) 2018-12-21 2020-09-01 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981763A (ja) * 1995-07-07 1997-03-28 Oki Data:Kk 文字・イメージ混在データの圧縮方法及び装置
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6092071A (en) * 1997-11-04 2000-07-18 International Business Machines Corporation Dedicated input/output processor method and apparatus for access and storage of compressed data
US6332172B1 (en) * 1998-05-29 2001-12-18 Cisco Technology, Inc. Method and system for virtual memory compression in an embedded system
JP3813769B2 (ja) * 1998-08-03 2006-08-23 松下電器産業株式会社 制御プログラム送信方法及び制御プログラムダウンロード方法
JP2000242484A (ja) * 1999-02-24 2000-09-08 Hitachi Ltd 制御プログラムの変更方法
JP2000285010A (ja) * 1999-03-30 2000-10-13 Japan Research Institute Ltd アプリケーションの動作用メモリ量をチェックするプログラムを記録した媒体
JP2001166941A (ja) * 1999-12-07 2001-06-22 Sony Corp 情報処理装置および方法、並びに記録媒体
US7124286B2 (en) * 2000-01-14 2006-10-17 Advanced Micro Devices, Inc. Establishing an operating mode in a processor
US6694393B1 (en) * 2000-06-30 2004-02-17 Lucent Technologies Inc. Method and apparatus for compressing information for use in embedded systems
KR100602394B1 (ko) * 2000-08-15 2006-07-20 시게이트 테크놀로지 엘엘씨 동작 코드용 듀얼 모드 데이터 압축 방법
US7272539B2 (en) * 2002-03-25 2007-09-18 Yoshihiko Sano Representation generation method, representation generation device, and representation generation system
US7472205B2 (en) * 2002-04-24 2008-12-30 Nec Corporation Communication control apparatus which has descriptor cache controller that builds list of descriptors
US7886093B1 (en) * 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US20070016693A1 (en) * 2005-06-30 2007-01-18 Advanced Micro Devices, Inc. Decompression technique for generating software image
US20070226420A1 (en) * 2006-03-22 2007-09-27 Sung Chih-Ta S Compression method and apparatus for a CPU
JP5437556B2 (ja) * 2006-07-12 2014-03-12 日本電気株式会社 情報処理装置およびプロセッサ機能変更方法
US20080119178A1 (en) * 2006-11-21 2008-05-22 Samsung Electronics Co., Ltd. Allocating Compression-Based Firmware Over the Air
ES2536206T3 (es) * 2008-02-27 2015-05-21 Hisamitsu Pharmaceutical Co., Inc. Parche medicinal
JP5418194B2 (ja) * 2009-06-04 2014-02-19 株式会社リコー 撮像システム
US8566613B2 (en) * 2010-06-11 2013-10-22 Intel Corporation Multi-owner deployment of firmware images
CN102955699A (zh) * 2011-08-17 2013-03-06 施耐德电器工业公司 一种软件升级包创建方法和软件升级方法
CN103425508A (zh) * 2013-05-27 2013-12-04 林永宗 一种zigbee固件压缩更新的方法
US10205769B2 (en) * 2013-05-31 2019-02-12 Itron, Inc. Distributed applications across platforms
JP2014235590A (ja) * 2013-06-03 2014-12-15 株式会社リコー 情報処理装置、画像形成装置、カメラ
CN103399763B (zh) * 2013-07-23 2016-12-28 北京昆腾微电子有限公司 下载用于芯片的程序文件的方法和装置
CN103473097A (zh) * 2013-09-09 2013-12-25 福州瑞芯微电子有限公司 Android系统固件升级系统、装置及升级方法
CN104636140B (zh) * 2015-01-29 2018-05-29 小米科技有限责任公司 固件压缩方法、固件解压方法和装置

Also Published As

Publication number Publication date
US20160226519A1 (en) 2016-08-04
MX364949B (es) 2019-05-15
CN104636140A (zh) 2015-05-20
WO2016119497A1 (zh) 2016-08-04
MX2016002292A (es) 2016-12-14
JP2017506791A (ja) 2017-03-09
RU2628482C1 (ru) 2017-08-17
KR101852087B1 (ko) 2018-04-25
JP6186094B2 (ja) 2017-08-23
EP3051413A1 (en) 2016-08-03
CN104636140B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
KR101852087B1 (ko) 펌 웨어 압축 방법, 펌 웨어 압축 해제 방법, 장치, 프로그램 및 저장매체
EP3046309B1 (en) Method, device and system for projection on screen
JP6134446B2 (ja) 画像分割方法、画像分割装置、画像分割デバイス、プログラム及び記録媒体
EP3276976A1 (en) Method, apparatus, host terminal, server and system for processing live broadcasting information
EP3136699A1 (en) Method and device for connecting external equipment
KR101718999B1 (ko) 휴대단말기의 어플리케이션 제어장치 및 방법
EP3176709A1 (en) Video categorization method and apparatus, computer program and recording medium
US10810172B2 (en) Data clearing method, apparatus and storage medium
JP6328275B2 (ja) 画像タイプ識別方法、装置、プログラム及び記録媒体
US20220248083A1 (en) Method and apparatus for video playing
KR20170142839A (ko) 단말기의 작업모드 확정방법, 장치, 프로그램 및 기록매체
US11144422B2 (en) Apparatus and method for controlling external device
RU2614541C2 (ru) Способ, устройство и терминал для перенастройки изображения
KR20140092517A (ko) 카메라의 영상 데이터 압축 방법 및 이를 지원하는 단말기
US10013151B2 (en) Method and terminal device for adjusting widget
CN106782576B (zh) 音频混音方法及装置
KR101714050B1 (ko) 휴대단말기의 데이터 표시장치 및 방법
US10085050B2 (en) Method and apparatus for adjusting video quality based on network environment
CN111953980A (zh) 视频处理方法及装置
CN110784721A (zh) 一种图片数据压缩方法、装置、电子设备及存储介质
EP3177043A2 (en) Method and apparatus for managing routing device and mobile terminal
US20210360189A1 (en) Video processing method and apparatus, and storage medium
KR101939820B1 (ko) 외부기기 제어장치 및 방법
CN117676333A (zh) 控制方法、装置、终端及存储介质
CN115705219A (zh) 终端启动方法、装置、存储介质及终端

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant