KR20070108646A - Method and terminal for managing of compression binary file - Google Patents

Method and terminal for managing of compression binary file Download PDF

Info

Publication number
KR20070108646A
KR20070108646A KR1020060040948A KR20060040948A KR20070108646A KR 20070108646 A KR20070108646 A KR 20070108646A KR 1020060040948 A KR1020060040948 A KR 1020060040948A KR 20060040948 A KR20060040948 A KR 20060040948A KR 20070108646 A KR20070108646 A KR 20070108646A
Authority
KR
South Korea
Prior art keywords
binary file
start address
compressed
decode table
flash memory
Prior art date
Application number
KR1020060040948A
Other languages
Korean (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 삼성전자주식회사
Priority to KR1020060040948A priority Critical patent/KR20070108646A/en
Publication of KR20070108646A publication Critical patent/KR20070108646A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories

Abstract

A terminal for managing a compressed binary file and a method thereof are provided to reduce a space of an NAND flash memory and to increase a storage space where a user can use by compressing a code area, which is one of binary areas, and downloading the compressed code area to reduce a time for downloading a binary file. A terminal for managing a compressed binary file comprises a download interface unit(110), an NAND flash memory(120), a start address detector(130), a decompressing unit(140) and a controller(150). The download interface unit(110) downloads a compressed binary file including a decoding table where an address before compression is mapped with an address after compression. The NAND flash memory(120) stores the compressed binary file. The start address detector(130) detects a start address of the decoding table included in the compressed binary file. The decompressing unit(140) decompresses the compressed binary file by referring to the mapping information of the decoding table from the start address of the detected decoding table. The controller(150) loads the decompressed binary file to an SDRAM flash memory where a binary file waiting for execution is stored.

Description

압축 바이너리 파일을 관리하는 단말기 및 그 방법{Method and Terminal for Managing of Compression Binary File } Terminal and method for managing compressed binary files {Method and Terminal for Managing of Compression Binary File}

도 1은 바이너리 파일이 들어간 종래의 난드 플래시 구조를 나타낸 도면,1 is a view showing a conventional NAND flash structure containing a binary file,

도 2는 본 발명의 바람직한 실시 예에 따른 단말기에 대한 개략적인 블록도,2 is a schematic block diagram of a terminal according to an embodiment of the present invention;

도 3은 도 2의 난드 플래시 메모리의 구조를 상세히 나타낸 도면,3 is a view illustrating in detail the structure of the NAND flash memory of FIG. 2;

도 4는 본 발명의 바람직한 실시 예에 다른 압축해제 과정을 나타낸 순서도, 그리고4 is a flowchart illustrating another decompression process according to a preferred embodiment of the present invention; and

도 5는 도 3의 디코드 테이블 시작주소 검출 과정을 상세히 나타낸 순서도이다.FIG. 5 is a flowchart illustrating a process of detecting a decoding table start address of FIG. 3.

본 발명은 단말기에 관한 것으로서, 특히 단말기의 압축된 바이너리 파일의 관리 방법에 관한 것이다. The present invention relates to a terminal, and more particularly, to a method for managing a compressed binary file of a terminal.

단말기는 그 제조 공정과정에서 단말기에 내장되는 플래시 메모리에 운영체 제(OS) 및 응용 프로그램을 다운로드하여 저장한다. 이때 단말기의 플래시 메모리에 다운로드 되는 운영체제 및 응용 프로그램은 바이너리파일(binary file)로 구성되어 있으므로, 다운로드 과정에서 상기 바이너리 파일을 플래시 메모리에 다운로드하게 된다. The terminal downloads and stores an operating system (OS) and an application program into a flash memory embedded in the terminal during the manufacturing process. In this case, since the operating system and the application program downloaded to the flash memory of the terminal are configured as a binary file, the binary file is downloaded to the flash memory during the download process.

일반적으로 바이너리 파일이 다운로드 되는 플레시 메모리로서 난드(NAND)플래시 메모리(10)를 사용한다.In general, a NAND flash memory 10 is used as a flash memory into which a binary file is downloaded.

도 1은 바이너리 파일이 들어간 종래의 난드 플래시 구조이다.1 is a conventional NAND flash structure containing a binary file.

난드 플래시 메모리(10)는 USB BOOT 영역(11), BOOT영역(12), 코드 영역(13), Image Data 영역(14), 및 이에프에스(Embedded File System; 이하 EFS) 영역(15)을 포함한다.The NAND flash memory 10 includes a USB boot area 11, a boot area 12, a code area 13, an image data area 14, and an embedded file system (EFS) area 15. do.

USB BOOT 영역(11)은 외부 장치로(예컨대, 컴퓨터)부터 USB 포트를 이용해 바이너리 파일을 다운로드를 하기위해 필요한 코드를 저장하는 영역이다.The USB BOOT area 11 is an area for storing code necessary for downloading a binary file from an external device (for example, a computer) using a USB port.

BOOT 영역(12)은 단말기를 리셋하거나 부팅 시 초기 단말기 셋 업에 필요한 코드들을 저장하는 영역이다.The BOOT area 12 is an area for storing codes necessary for initial terminal setup when resetting or booting the terminal.

코드 영역(13)은 부팅 시 BOOT 영역(12)의 코드들이 수행 된 후 수행되는 코드이다. 일반적으로 단말기의 운영체제(Operation System: OS)프로그램을 말한다. 특히 압축 코드 영역(13)은 Code 및 RO 영역(13a)과 RW 영역(13b)을 포함하는 것이 바람직하다. Code 및 RO 영역(13a)은 폰의 동작을 위한 메인 코드와 read-only 데이터를 저장하고, RW 영역(13b)은 상기 Code 내부에 쓰인 변수들을 저장하는 것이 바람직하다.The code area 13 is code that is executed after codes of the boot area 12 are executed at boot time. In general, an operating system (OS) program of a terminal. In particular, the compressed code region 13 preferably includes a Code and RO region 13a and an RW region 13b. The code and RO regions 13a store main codes and read-only data for the operation of the phone, and the RW region 13b stores variables used in the code.

Image Data 영역(14)은 단말기의 사용자 인터페이스를 위한 리소스를 저장한다. 예를 들어, Image Data 영역(14)은 단말기 설정 시 적용되는 그림, 멜로디 등을 저장한다. The Image Data area 14 stores resources for the user interface of the terminal. For example, the image data area 14 stores a picture, a melody, and the like applied when the terminal is set.

EFS 영역(15)은 어플리케이션을 위해 사용자에게 제공되는 저장 영역이다. 예를 들어, EFS 영역(15)은 멀티미디어 메시지, 전화번호부 등의 어플리케이션을 위해 사용자에게 제공되는 저장영역이다.The EFS area 15 is a storage area provided to the user for the application. For example, the EFS area 15 is a storage area provided to the user for applications such as multimedia messages and phone books.

한편 바이너리 파일을 플래시 메모리에 다운로드 할 때, 단말기는 외부 장치로부터(예컨대, 컴퓨터) 컴파일하여 생성된 원본 바이너리 파일을 플래시 메모리에 다운로드 한다. 이때 운영체제가 버전 업이 되거나, 이동통신 단말기의 개발 과정에서 바이너리에 응용 프로그램이 추가되면 바이너리 크기가 커지므로, 플래시 메모리에서 사용자에게 제공되는 EFS 영역을 위해 할애 할 수 있는 공간이 줄어든다. Meanwhile, when downloading a binary file to flash memory, the terminal downloads the original binary file generated by compiling from an external device (for example, a computer) to flash memory. At this time, if the operating system is upgraded or an application program is added to the binary in the development process of the mobile communication terminal, the binary size increases, and thus the space that can be allocated for the EFS area provided to the user in the flash memory is reduced.

예를 들어, 이동통신 단말기의 바이너리 파일을 32M가 할당된 비휘발성 메모리인 난드 플래시 메모리(10)에 저장하는 경우, 어플리케이션 코드 크기가 증가하여 난드 플래시 메모리(10)가 32M를 넘어설 경우 난드 플래시 메모리(10)의 특성상 64M를 사용하여야 하므로, 필요한 사용 공간 대비 비용 낭비가 크다.For example, when the binary file of the mobile communication terminal is stored in the NAND flash memory 10, which is a nonvolatile memory allocated with 32M, the application code size is increased, and the NAND flash memory is exceeded when the NAND flash memory 10 exceeds 32M. Due to the nature of the memory 10, 64M should be used, which is a great waste of cost compared to the required use space.

또한 바이너리 크기가 클수록 플래시 메모리로 다운로드하는데 걸리는 시간이 증가하는 문제점이 있다.In addition, the larger the binary size, the longer it takes to download to the flash memory.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 난드 플래시 메모리 의 많은 부분을 차지하는 코드를 압축하는 방법을 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method for compressing code that takes up a large portion of the NAND flash memory.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 코드를 압축하여 바이너리 다운로드하는데 걸리는 시간을 줄이는 방법을 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method for reducing the time it takes to download the binary by compressing the code.

상기와 같은 목적을 달성하기 위해 본 발명의 실시 예에 따른 압축된 바이너리 파일을 관리하는 단말기는 외부로부터 압축 전과 압축 후의 주소를 매핑하고 있는 디코딩 테이블을 포함한 압축 바이너리 파일을 다운받는 다운로드 인터페이스부, 상기 압축 바이너리 파일을 저장하는 난드 플레시 메모리, 상기 압축 바이너리 파일에 포함된 상기 디코드 테이블의 시작주소를 검출하는 시작주소 검출부, 상기 검출된 디코드 테이블의 시작주소로부터 상기 디코드 테이블의 매핑정보를 참조하여 상기 압축 바이너리 파일의 압축을 해제하는 압축 해제부, 및 실행 대기 중인 바이너리 파일을 저장하는 에스디램 플래시 메모리에 상기 압축 해제된 바이너리 파일을 로딩하는 제어부로 구성된다. In order to achieve the above object, a terminal for managing a compressed binary file according to an embodiment of the present invention includes a download interface unit for downloading a compressed binary file including a decoding table that maps an address before and after compression from an external source. NAND flash memory for storing a compressed binary file, a start address detecting unit for detecting the start address of the decode table included in the compressed binary file, the compression by referring to the mapping information of the decode table from the detected start address of the decode table A decompression unit for decompressing a binary file and a control unit for loading the decompressed binary file into an SDRAM flash memory storing a binary file awaiting execution.

상기와 같은 목적을 달성하기 위해 본 발명의 실시 예에 따른 단말기의 압축된 바이너리 파일의 관리 방법은 외부로부터 압축 전과 압축 후의 주소를 매핑하고 있는 디코드 테이블을 포함한 압축 바이너리 파일을 다운받아 저장하는 단계, 상기 압축 바이너리 파일에 포함된 압축 전과 압축 후의 주소를 매핑하고 있는 디코드 테이블의 시작주소를 검출하는 단계, 및 상기 검출된 디코드 테이블의 시작주소로부터 상기 디코드 테이블의 매핑정보를 참조하여 상기 압축 바이너리 파일의 압축 을 해제하는 단계, 실행 대기 중인 바이너리 파일을 저장하는 에스디램 플래시 메모리에 상기 압축 해제된 바이너리 파일을 로딩하는 단계를 포함한다.In order to achieve the above object, a method of managing a compressed binary file of a terminal according to an embodiment of the present invention includes downloading and storing a compressed binary file including a decode table that maps addresses before and after compression from an external source, Detecting a start address of a decode table that maps addresses before and after compression included in the compressed binary file, and referring to mapping information of the decode table from the detected start address of the decode table. Decompressing, and loading the decompressed binary file into the SDRAM flash memory for storing the binary file waiting to be executed.

본 발명에 따르면, 바이너리 파일의 코드 영역을 압축하여 다운로드 함으로써, 난드 플래시 메모리의 공간을 줄여 사용자가 이용할 수 있는 저장공간이 증가된다.According to the present invention, by compressing and downloading the code region of the binary file, the storage space available to the user is increased by reducing the space of the NAND flash memory.

또한 메모리의 비용 감소와 바이너리 파일 다운 받는 시간을 줄임으로써 제품 개발비용 절약하는 효과가 있다. It also saves on product development costs by reducing the cost of memory and the time required to download binary files.

이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements in the figures are represented by the same numerals wherever possible. In addition, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

본 발명에서 압축된 바이너리 파일은 압축된 코드를 포함하는 바이너리 파일임이 바람직하다.In the present invention, the compressed binary file is preferably a binary file including the compressed code.

도 2는 본 발명의 바람직한 실시 예에 따른 단말기에 대한 개략적인 블록도이다.2 is a schematic block diagram of a terminal according to an exemplary embodiment of the present invention.

본 발명의 단말기(100)는 다운로드 인터페이스부(110), 난드 플래시 메모리(120), 시작주소 검출부(130), 압축 해제부(140), 제어부(150), 및 에스디램 플래시 메모리(160)로 구성된다.The terminal 100 of the present invention includes a download interface 110, a NAND flash memory 120, a start address detector 130, a decompressor 140, a controller 150, and an SDRAM flash memory 160. It is composed.

다운로드 인터페이스부(110)는 외부로부터 데이터를 다운로드 한다. 특히 외부 장치(예컨대, 컴퓨터)로부터 컴파일 중 코드 압축파일을 실행하여 생성된 압축 바이너리 파일을 연결 포트(예컨대, USB 포트)를 이용하여 다운로드 한다. 여기서 압축 바이너리 파일은 미리 설정된 전체 바이너리 크기정보 및 미리 설정된 디코드 테이블 크기정보를 저장한다. 상기 전체 바이너리 크기정보 및 디코드 테이블 크기정보는 단말기 개발과정에서 고정된 값이므로 사용자가 변경할 수 없음은 물론이다.The download interface unit 110 downloads data from the outside. In particular, a compressed binary file generated by executing a code compressed file during compilation from an external device (for example, a computer) is downloaded using a connection port (for example, a USB port). Here, the compressed binary file stores preset total binary size information and preset decode table size information. Since the entire binary size information and the decode table size information are fixed values during the terminal development process, the user cannot change them.

난드 플래시 메모리(120)는 폰을 동작시키기 위한 코드와 사용자의 입력정보를 저장한다. 특히 난드 플래시 메모리(120)는 다운로드 인터페이스부(110)로부터 다운로드 된 압축 바이너리를 저장한다. 난드 플래시 메모리(120)의 각 영역에 대한 상세한 설명은 도 3을 참조하여 후술할 것이다.The NAND flash memory 120 stores a code for operating a phone and user input information. In particular, the NAND flash memory 120 stores the compressed binary downloaded from the download interface unit 110. Details of each region of the NAND flash memory 120 will be described later with reference to FIG. 3.

시작주소 검출부(130)는 난드 플래시 메모리(120)에 저장된 압축 바이너리 파일에 포함된 압축 전 후의 주소를 매핑하고 있는 디코드 테이블의 시작주소를 검출한다. 상기 디코드 테이블에 관한 내용은 본원의 요지를 벗어나므로 디코드 테이블에 대한 구체적인 설명은 생략한다. The start address detector 130 detects a start address of a decode table that maps addresses before and after compression included in a compressed binary file stored in the NAND flash memory 120. Since the content of the decode table is beyond the scope of the present application, a detailed description of the decode table is omitted.

특히 시작주소 검출부(130)는 단말기(100) 부팅 시 가장 처음으로 위치하는 바이너리 시작 주소에 전체 바이너리 파일 크기를 더한 값에서 디코드 테이블 크기를 빼어 디코드 테이블 시작 주소를 산출하는 것이 바람직하다. In particular, the start address detector 130 may calculate a decode table start address by subtracting the decode table size from a value obtained by adding the entire binary file size to the first binary start address located when the terminal 100 is booted.

압축 해제부(140)는 시작주소 검출부(130)로부터 검출된 디코드 테이블의 시작주소로부터 디코드 테이블의 매핑정보를 참조하여 미리 설정된 압축 해제 알고리즘을 이용하여 압축 바이너리의 압축을 해제한다. The decompressor 140 decompresses the compressed binary by using a decompression algorithm set in advance by referring to mapping information of the decode table from the start address of the decode table detected by the start address detector 130.

여기서 미리 설정된 압축 해제 알고리즘은 코드 상에서 자주 쓰이는 명령어 심볼을 디코드 테이블에 미리 만들어 둔 후, 압축할 때 해당 심볼을 발견하면 명령어 인덱스를 해당 테이블에 저장한다. 압축 해제할 때에는 디코드 테이블을 검색하여 디코드 시 명령어 심볼에 따른 인덱스를 참고하여 압축을 해제한다. Here, the decompression algorithm set in advance creates an instruction symbol that is frequently used in the code in a decode table, and if the symbol is found during compression, the instruction index is stored in the table. When decompressing, search the decode table and decompress by referring to the index according to the instruction symbol during decoding.

상기 압축 및 해제방법은 자주 쓰이는 명령어 심볼을 미리 알 수 있을 경우 사용하는 것이 바람직하다.The compression and decompression method may be used when a commonly used instruction symbol can be known in advance.

제어부(150)는 단말기의 전반적인 동작을 제어한다. 특히 제어부(150)는 실행 대기 중인 바이너리 파일을 저장하는 에스디램 플래시 메모리(160)에 압축 해제된 바이너리 파일을 로딩하는 것이 바람직하다.The controller 150 controls the overall operation of the terminal. In particular, the controller 150 may load the decompressed binary file into the SDRAM flash memory 160 that stores the binary file that is waiting to be executed.

에스디램 플래시 메모리(160)는 실행하기 위한 바이너리 파일을 저장한다. 특히 제어부(150)의 제어 하에 폰을 동작하기 위한 압축 해제된 바이너리 파일을 저장하는 것이 바람직하다.The SDRAM flash memory 160 stores a binary file for execution. In particular, it is preferable to store the decompressed binary file for operating the phone under the control of the controller 150.

도 3은 도2의 난드 플래시 메모리의 구조를 상세히 나타낸 도면이다.3 is a diagram illustrating the structure of the NAND flash memory of FIG. 2 in detail.

난드 플래시 메모리(120)는 USB BOOT 영역(121), BOOT영역(122), 압축 코드 영역(123), Image Data 영역(124), 디코드 테이블 영역(125) 및 EFS 영역(126)을 포함한다.The NAND flash memory 120 includes a USB BOOT area 121, a BOOT area 122, a compressed code area 123, an image data area 124, a decode table area 125, and an EFS area 126.

특히 도 3은 도 1에서 예시된 종래의 난드 플래시 구조의 코드 영역을 대신하여 압축 코드영역이 포함되고, 디코드 테이블이 추가된 경우에 대한 예를 도시한다. In particular, FIG. 3 illustrates an example in which a compressed code region is included in place of the code region of the conventional NAND flash structure illustrated in FIG. 1 and a decode table is added.

따라서 상기 각 영역은 각각 도 1에 예시된 영역과 그 기능이 유사하다. 즉 USB BOOT 영역(121)은 도 1의 USB BOOT 영역(11)과, BOOT 영역(122)은 도 1의 BOOT 영역(12)과, 압축코드 영역(123)과 도 1의 코드 영역(13)과, Image Data 영역(124)은 도 1의 Image Data 영역(14)과, EFS 영역(126)은 도 1의 EFS 영역(15)과 그 기능이 유사하다.Therefore, each of the above areas is similar in function to that shown in FIG. That is, the USB BOOT area 121 is the USB BOOT area 11 of FIG. 1, the BOOT area 122 is the BOOT area 12 of FIG. 1, the compressed code area 123, and the code area 13 of FIG. 1. The function of the Image Data area 124 is similar to that of the Image Data area 14 of FIG. 1 and the EFS area 126 is similar to that of the EFS area 15 of FIG.

다만 압축 코드 영역은 미리 설정된 압축 알고리즘을 이용하여 Code 및 Ro 영역과 RW 영역의 데이터 및 코드를 압축하여 저장하는 것이 다르다. However, the compressed code area is different from that of compressing and storing data and codes of Code and Ro area and RW area using a predetermined compression algorithm.

또한 디코드 테이블 영역(125)이 추가된다. 디코드 테이블영역(125)은 코드 압축 전과 코드 압축 후의 주소정보를 매핑한 테이블을 저장하는 영역이다. 이때 상기 디코드 테이블에 대한 상세한 내용은 본원의 요지를 벗어나므로 디코드 테이블에 대한 구체적인 설명은 생략한다. In addition, a decode table area 125 is added. The decode table area 125 is an area for storing a table that maps address information before and after code compression. In this case, since the details of the decode table are out of the gist of the present application, a detailed description of the decode table is omitted.

도 4는 본 발명의 바람직한 실시 예에 다른 압축해제 과정을 나타낸 순서도이다.Figure 4 is a flow chart showing another decompression process in a preferred embodiment of the present invention.

도 2 및 도 4를 참조하면, 제어부(150)는 외부장치(예컨대, 컴퓨터)로부터 코드 압축 전과 코드 압축 후의 주소 매핑정보를 포함한 압축 바이너리 파일을 다운로드 인터페이스부(110)로부터 다운로드하여 난드 플래시 메모리(120)에 저장한다(S200). 제어부(150)는 단말기(100)의 전원이 온 되거나, 리셋신호가 인식되면(S210) 시작주소 검출부(130)를 제어하여 압축 바이너리 파일에 포함된 코드 압축 전과 코드 압축 후의 주소를 매핑하고 있는 디코드 테이블의 시작주소를 검출한다(S220). 상기 디코드 테이블의 시작주소를 검출하는 S220 과정의 상세한 설명은 도 5를 참조하여 후술할 것이다.2 and 4, the controller 150 downloads a compressed binary file including address mapping information before and after code compression from an external device (for example, a computer) from the download interface unit 110 to perform a NAND flash memory ( 120) (S200). When the power supply of the terminal 100 is turned on or a reset signal is recognized (S210), the controller 150 controls the start address detector 130 to decode the addresses before and after the code compression included in the compressed binary file. The start address of the table is detected (S220). A detailed description of the S220 process of detecting the start address of the decode table will be described later with reference to FIG. 5.

제어부(150)는 압축 해제부(140)를 제어하여 검출된 디코딩 테이블의 시작주 소로부터 디코드 테이블의 매핑정보를 참조하여 미리 설정된 압축 해제 알고리즘을 이용하여 압축 바이너리 파일의 압축을 해제한다(S230). 이때 제어부(150)는 상기 압축 해제된 바이너리 파일을 실행하기 위한 에스디램 플래시 메모리(160)에 로딩한다(S240).The controller 150 controls the decompressor 140 to decompress the compressed binary file by using a decompression algorithm set in advance by referring to mapping information of the decode table from the detected start address of the decode table (S230). . At this time, the control unit 150 loads the SDRAM flash memory 160 to execute the decompressed binary file (S240).

도 5는 도 3의 디코드 테이블 시작주소 검출 과정을 상세히 나타낸 순서도이다.FIG. 5 is a flowchart illustrating a process of detecting a decoding table start address of FIG. 3.

도 2 및 도 5를 참조하면, 본 발명의 실시 예에 따른 디코드 테이블 시작주소 검출과정은 다음과 같다.2 and 5, the decoding table start address detection process according to an embodiment of the present invention is as follows.

시작주소 검출부(130)는 압축된 바이너리 파일로부터 미리 설정된 전체 바이너리 파일 크기정보(S221)와 미리 설정된 디코드 테이블 크기를 검출한다(S223). 시작 주소 검출부(130)는 단말기(100) 부팅 시 가장 처음으로 위치하는 바이너리 시작 주소에 검출된 전체 바이너리 파일 크기를 더한 값에서 검출된 디코드 테이블 크기를 빼어 디코드 테이블의 시작 주소를 산출하는 것이 바람직하다(S225).The start address detecting unit 130 detects the preset total binary file size information S221 and the preset decode table size from the compressed binary file (S223). The start address detector 130 may calculate the start address of the decode table by subtracting the detected decode table size from a value obtained by adding the total binary file size detected to the first binary start address located when the terminal 100 is booted. (S225).

이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다. In the above, specific preferred embodiments of the present invention have been illustrated and described. However, the present invention is not limited to the above-described embodiment, and various modifications can be made by those skilled in the art without departing from the gist of the present invention attached to the claims. will be.

본 발명에 따르면, 바이너리의 한 영역인 코드 영역을 압축하여 다운로드 함 으로써, 난드 플레시 메모리의 공간을 줄여 사용자가 이용할 수 있는 저장공간이 증가된다.According to the present invention, by compressing and downloading a code region, which is a region of a binary, the storage space available to a user is increased by reducing the space of the NAND flash memory.

또한 메모리의 비용 감소와 바이너리 파일을 다운로드하는 시간을 줄임으로써 제품 개발비용 절약하는 효과가 있다. It also reduces product development costs by reducing the cost of memory and reducing the time to download binary files.

Claims (6)

압축 바이너리 파일을 관리하는 단말기에 있어서,In a terminal for managing a compressed binary file, 외부로부터 압축 전과 압축 후의 주소를 매핑하고 있는 디코딩 테이블을 포함한 압축 바이너리 파일을 다운받는 다운로드 인터페이스부;A download interface unit for downloading a compressed binary file including a decoding table mapping addresses before and after compression from outside; 상기 압축 바이너리 파일을 저장하는 난드 플레시 메모리;A NAND flash memory for storing the compressed binary file; 상기 압축 바이너리 파일에 포함된 상기 디코드 테이블의 시작주소를 검출하는 시작주소 검출부;A start address detector for detecting a start address of the decode table included in the compressed binary file; 상기 검출된 디코드 테이블의 시작주소로부터 상기 디코드 테이블의 매핑정보를 참조하여 상기 압축 바이너리 파일의 압축을 해제하는 압축 해제부; 및 A decompression unit configured to decompress the compressed binary file by referring to mapping information of the decode table from a start address of the detected decode table; And 실행 대기 중인 바이너리 파일을 저장하는 에스디램 플래시 메모리에 상기 압축 해제된 바이너리 파일을 로딩하는 제어부를 포함하는 것을 특징으로 하는 단말기.And a controller configured to load the decompressed binary file into an SDRAM flash memory storing a binary file awaiting execution. 제 1항에 있어서, 상기 압축 바이너리 파일은 The method of claim 1, wherein the compressed binary file 미리 설정된 전체 바이너리 파일 크기정보 및 미리 설정된 디코드 테이블 크기정보를 저장하는 것을 특징으로 하는 단말기.And a predetermined total binary file size information and a predetermined decode table size information. 제 2항에 있어서, 상기 시작주소 검출부는 The method of claim 2, wherein the start address detection unit 기 설정된 바이너리 시작 주소에 상기 전체 바이너리 파일 크기를 더한 값에서 상기 디코드 테이블 크기를 빼어 디코드 테이블 시작 주소를 산출하는 것을 특징으로 하는 단말기.And a decode table start address is calculated by subtracting the decode table size from a value of a preset binary start address plus the total binary file size. 단말기에서 압축된 바이너리 파일의 관리 방법에 있어서,In the method of managing a binary file compressed in a terminal, 외부로부터 압축 전과 압축 후의 주소를 매핑하고 있는 디코드 테이블을 포함한 압축 바이너리 파일을 다운받아 저장하는 단계;Downloading and storing a compressed binary file including a decode table mapping addresses before and after compression from an external source; 싱기 압축 바이너리 파일에 포함된 압축 전과 압축 후의 주소를 매핑하고 있는 디코드 테이블의 시작주소를 검출하는 단계; 및 Detecting a start address of a decode table that maps addresses before and after compression included in the shinger compressed binary file; And 상기 검출된 디코드 테이블의 시작주소로부터 상기 디코드 테이블의 매핑정보를 참조하여 상기 압축 바이너리 파일의 압축을 해제하고 압축 해제하는 단계;Decompressing and decompressing the compressed binary file with reference to mapping information of the decode table from a start address of the detected decode table; 실행 대기 중인 바이너리 파일을 저장하는 에스디램 플래시 메모리에 상기 압축 해제된 바이너리 파일을 로딩하는 단계를 포함하는 것을 특징으로 하는 압축방법.And loading the decompressed binary file into an SDRAM flash memory storing a binary file awaiting execution. 제 4항에 있어서, 상기 압축 바이너리 파일은 The method of claim 4, wherein the compressed binary file 미리 설정된 전제 바이너리 크기 정보 및 미리 설정된 디코드 테이블 크기정 보를 저장하고 있는 것을 특징으로 하는 압축 방법.And a predetermined decode binary size information and a predetermined decode table size information. 제 5항에 있어서, 상기 디코드 테이블 시작주소 검색단계는The method of claim 5, wherein the decoding table start address retrieval step 상기 압축 바이너리 파일로부터 미리 설정된 전체 바이너리 크기를 검출하는 단계;Detecting a preset total binary size from the compressed binary file; 상기 압축 바이너리 파일로부터 미리 설정된 디코드 테이블 크기를 검출하는 단계; 및Detecting a preset decode table size from the compressed binary file; And 기 설정된 바이너리 시작 주소에 상기 전체 바이너리 크기를 더한 값에서 상기 디코드 테이블 크기를 빼어 디코드 테이블의 시작 주소를 산출하는 단계를 포함하는 것을 특징으로 하는 압축방법.And calculating a start address of a decode table by subtracting the size of the decode table from a value obtained by adding the total binary size to a preset binary start address.
KR1020060040948A 2006-05-08 2006-05-08 Method and terminal for managing of compression binary file KR20070108646A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060040948A KR20070108646A (en) 2006-05-08 2006-05-08 Method and terminal for managing of compression binary file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060040948A KR20070108646A (en) 2006-05-08 2006-05-08 Method and terminal for managing of compression binary file

Publications (1)

Publication Number Publication Date
KR20070108646A true KR20070108646A (en) 2007-11-13

Family

ID=39063366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060040948A KR20070108646A (en) 2006-05-08 2006-05-08 Method and terminal for managing of compression binary file

Country Status (1)

Country Link
KR (1) KR20070108646A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100116903A (en) * 2009-04-23 2010-11-02 삼성전자주식회사 Processing unit and booting method thereof
US9864704B2 (en) 2014-04-03 2018-01-09 SK Hynix Inc. Memory controller communicating with host, operating method thereof, and computing system including the same
KR101977265B1 (en) * 2017-11-08 2019-05-13 한양대학교 산학협력단 Method and apparatus for detection original entry point of packed executable files
CN110504973A (en) * 2018-05-16 2019-11-26 北京京东尚科信息技术有限公司 Compressing file, decompressing method and device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100116903A (en) * 2009-04-23 2010-11-02 삼성전자주식회사 Processing unit and booting method thereof
US9864704B2 (en) 2014-04-03 2018-01-09 SK Hynix Inc. Memory controller communicating with host, operating method thereof, and computing system including the same
KR101977265B1 (en) * 2017-11-08 2019-05-13 한양대학교 산학협력단 Method and apparatus for detection original entry point of packed executable files
CN110504973A (en) * 2018-05-16 2019-11-26 北京京东尚科信息技术有限公司 Compressing file, decompressing method and device

Similar Documents

Publication Publication Date Title
US10936327B2 (en) Method of implementing magnetic random access memory (MRAM) for mobile system-on-chip boot
EP2555110A1 (en) Smart mobile phone system and boot method thereof
KR101467515B1 (en) Apparatus and method for booting based on a snapshot image
US20100235617A1 (en) System recovery method and embedded system with automatic recovery function
US20120102314A1 (en) Smart phone system and booting method thereof
EP2076834A1 (en) Program upgrade system and method for ota-capable mobile terminal
CN101510161A (en) Bootstrap implementing method, apparatus and portable electronic apparatus
WO2023070823A1 (en) Bootloader loading method, apparatus and system, electronic device and medium
KR20030044906A (en) Accessing File Data Stored In Non-Volatile Re-Programmable Semiconductor Memories
CN106293849B (en) application updating method and terminal
CN112732345A (en) Starting method, device, equipment and storage medium of embedded system
KR20070108646A (en) Method and terminal for managing of compression binary file
CN115756561A (en) Software upgrading method and device, computer equipment and storage medium
CN111708548A (en) Software installation method, device, equipment and storage medium
KR20190109979A (en) Electronic device and method for controling update thereof
US20070283130A1 (en) Compact Storage Of Program Code On Mobile Terminals
US8458730B2 (en) Multi-level driver configuration
US20150006845A1 (en) Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
US10817224B2 (en) Preemptive decompression scheduling for a NAND storage device
US20150089486A1 (en) Method of Firmware Upgrade
CN108595192B (en) Application program installation method and terminal equipment
KR100640389B1 (en) Method for executing application in an apparatus having nand flash memory and the apparatus
CN111399926A (en) Method and device for downloading starting program
EP0905613B1 (en) Method for storing and using executable programs and apparatus therefor
KR100673999B1 (en) Method for booting of mobile

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application