KR20060025854A - Boot-loader version managing method for mobile communication terminal - Google Patents

Boot-loader version managing method for mobile communication terminal Download PDF

Info

Publication number
KR20060025854A
KR20060025854A KR1020040074706A KR20040074706A KR20060025854A KR 20060025854 A KR20060025854 A KR 20060025854A KR 1020040074706 A KR1020040074706 A KR 1020040074706A KR 20040074706 A KR20040074706 A KR 20040074706A KR 20060025854 A KR20060025854 A KR 20060025854A
Authority
KR
South Korea
Prior art keywords
boot
boot loader
version
bootcode
flash memory
Prior art date
Application number
KR1020040074706A
Other languages
Korean (ko)
Other versions
KR101113342B1 (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 KR1020040074706A priority Critical patent/KR101113342B1/en
Publication of KR20060025854A publication Critical patent/KR20060025854A/en
Application granted granted Critical
Publication of KR101113342B1 publication Critical patent/KR101113342B1/en

Links

Images

Classifications

    • 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/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Abstract

본 발명은 이동통신 단말기의 부트로더 버전 관리 방법에 관한 것으로, 종래 NAND 타입 플래쉬 메모리 및 부트로더를 사용하는 이동통신 단말기의 주 제어부에서는 부트코드와 함께 저장된 부트로더를 이용하여 해당 부트코드를 램으로 복사하는 동작을 시스템 부팅시 실시하게 되며, 상기 부트코드는 독립적으로 생성되어 상기 플래쉬 메모리의 부트코드 영역에 저장될 수 있다. 하지만, 상기 부트코드는 적합한 버전의 부트로더를 사용해야만 정확한 동작을 보장하므로 원하는 부트로더 버전과 기 저장되어 있는 부트로더 버전이 일치하지 않는 경우 단말기 동작에 오류가 발생할 수 있으나, 저장되어 있는 부트로더의 버전을 확인할 수 있는 방법이 없어 부트로더의 버전 관리가 불가능한 문제점이 있었다. 이와 같은 문제점을 감안한 본 발명은 부트코드 작성시 지원하는 부트로더의 버전 정보를 입력하도록 하고, 상기 부트코드 작성시 동시에 작성되는 부트로더는 컴파일시 상기 부트코드의 부트로더 버전 정보를 참조하도록 하며, 상기 부트코드와 부트로더를 컴파일한 바이너리 파일을 플래쉬 메모리에 다운로드하는 경우 상기 부트로더 저장 영역의 고정 위치에 해당 부트로더 버전 정보가 위치되도록 한 후, 부팅시마다 플래쉬 메모리의 일정 위치에서 부트로더 버전 정보를 획득하여 램으로 전달되는 부트코드에 포함된 부트로더 버전 정보와 비교하여 일치하지 않으면 사용자에게 부트로더 버전 오류를 알려줄 수 있도록 함으로써, 부트코드에 적합하지 않은 부트로더 버전의 사용에 따른 이동통신 단말기 오동작을 방지할 수 있고, 정확한 버전의 부트로더 사용을 보장할 수 있도록 하는 효과가 있다.The present invention relates to a boot loader version management method of a mobile communication terminal, in the main control unit of a mobile communication terminal using a conventional NAND type flash memory and a boot loader using the boot loader stored with the boot code to the RAM The copying operation is performed when the system is booted. The bootcode may be independently generated and stored in the bootcode area of the flash memory. However, since the boot code guarantees correct operation only by using an appropriate version of the boot loader, an error may occur in a terminal operation when a desired boot loader version does not match a pre-stored boot loader version, but the stored boot loader There was no way to check the version of the boot loader, so there was a problem. In view of the above problems, the present invention allows the input of bootloader version information to be supported when writing bootcode, and the bootloader simultaneously created when the bootcode is written to refer to the bootloader version information of the bootcode at compile time. When downloading the boot code and the binary file that compiles the boot loader to the flash memory, the boot loader version information is located at a fixed location of the boot loader storage area, and then boot loader version information is set at a predetermined location of the flash memory every boot. Acquired by comparing the bootloader version information included in the bootcode delivered to the RAM, if not matched to inform the user of the bootloader version error, thereby the mobile terminal according to the use of the bootloader version that is not suitable for the bootcode To prevent malfunctions Tropez has the effect that in order to ensure a better use.

Description

이동통신 단말기의 부트로더 버전 관리 방법{BOOT-LOADER VERSION MANAGING METHOD FOR MOBILE COMMUNICATION TERMINAL}Boot loader version management method of mobile communication terminal {BOOT-LOADER VERSION MANAGING METHOD FOR MOBILE COMMUNICATION TERMINAL}

도 1은 본 발명 일 실시예의 동작을 설명하기 위한 개념도.1 is a conceptual diagram for explaining the operation of an embodiment of the present invention.

도 2는 본 발명 일 실시예에 따른 플래쉬 메모리 맵.2 is a flash memory map according to an embodiment of the present invention.

도 3은 본 발명 일 실시예에 따른 동작 과정을 보이는 순서도.3 is a flow chart showing an operation process according to an embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10: NAND 플래쉬 메모리 11: 부트코드 영역10: NAND flash memory 11: bootcode area

12: 부트로더 영역 13: 버전 정보 위치12: Boot Loader Zone 13: Version Information Location

20: SD램20: SD RAM

본 발명은 이동통신 단말기의 부트로더 버전 관리 방법에 관한 것으로, 특히 이동통신 단말기의 주제어기에 포함된 NAND타입 플래쉬 메모리에 부트로더(Boot-loader)를 컴파일하여 기록할 경우 부트로더의 버전 정보를 일정 위치에 저장하도록 하고, 부팅시 부트코드에 설정된 부트로더의 버전과 실제 부트로더의 버전을 비교하도록 하여 올바른 부트로더의 사용을 보장하도록 한 이동통신 단말기의 부트로 더 버전 관리 방법에 관한 것이다. The present invention relates to a boot loader version management method of a mobile communication terminal, in particular, when the boot loader (Boot-loader) is compiled in the NAND-type flash memory included in the main controller of the mobile communication terminal to schedule the version information of the boot loader The present invention relates to a method for managing a version of a booter of a mobile communication terminal to store the data in a location, and to compare the boot loader version set in the boot code with the actual boot loader version to ensure correct use of the boot loader.

부트로더란, 간단히 말해서 컴퓨터를 켰을 때 가장 먼저 실행되는 프로그램으로서, 일반 피씨(PC)의 경우 제일 먼저 일어나는 부팅 동작은, 부팅 디바이스(하드디스크)의 0사이드 0트랙 0섹터에서 정보를 가져오는 일이다.The bootloader is simply the first program to run when the computer is turned on. The first booting operation for a PC involves getting information from the 0 side 0 track 0 sector of the boot device (hard disk). to be.

상기 위치가 바로 부팅을 하기 위한 정보를 담고 있는 곳이며 부트섹터(Boot Sector)라고 한다.The location contains boot information and is called a boot sector.

도스(Dos)나 윈도우즈(Windows) 시스템과 같은 하드디스크를 부팅 디바이스로 이용하고 있는 대부분의 시스템에서는, 이 부트 섹터에 자신이 부팅하기 위한 정보(인터럽트 테이블 등)를 복사하여 사용하게 된다.Most systems that use a hard disk, such as a DOS or Windows system, as their boot device will copy and use information (such as interrupt tables) to boot from this boot sector.

그러나, 이동통신 단말기와 같이 대용량의 하드디스크를 구비하기어려운 소형 임베디드 시스템에서는, 시스템 부팅을 위한 프로그램 및 운영 체제(OS), 응용 프로그램 등을 내부 메모리에 저장하여 사용하도록 하고 있다. However, in a small embedded system, which is difficult to have a large hard disk, such as a mobile communication terminal, a program for booting a system, an operating system (OS), an application program, and the like are stored and used in an internal memory.

일반적으로, 단말기 내부에서 부팅 시스템, 운영체제(OS) 등을 저장하기 위한 용도로 사용하는 플래쉬 메모리는, NOR 타입 플래쉬 메모리로서 바이트(Byte) 단위로 리드 액세스(Read Access)가 가능하기 때문에, 플래쉬 메모리 상에서 직접 프로그램을 실행할 수 있는 장점이 있지만, 전류소비가 많고 가격이 비싸기 때문에 상대적으로 저용량(1~32MB)을 실장 하게된다.In general, the flash memory used for storing a booting system, an operating system (OS), etc. in the terminal is a NOR type flash memory, and since the read access is possible in units of bytes, the flash memory is used. Although there is an advantage in that the program can be directly executed in the phase, it is relatively low in capacity (1 ~ 32MB) because of the high current consumption and high price.

따라서, 상기와 같은 고가의 가격이나 제어의 복잡성 및 많은 전류소모 때문에 최근에는 리드(Read)와 라이트(Write) 시에 모두 블록단위로 액세스하며 전류소비가 적은 NAND 타입 플래쉬 메모리를 이용하는 경우가 많아지고 있다. 하지만, NAND 타입 플래쉬 메모리는 블록단위로만 액세스가 가능하므로 그 자체에서 프로그램을 실행할 수 없고, 실행하고자 하는 프로그램을 램(RAM)으로 모두 복사한 후 램에서 실행해야 한다. 이를 위해 사용되는 것이 부트로더로서, NAND형 플래쉬 메모리에 저장되는 부트 코드를 역시 NAND형 플래쉬 메모리에 저장되는 전용 부트로더를 이용하여 램으로 복사하는 역할을 하게 된다.Therefore, due to the high price, complexity of control, and high current consumption, NAND type flash memory with low current consumption is frequently used in both read and write. have. However, NAND type flash memory can only be accessed in units of blocks. Therefore, the program cannot be executed on its own, and it must be executed in RAM after copying all the programs to be executed in RAM. The boot loader used for this purpose is to copy boot code stored in NAND flash memory to RAM using a dedicated boot loader stored in NAND flash memory.

상기 램의 크기는 부트코드를 저장할 수 있는 만큼 큰 용량의 것을 사용해야 하지만, 플래쉬 메모리의 용량을 확장하는 것에 비해서 보다 저렴하며, 램의 리드(read)속도가 플래쉬 메모리의 리드 속도보다 빠르므로, 동작 속도가 빨라지게 된다.The size of the RAM should be large enough to store the boot code, but it is cheaper than the expansion of the flash memory, and the read speed of the RAM is faster than the read speed of the flash memory. It will be faster.

특히, 이동통신 단말기의 주 제어부로 많이 사용되는 퀄컴(Qualcomm)사의 MSM6xxx 부터는 NAND 타입 플래쉬 메모리를 이용하고 있으며, 이를 위해 부트로더가 사용되기 시작하였다. 이러한 부트로더를 통해 부트코드를 램으로 복사하여 부팅을 실시하도록 하며, 새로운 기능이 부가되거나 특정한 개선 사항이 있는 경우 상기 부트코드를 새롭게 작성하여 부트코드만 이동통신 단말기의 NAND 타입 플래쉬 메모리에 다운로드하여 변경된 부트코드를 적용할 수 있게 된다. In particular, the MSM6xxx of Qualcomm, which is widely used as a main control unit of a mobile communication terminal, uses a NAND type flash memory, and a boot loader has been used for this purpose. Boot boot by copying boot code to RAM through such boot loader. When new function is added or specific improvement is made, the boot code is newly created and only boot code is downloaded to NAND type flash memory of mobile communication terminal. Changed boot code can be applied.

하지만, 부트코드는 앞서 설명한 바와 같이 독립적으로 변경이 가능하기 때문에 해당 부트코드에 적합한 버전의 부트로더가 사용되어야하만 한다. 만일 부트코드가 원하는 부트로더의 버전과 실제 저장된 부트로더의 버전이 맞지 않는 경우 오동작의 발생 가능성이 있게 된다. 즉, 부트코드 작성시 해당 부트코드를 지원하는 부트로더의 버전이 결정되는데, 이동통신 단말기에 기 저장된 부트로더의 버전 이 새롭게 다운로드할 부트코드를 지원하는 버전이 아닐 수도 있으며, 적합하지 않은 버전의 부트로더를 이용하게 되면 부팅과정에서 심각한 오류를 발생시킬 수 있으며, 오동작의 위험을 가진 상태로 부팅이 실시될 수도 있다. 그러나, 저장되어 있는 부트로더의 버전을 알 수 있는 방법이 없기 때문에 부트코드 다운로드시 이를 알 수 없으며, 부팅시에도 부트코드 버전 오류를 검증할 방법이 없었다.However, the bootcode can be changed independently as described above, so a version of the boot loader appropriate to the bootcode should be used. If the boot code does not match the version of the desired boot loader and the actual stored boot loader, there is a possibility of malfunction. That is, when the boot code is written, the version of the boot loader supporting the boot code is determined. The version of the boot loader previously stored in the mobile terminal may not be the version supporting the newly downloaded boot code, Using a boot loader may cause serious errors in the booting process, and booting may be performed with a risk of malfunction. However, there is no way to know the version of the stored boot loader, so it is not known when downloading the boot code, and there was no way to verify the boot code version error during boot.

상기한 바와 같이 종래 NAND 타입 플래쉬 메모리 및 부트로더를 사용하는 이동통신 단말기의 주 제어부에서는 부트코드와 함께 저장된 부트로더를 이용하여 해당 부트코드를 램으로 복사하는 동작을 시스템 부팅시 실시하게 되며, 상기 부트코드는 독립적으로 생성되어 상기 플래쉬 메모리의 부트코드 영역에 저장될 수 있다. 하지만, 상기 부트코드는 적합한 버전의 부트로더를 사용해야만 정확한 동작을 보장하므로 원하는 부트로더 버전과 기 저장되어 있는 부트로더 버전이 일치하지 않는 경우 단말기 동작에 오류가 발생할 수 있으나, 저장되어 있는 부트로더의 버전을 확인할 수 있는 방법이 없어 부트로더의 버전 관리가 불가능한 문제점이 있었다.As described above, the main control unit of a mobile communication terminal using a conventional NAND type flash memory and a boot loader performs an operation of copying the corresponding boot code to RAM using a boot loader stored together with the boot code when the system is booted. Bootcode may be independently generated and stored in a bootcode region of the flash memory. However, since the boot code guarantees correct operation only by using an appropriate version of the boot loader, an error may occur in a terminal operation when a desired boot loader version does not match a pre-stored boot loader version, but the stored boot loader There was no way to check the version of the boot loader, so there was a problem.

이와 같은 문제점을 감안한 본 발명은 부트코드 작성시 지원하는 부트로더의 버전 정보를 입력하도록 하고, 상기 부트코드 작성시 동시에 작성되는 부트로더는 컴파일시 상기 부트코드의 부트로더 버전 정보를 참조하도록 하며, 상기 부트코드와 부트로더를 컴파일한 바이너리 파일을 플래쉬 메모리에 다운로드하는 경우 상기 부트로더 저장 영역의 고정 위치에 해당 부트로더 버전 정보가 위치되도록 한 후, 부팅시마다 플래쉬 메모리의 일정 위치에서 부트로더 버전 정보를 획득하여 이를 램으로 전달되는 부트코드에 포함된 부트로더 버전 정보와 비교하여 일치하지 않으면 사용자에게 부트로더 버전 오류를 알려줄 수 있도록 한 이동통신 단말기의 부트로더 버전 관리 방법을 제공하는데 그 목적이 있다. In view of the above problems, the present invention allows the input of bootloader version information to be supported when writing bootcode, and the bootloader simultaneously created when the bootcode is written to refer to the bootloader version information of the bootcode at compile time. When downloading the boot code and the binary file that compiles the boot loader to the flash memory, the boot loader version information is located at a fixed location of the boot loader storage area, and then boot loader version information is set at a predetermined location of the flash memory every boot. The purpose of the present invention is to provide a boot loader version management method for a mobile communication terminal that can notify a user of a boot loader version error if it does not match and compares it with the boot loader version information included in the boot code delivered to RAM. .

상기와 같은 목적을 달성하기 위한 본 발명은, 부트코드 작성시 지원가능한 부트로더의 버전정보를 삽입한 후 컴파일하여 부트코드 바이너리 파일을 생성하는 단계와; 상기 부트코드 작성과 동시에 부트로더를 생성할 경우 컴파일시 상기 부트코드에 삽입된 버전정보를 참조하여 해당 정보를 일정 위치에 포함하는 부트로더 바이너리 파일을 생성하는 단계와; 상기 부트코드 바이너리 파일을 이동통신 단말기 플래쉬 메모리의 일정 영역에 다운로드 하며, 부트로더 바이너리 파일이 있는 경우 이를 플래쉬 메모리의 일정 영역에 다운로드하는 단계와; 이동통신 단말기를 부팅하는 경우 상기 부트로더가 기동하여 상기 부트코드를 램으로 옮겨 실행하면서 플래쉬 메모리에 저장된 부트로더 바이너리 파일의 일정 위치에 포함된 부트로더 버전정보를 획득하여 램으로 옮겨진 부트코드에 포함된 부트로더 버전정보와 비교하여 상이한 경우 사용자에게 버전 오류를 알리는 단계를 포함하는 것을 특징으로 한다. The present invention for achieving the above object comprises the steps of generating a boot code binary file by compiling after inserting the version information of the boot loader that can be supported when creating the boot code; Generating a boot loader binary file including the corresponding information at a predetermined location by referring to version information inserted in the boot code when compiling the boot loader at the same time as creating the boot code; Downloading the bootcode binary file to a predetermined area of a mobile communication terminal flash memory, and if there is a boot loader binary file, downloading the bootcode binary file to a predetermined area of the flash memory; When booting a mobile communication terminal, the boot loader is started and the boot code is transferred to RAM, and the boot loader version information included in a predetermined location of the boot loader binary file stored in flash memory is obtained and included in the boot code transferred to RAM. Compared to the boot loader version information, characterized in that it comprises the step of notifying the user of a version error if different.

이하, 상기와 같이 구성되는 본 발명을 첨부한 도면을 참조하여 상세히 설명하도록 한다. Hereinafter, with reference to the accompanying drawings, the present invention configured as described above will be described in detail.

도 1은 본 발명 일 실시예의 동작 개념을 설명하기 위한 것으로, 도시한 바 와 같이 부트코드와 부트로더를 같이 생성할 경우, 부트로더 컴파일시 부트코드에 삽입된 부트로더 버전정보를 참조하여 그 정보를 일정 위치에 삽입한 부트로더 바이너리 파일을 생성한다는 것을 보인 것이다. 1 is for explaining an operation concept of an embodiment of the present invention, when generating a boot code and a boot loader as shown, when the boot loader compiles with reference to the boot loader version information inserted in the boot code, the information Shows that it creates a boot loader binary file with

이동통신 단말기의 제어기로 사용되는 퀄컴사의 MSM6xxx칩의 운용체제로는 REX가 주로 사용되며, 이를 지원하기 위하여 DMSS라는 코드 및 개발툴을 이용한다. 상기 DMSS 개발툴을 이용하여 부트코드를 작성할 경우, 소정의 옵션을 조절하고 특정한 설정을 조작하면 해당 부트코드를 위한 부트로더를 작성할 수 있게 되는데, 동일한 개발툴을 이용하게 되므로 상기 부트코드의 내용을 일부 참조할 수 있다. REX is mainly used as an operating system of Qualcomm's MSM6xxx chip, which is used as a controller of a mobile communication terminal. To support this, a code and a development tool called DMSS are used. When the boot code is written using the DMSS development tool, a boot loader for the boot code can be created by adjusting a predetermined option and manipulating a specific setting. Since the same development tool is used, the contents of the boot code can be written. Some reference may be made.

따라서, 본 발명에서는 부트코드 작성시 해당 부트코드를 로드해 줄 부트로더의 버전 정보를 삽입하도록 한다. 이는 도시된 바와같이 #define 문형을 이용할 수 있다. 이렇게 정의된 부트로더의 버전 정보는 해당 부트코드 컴파일시 부트코드에 삽입되도록 하며, 상기 부트코드와 같이 생성되는 부트로더 컴파일시에도 상기 부트코드에서 정의된 부트로더의 버전 정보를 참조하여 이를 부트로더 바이너리 파일 중 고정된 위치에 삽입되도록 한다. 이는 본 발명을 위해 DMSS 개발툴에서 추가되어야 할 부분이다. Therefore, in the present invention, when the boot code is created, the version information of the boot loader to load the corresponding boot code is inserted. This can use the #define syntax as shown. The version information of the boot loader defined in this way is inserted into the boot code when compiling the corresponding boot code, and even when compiling the boot loader generated as the boot code, the boot loader is referred to by referring to the version information of the boot loader defined in the boot code. Insert it in a fixed location among binary files. This is a part to be added in the DMSS development tool for the present invention.

즉, 부트로더는 부트코드와 동시에 생성되어야 하기 때문에 부트코드에 정의된 부트로더 버전 정보를 참조하여 자신의 버전 정보로 이용한다는 점과, 부트코드만 작성할 경우(부트코드는 단독 컴파일 및 생성이 가능)에도 부트로더 버전 정보를 정의하여 생성되는 부트코드가 적용될 부트로더의 버전을 명시한다는 점에 주의한다. In other words, since boot loader should be created at the same time as boot code, it is used as its version information by referring to boot loader version information defined in boot code, and when only boot code is written (boot code can be compiled and generated alone) Note that the boot loader version information is also defined in () to specify the version of the boot loader to which the generated boot code is applied.                     

상기와 같은 방법으로 부트코드 바이너리 파일과 부트로더 바이너리 파일이 생성되면, 이를 이동통신 단말기의 주제어기(MSM6xxx)에 포함된 NAND 타입 플래쉬 메모리의 부트코드 영역과 부트로더 영역에 각각 다운로드 한다. When the bootcode binary file and the bootloader binary file are generated in the above manner, the bootcode binary file and the bootloader binary file are downloaded to the bootcode area and the bootloader area of the NAND type flash memory included in the main controller MSM6xxx of the mobile communication terminal.

도 2는 NAND 타입 플래쉬 메모리(10)의 부트코드 영역(11)과 부트로더 영역(12)을 보인 것으로, 도시한 바와 같이 부트코드 영역(11)과 부트로더 영역(12)은 분리되어 있으며, 부트로더 영역(12)의 시작 위치 혹은 종료 위치를 고정시켜 해당 부트로더 바이너리 파일의 고정 위치에 삽입된 부트로더 버전 정보가 실제 플래쉬 메모리의 고정 위치(13)에 존재하도록 한다. 이를 통해 직접 억세스 방식으로 언제든지 부트로더 버전 정보를 확인할 수 있다. 이는 외부 개발 툴을 이동통신 단말기에 연결하여 NAND 타입 플래쉬 메모리(10)의 고정 위치(13) 데이터를 읽어들이는 방법으로 부트로더의 버전 정보를 확인하는 것이 가능하다는 것을 의미한다. 2 illustrates a bootcode region 11 and a bootloader region 12 of the NAND type flash memory 10. As illustrated, the bootcode region 11 and the bootloader region 12 are separated from each other. The start position or the end position of the boot loader region 12 is fixed so that the boot loader version information inserted at the fixed position of the boot loader binary file exists in the fixed position 13 of the actual flash memory. This allows you to check the boot loader version information at any time with a direct access method. This means that it is possible to check the version information of the boot loader by connecting the external development tool to the mobile communication terminal and reading the fixed position 13 data of the NAND type flash memory 10.

하지만, 이러한 방법은 개발자에게 장비연결의 부담을 주게 되는 방법이며, 서비스 센터등에서 통신포트를 이용하여 부트코드를 갱신하는 경우등에는 사용이 어려운 방법이다. 따라서, 부팅시 부트코드에 정의된 지원 부트로더 버전 정보와 실제 저장된 부트로더 버전 정보를 확인하여 오류 여부를 알려주기 위한 방법이 더 필요하게 된다. However, this method is a method that burdens the developer to connect the equipment, and is difficult to use when updating a boot code using a communication port in a service center. Therefore, there is a need for a method for notifying an error by checking the support boot loader version information defined in the boot code and the boot loader version information actually stored at boot time.

따라서, 본 발명에서는 부팅시 부트로더가 기동하여 부트코드를 SD램(20)에 복사하여 실행시키면, 상기 SD램(20)에서 동작하는 부트코드에서는 자신의 코드 상에 정의된 지원 부트로더 버전 정보를 획득하고, NAND 플래쉬(10)의 고정된 위치에 저장된 실제 부트로더 버전 정보(13)를 직접 억세스 방식등으로 획득하여 상호 비 교한다. 그리고, 버전이 일치하지 않는다면, 그 정보를 이동통신 단말기의 표시부표시하거나 알람등을 발생시켜 사용자에게 알려준다.Therefore, in the present invention, when the boot loader is booted at boot time and copies and executes the boot code to the SD RAM 20, the boot code operating in the SD RAM 20 supports the support boot loader version information defined on its code. And obtain the actual boot loader version information 13 stored in the fixed location of the NAND flash 10 in a direct access method and compare with each other. If the versions do not match, the information is displayed on the display unit of the mobile communication terminal or an alarm is generated to inform the user.

도 3은 상기 설명한 본 발명의 구동 방법 중 부팅시 실시되는 이동통신 단말기의 동작을 설명하는 순서도로서, 부트코드를 새롭게 다운로드 한 경우에만 실시될 수도 있고, 모든 (콜드)부팅시 항상 실시될 수도 있다.3 is a flowchart illustrating an operation of a mobile communication terminal that is executed during booting according to the above-described driving method of the present invention, and may be performed only when a boot code is newly downloaded or may be always performed at every (cold) boot. .

먼저, 사용자가 이동통신 단말기에 전원을 인가하면, 부트로더가 동작하여 부트코드를 램으로 로드하고, 상기 램에 로드된 부트코드에 의해 기본적인 시스템 점검이나 부팅 절차를 실시하게 되는데, 그 전에 부트로더가 저장된 플래쉬 메모리의 일정 위치에 저장된 부트로더의 버전 정보를 획득하여 부트코드에 포함된 지원 부트로더 버전 정보와 비교한다. First, when the user applies power to the mobile communication terminal, the boot loader operates to load the boot code into RAM, and performs a basic system check or boot procedure by using the boot code loaded in the RAM. Obtains the version information of the boot loader stored in a predetermined location of the stored flash memory and compares it with the supported boot loader version information included in the boot code.

이때, 부트로더 버전 정보가 일치한다면 부팅절차를 수행하도록 하고, 부트로더 버전 정보가 일치하지 않는다면 부트로더 버전 오류 상태를 이동통신 단말기의 표시부에 문자로 알려주거나, 알람등을 발생시키는 등의 방법으로 사용자에게 알려주도록 한다. At this time, if the boot loader version information is matched, the booting procedure is performed. If the boot loader version information is not matched, the boot loader version error status is notified to the display unit of the mobile terminal by text or an alarm is generated. Let the user know.

전술한 바와 같이, 본 발명은 버전 관리가 불가능한 부트로더의 버전과 부트로더의 버전에 영향을 받는 부트코드 사이의 버전충돌을 부팅 단계에서 확인시켜줄 수 있도록 하여 부트코드에 적합한 부트로더 버전의 사용을 보장할 수 있도록 한다.As described above, the present invention enables to check the version conflict between the bootloader version that is not version control and the bootcode affected by the bootloader version at the booting stage to prevent the use of a bootloader version suitable for the bootcode. Ensure it is guaranteed.

상기한 바와 같이 본 발명 이동통신 단말기의 부트로더 버전 관리 방법은 부 트코드 작성시 지원하는 부트로더의 버전 정보를 입력하도록 하고, 상기 부트코드 작성시 동시에 작성되는 부트로더는 컴파일시 상기 부트코드의 부트로더 버전 정보를 참조하도록 하며, 상기 부트코드와 부트로더를 컴파일한 바이너리 파일을 플래쉬 메모리에 다운로드하는 경우 상기 부트로더 저장 영역의 고정 위치에 해당 부트로더 버전 정보가 위치되도록 한 후, 부팅시마다 플래쉬 메모리의 일정 위치에서 부트로더 버전 정보를 획득하여 램으로 전달되는 부트코드에 포함된 부트로더 버전 정보와 비교하여 일치하지 않으면 사용자에게 부트로더 버전 오류를 알려줄 수 있도록 함으로써, 부트코드에 적합하지 않은 부트로더 버전의 사용에 따른 이동통신 단말기 오동작을 방지할 수 있고, 정확한 버전의 부트로더 사용을 보장할 수 있도록 하는 효과가 있다.As described above, in the boot loader version management method of the present invention, the boot loader version information is inputted when the boot code is created. Refer to the boot loader version information, and when downloading the boot code and the binary file compiled with the boot loader to flash memory, ensure that the boot loader version information is located at a fixed location in the boot loader storage area, and then flash each boot. Boot loader that is not suitable for boot code by acquiring boot loader version information at a certain place in memory and comparing the boot loader version information included in the boot code delivered to RAM and notifying the user of boot loader version error if it does not match. Mobile terminal malfunction due to the use of loader version It can prevent the problem and ensure the use of the correct version of the boot loader.

Claims (2)

부트코드 작성시 지원가능한 부트로더의 버전정보를 삽입한 후 컴파일하여 부트코드 바이너리 파일을 생성하는 단계와; Generating a boot code binary file by inserting version information of a boot loader that can be supported when the boot code is created; 상기 부트코드 작성과 동시에 부트로더를 생성할 경우 컴파일시 상기 부트코드에 삽입된 버전정보를 참조하여 해당 정보를 일정 위치에 포함하는 부트로더 바이너리 파일을 생성하는 단계와; Generating a boot loader binary file including the corresponding information at a predetermined location by referring to version information inserted in the boot code when compiling the boot loader at the same time as creating the boot code; 상기 부트코드 바이너리 파일을 이동통신 단말기 플래쉬 메모리의 일정 영역에 다운로드 하며, 부트로더 바이너리 파일이 있는 경우 이를 플래쉬 메모리의 일정 영역에 다운로드하는 단계와; Downloading the bootcode binary file to a predetermined area of a mobile communication terminal flash memory, and if there is a boot loader binary file, downloading the bootcode binary file to a predetermined area of the flash memory; 이동통신 단말기를 부팅하는 경우 상기 부트로더가 기동하여 상기 부트코드를 램으로 옮겨 실행하면서 플래쉬 메모리에 저장된 부트로더 바이너리 파일의 일정 위치에 포함된 부트로더 버전정보를 획득하여 램으로 옮겨진 부트코드에 포함된 부트로더 버전정보와 비교하여 상이한 경우 사용자에게 버전 오류를 알리는 단계를 포함하는 것을 특징으로 하는 이동통신 단말기의 부트로더 버전 관리 방법.When booting a mobile communication terminal, the boot loader is started and the boot code is transferred to RAM, and the boot loader version information included in a predetermined location of the boot loader binary file stored in flash memory is obtained and included in the boot code transferred to RAM. Boot loader version management method of the mobile communication terminal comprising the step of notifying the user of a version error when compared to the boot loader version information. 제 1항에 있어서, 부트로더 바이너리 파일을 생성하는 단계는 상기 부트로더 바이너리 파일이 플래쉬 메모리에 저장되는 경우, 포함되는 부트로더 버전정보가 항상 메모리의 고정된 위치에 존재할 수 있도록 컴파일을 실시하는 단계를 포함하는 것을 특징으로 하는 이동통신 단말기의 부트로더 버전 관리 방법.The method of claim 1, wherein the generating of the boot loader binary file comprises: when the boot loader binary file is stored in a flash memory, compiling such that the included boot loader version information may always exist at a fixed location in the memory. Boot loader version management method of a mobile communication terminal comprising a.
KR1020040074706A 2004-09-17 2004-09-17 Boot-loader version managing method for mobile communication terminal KR101113342B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040074706A KR101113342B1 (en) 2004-09-17 2004-09-17 Boot-loader version managing method for mobile communication terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040074706A KR101113342B1 (en) 2004-09-17 2004-09-17 Boot-loader version managing method for mobile communication terminal

Publications (2)

Publication Number Publication Date
KR20060025854A true KR20060025854A (en) 2006-03-22
KR101113342B1 KR101113342B1 (en) 2012-02-28

Family

ID=37131228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040074706A KR101113342B1 (en) 2004-09-17 2004-09-17 Boot-loader version managing method for mobile communication terminal

Country Status (1)

Country Link
KR (1) KR101113342B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991390B2 (en) 2006-09-08 2011-08-02 Samsung Electronics Co., Ltd Program updating method of wireless communication terminal and wireless communication terminal using the same
WO2019182335A1 (en) * 2018-03-19 2019-09-26 삼성전자 주식회사 Electronic device and method for controlling update of electronic device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429903B1 (en) * 2001-12-27 2004-05-03 한국전자통신연구원 Method for updating images in home gateway system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991390B2 (en) 2006-09-08 2011-08-02 Samsung Electronics Co., Ltd Program updating method of wireless communication terminal and wireless communication terminal using the same
WO2019182335A1 (en) * 2018-03-19 2019-09-26 삼성전자 주식회사 Electronic device and method for controlling update of electronic device
US11157264B2 (en) 2018-03-19 2021-10-26 Samsung Electronics Co., Ltd. Electronic device and method for controlling update of electronic device

Also Published As

Publication number Publication date
KR101113342B1 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
KR100778293B1 (en) Digital tv and upgrade method of bootloader for the same
CN104123153A (en) Apparatus and method for firmware upgrade using USB
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
US9348730B2 (en) Firmware ROM patch method
CN101763279B (en) BootLoader architectural design method
CN106528106B (en) A kind of embedded system start method of adaptive various different Flash chip types
US7331046B2 (en) Program and information processing method
US20060064576A1 (en) Boot systems and methods
US8539213B2 (en) Manageability extension mechanism for system firmware
CN110096300B (en) FPGA program file backup management system, operation method and upgrading method
US8312444B2 (en) Method for optimizing memory modules for user-specific environments
KR20050079835A (en) Method for updating firmware in embedded controller and medium recorded update firmware
WO2012071852A1 (en) Method and apparatus for upgrading bootstrap program
CN110874237A (en) Software upgrading method, device, terminal and readable storage medium
CN106155713B (en) Startup information management method and device
KR101113342B1 (en) Boot-loader version managing method for mobile communication terminal
KR100860402B1 (en) Device and method for upgradin system using two step bootloader
CN100498710C (en) Method for reading and electing read only memory program code on self-storing mechanism
US20150033003A1 (en) Host and method of upgrading connection manager of dongles
JP4735765B2 (en) Linux program startup system
KR100617796B1 (en) Mobile terminal equipment capable of upgrading a wireless firmware and method thereof
CN115904820B (en) Recovery method and system for failed hard disk
CN113467797B (en) Program updating method, device and system and computer readable storage medium
CN116954674A (en) eMMC firmware upgrading method, firmware upgrading equipment and storage device
US20220108017A1 (en) Firmware to restore configurable option

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee