KR20050024740A - Method For Improving Boot-Loader In Eletronic Appliance - Google Patents

Method For Improving Boot-Loader In Eletronic Appliance Download PDF

Info

Publication number
KR20050024740A
KR20050024740A KR1020030060837A KR20030060837A KR20050024740A KR 20050024740 A KR20050024740 A KR 20050024740A KR 1020030060837 A KR1020030060837 A KR 1020030060837A KR 20030060837 A KR20030060837 A KR 20030060837A KR 20050024740 A KR20050024740 A KR 20050024740A
Authority
KR
South Korea
Prior art keywords
main program
boot
code
booting
executed
Prior art date
Application number
KR1020030060837A
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 KR1020030060837A priority Critical patent/KR20050024740A/en
Publication of KR20050024740A publication Critical patent/KR20050024740A/en

Links

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
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Abstract

PURPOSE: A method for correcting or improving a bootloader of an electronic product is provided to enable a user to correct an error or improve performance of the bootloader through a remotely offered boot main program without carrying the electronic product to a factory or a repair center. CONSTITUTION: The boot main program is downloaded(S10). A hardware reset process is executed when the electronic product is turned on after turning off power or hardware reset is selected by the user(S20). If a hardware reset code of the bootloader is executed, it is judged that the boot main program is present by jumping to a start address storing the boot main program(S25). If the boot main program is absent, a booting code of the bootloader is executed(S30). After executing the booting code, a main program is executed(S50). If the boot main program is present, the booting code is executed by inserting the code of the boot main program during a booting process(S40). After executing the booting code by inserting the code of the boot main program, the main program is executed.

Description

전자제품의 부트로더 개선 방법{Method For Improving Boot-Loader In Eletronic Appliance}How to improve the boot loader for electronics {Method For Improving Boot-Loader In Eletronic Appliance}

본 발명은 전자제품의 부트로더 개선 방법에 관한 것이다.The present invention relates to a method for improving a boot loader of an electronic product.

전자공학이 발전함에 따라 다양한 전자제품들이 등장하게 되었다. 과거의 전자제품들은 한정적인 기능을 갖고 있는데 반해 최근의 전자제품들은 점차 지능화되어 다양한 기능을 갖게 되었다. 이러한 경향에 따라 전자제품들은 두뇌로서 마이크로프로세서를 갖게 되었고 다양한 기능을 수행하기 위한 스프트웨어를 저장하기 위한 비휘발성 메모리를 갖는다. 초창기 전자제품들은 다양한 기능들을 수행하기 위한 소프트웨어를 저장하기 위한 비휘발성 메모리로 롬을 주로 사용하였으나, 최근에는 소프트웨어의 업그레이드 가능성을 고려하여 플래시 메모리를 사용하는 전자제품이 증가하고 있다. 플래시 메모리는 비휘발성 메모리의 한 종류로서 전원이 차단된 상태에서도 저장된 정보는 사라지지 않는다. 또한, 플래시 메모리는 읽기연산뿐만이 아닌 쓰기연산과 지우기연산이 가능하다. 플래시 메모리를 채용한 최근의 전자제품들의 경우에는 특별한 장치없이 소프트웨어를 쉽게 변경하거나 업그레이드할 수 있다. 특히 디지털 방송 수신 장치와 같이 외부로부터 데이터를 전송받을 수 있는 전자제품의 경우에 소프트웨어의 변경 기능은 빈번하게 사용되고 있다.As electronics have advanced, various electronic products have emerged. While electronics of the past have limited functions, recent electronics have become increasingly intelligent and have various functions. Following this trend, electronics have microprocessors as brains and nonvolatile memory for storing software to perform various functions. In the early days, electronic products mainly used ROM as a nonvolatile memory for storing software for performing various functions. Recently, electronic products using flash memory are increasing in consideration of the possibility of upgrading software. Flash memory is a type of nonvolatile memory that does not lose its stored information even when its power is turned off. In addition, the flash memory is capable of write and erase operations as well as read operations. Modern electronics with flash memory can be easily changed or upgraded without special devices. In particular, in the case of an electronic product that can receive data from the outside, such as a digital broadcast receiving device, a software change function is frequently used.

디지털 방송 수신 장치는 비디오/오디오/데이터 서비스 이외에도 수신장치의 소프트웨어를 업그레이드 하는 기능을 포함하고 있다. 즉, 디지털 방송 수신 장치는 디지털 방송을 통해 비디오/오디오/데이터 이외에 업그레이드용 소프트웨어를 다운받아서 플래시 메모리에 저장함으로써 제품의 성능을 높일 수 있다. 디지털 방송 수신 장치의 소프트웨어는 크게 부트로더와 메인 프로그램으로 나눌 수 있다.In addition to video / audio / data services, the digital broadcast receiver includes a function of upgrading software of the receiver. In other words, the digital broadcasting receiver can improve the performance of the product by downloading upgrade software in addition to video / audio / data and storing it in a flash memory through digital broadcasting. Software of the digital broadcast reception apparatus can be roughly divided into a boot loader and a main program.

이 중에서 업그레이드의 대상이 되는 소프트웨어는 메인 프로그램이다. 왜냐하면 부트로더는 부팅과정을 수행하는 매우 중요한 소프트웨어이므로 소프트웨어의 변경과정 중의 문제나 변경된 소프트웨어의 문제에 의해 전자제품에 치명적인 영향을 미칠 수 있기 때문이다. 따라서 부트로더는 주로 읽기 전용 메모리인 롬에 저장하고, 플래시 메모리에 저장하더라도 쉽게 변경할 수 없도록 한다. 디지털 방송 수신 장치는 전원이 켜지면 부트로더를 통해 부팅과정을 수행하고 메인 프로그램을 실행시킨다. The software to be upgraded is the main program. Because the boot loader is a very important software that performs the booting process, it can have a fatal effect on the electronics by the problem of the software change process or the changed software problem. Therefore, the boot loader is usually stored in ROM, which is read-only memory, and cannot be easily changed even if it is stored in flash memory. When the power is turned on, the digital broadcast reception apparatus performs a booting process through a boot loader and executes a main program.

도 1은 종전의 디지털 방송 수신 장치의 부트로더 소프트웨어의 구성을 보여주는 블록도이다.1 is a block diagram showing the configuration of a boot loader software of a conventional digital broadcasting receiver.

디지털 방송 수신 장치의 소프트웨어는 전원이 켜지면 부트로더(10)에서 소정의 부팅과정을 거친 후에 메인 프로그램(20)을 실행시킨다. 부트로더(10)는 부팅을 위한 코드와 하드웨어 초기화를 위한 데이터를 저장하고 있다.The software of the digital broadcasting reception apparatus executes the main program 20 after a predetermined booting process in the boot loader 10 when the power is turned on. The boot loader 10 stores code for booting and data for hardware initialization.

부팅과정을 살펴보면 전원이 입력되면 하드웨어를 리셋 시킨다. 하드웨어 리셋 과정이 끝나면, 하드웨어를 기동하고 하드웨어를 초기화한다. 하드웨어 초기화가 끝나면 비디오 드로잉을 한다. 비디오 드로잉이 끝나면 소프트웨어 다운로드 체크를 한다. 메인 프로그램 소프트웨어의 다운로드가 가능한 경우라면 메인 프로그램을 다운로드 한다. 그리고 나서 새로 다운로드된 메인 프로그램을 실행시키기 위하여 메인 프로그램(20)의 시작 주소로 점프한다. 한편, 메인 프로그램 소프트웨어의 다운로드가 불가능한 경우라면 메인 프로그램 소프트웨어의 다운로드가 없는 상태에서 기존의 메인 프로그램(20)을 실행시키기 위하여 메인 프로그램의 시작 주소로 점프한다.If you look at the boot process, it will reset the hardware when power is applied. After the hardware reset process is complete, start up the hardware and initialize the hardware. When the hardware initialization is complete, video drawing is performed. After the video drawing, check the software download. If the main program software can be downloaded, download the main program. Then jumps to the start address of the main program 20 to execute the newly downloaded main program. On the other hand, if it is impossible to download the main program software, jump to the start address of the main program to execute the existing main program 20 without downloading the main program software.

도 1의 종전 발명에 의하면 디지털 방송 수신 장치의 소프트웨어를 업그레이드하기 위하여 디지털 방송 수신 장치를 사용자가 수리센터나 공장으로 들고 갈 필요가 없다. 디지털 방송 수신 장치는 양방향 또는 단방향에 의한 소프트웨어의 업그레이드가 가능하다. 즉, 사용자의 요구에 의한 업그레이드된 프로그램을 다운로드하여 소프트웨어 업그레이드가 가능하기도 하고, 디지털 방송 프로그램과 함께 수신되는 업그레이드된 메인 프로그램을 자동으로 다운로드하여 메인 프로그램을 업그레이드하여 디지털 방송 수신 장치의 성능을 개선할 수도 있다. 그러나 이러한 종전 발명의 경우에 있어서도 부트로더에 문제가 있거나 부트로더를 업그레이드하려는 경우에는 사용자는 디지털 방송 수신 장치를 들고 수리센터나 공장으로 가야하는 문제는 여전히 남아 있다. 특히 부트로더의 치명적인 오류나 문제가 아닌 간단한 변경에 의해 디지털 방송 수신장치의 성능을 개선할 수 있는 경우에 주로 문제가 된다. 즉, 부트로더에 치명적인 오류가 있는 디지털 방송 수신 장치는 처음부터 판매가 되지 않기 때문에 주로 부트로더의 성능 개선이나 사소한 오류에 대한 것이 문제가 된다.According to the conventional invention of FIG. 1, the user does not need to carry the digital broadcast receiver to a repair center or a factory in order to upgrade the software of the digital broadcast receiver. The digital broadcast receiver can upgrade the software in both directions or in one direction. In other words, it is possible to upgrade the software by downloading the upgraded program according to the user's request, and to automatically download the upgraded main program received with the digital broadcasting program and upgrade the main program to improve the performance of the digital broadcasting receiver. It may be. However, even in the case of the previous invention, if there is a problem with the boot loader or if the boot loader is to be upgraded, the user still needs to go to a repair center or a factory with a digital broadcast receiver. In particular, it is mainly a problem when the performance of the digital broadcasting receiver can be improved by a simple change rather than a fatal error or problem of the boot loader. That is, since a digital broadcast receiver having a fatal error in the boot loader is not sold from the beginning, the performance of the boot loader or minor errors are mainly a problem.

이에 따라 외부 네트워크로부터 데이터를 전송받을 수 있는 디지털 전자제품의 부트로더의 성능을 원격으로 개선할 필요성이 있다.Accordingly, there is a need to remotely improve the performance of a boot loader of a digital electronic product capable of receiving data from an external network.

본 발명은 상술한 필요성에 따라 안출된 것으로서, 원격으로 디지털 전자제품의 부트로더의 성능을 개선하는 방법을 제공하는 것을 그 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made in accordance with the above-described necessity, and a technical object thereof is to provide a method for remotely improving the performance of a boot loader of a digital electronic product.

상술한 기술적과제를 달성하기 위하여, 본 발명에 의한 전자제품의 부트로더 개선 방법은 부트로더에 의한 부팅과정에서 부팅과정을 보조하기 위하여 사전에 다운로드된 부트 메인 프로그램을 찾는 단계, 및 상기 부트로더에 의한 부팅을 상기 찾아진 부트 메인 프로그램의 실행에 의해 보조하는 단계를 포함한다. 상기 부트 메인 프로그램은 상기 부트로더에 의한 부팅과정들 사이에 실행되는 것이 바람직하다. 상기 부트 메인 프로그램은 과거 부팅과정에 의해 다운로드된 프로그램이며, 전자제품의 메인 프로그램의 일부인 것이 바람직하다.In order to achieve the above technical problem, a method for improving a boot loader of an electronic product according to the present invention includes: finding a boot main program downloaded in advance in order to assist the booting process in a booting process by the boot loader; and Assisting booting by the execution of the found boot main program. The boot main program is preferably executed between booting processes by the boot loader. The boot main program is a program downloaded by a past booting process and is preferably part of a main program of an electronic product.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 디지털 방송 수신 장치의 부트로더 소프트웨어의 동작과정을 보여주는 흐름도이다.2 is a flowchart illustrating an operation process of a boot loader software of a digital broadcasting reception device according to an embodiment of the present invention.

먼저, 부트 메인 프로그램을 다운로드받는다(S10). 부트 메인 프로그램은 메인 프로그램이 저장되는 곳에 함께 저장된다. 부트 메인 프로그램은 메인 프로그램의 일종으로서 부팅과정에서 부트로더를 보조하는 소프트웨어를 말한다. 따라서 부트 메인 프로그램은 전자제품의 메인 프로그램 다운로드와 동일한 방법으로 다운받는다. 예컨대, 위성 디지털 방송 수신 장치인 경우에 위성을 통해 부트 메인 프로그램을 다운받고, 케이블 디지털 방송 수신 장치인 경우에 케이블을 통해 부트 메인 프로그램을 다운받는다. 다운로드받은 부트 메인 프로그램은 메인 프로그램과 동일한 곳에 저장된다. 예를 들면, 메인 프로그램이 플래시 메모리에 저장되는 전자제품인 경우에 부트 메인 프로그램도 플래시 메모리에 저장되고 메인 프로그램이 하드 드라이브에 저장되는 전자제품인 경우에 부트 메인 프로그램도 하드 드라이브에 저장된다.First, the boot main program is downloaded (S10). The boot main program is stored together where the main program is stored. A boot main program is a kind of main program that refers to software that assists the boot loader in the boot process. Therefore, the boot main program is downloaded in the same way as the main program download of the electronic product. For example, the boot main program is downloaded through a satellite in the case of a satellite digital broadcast receiver, and the boot main program is downloaded through a cable in the case of a cable digital broadcast receiver. The downloaded boot main program is stored in the same place as the main program. For example, if the main program is an electronic product stored in the flash memory, the boot main program is also stored in the flash memory, and if the main program is an electronic product stored in the hard drive, the boot main program is also stored in the hard drive.

부트 메인 프로그램이 다운(S10)된 이 후에, 전자제품의 전원의 꺼진 후에 새로 켜지는 경우나 사용자의 선택에 의하여 하드웨어 리셋단계가 수행된다(S20). 부트로더의 하드웨어 리셋코드가 실행되면 부트 메인 프로그램이 저장된 시작 주소로 점프하여 부트 메인 프로그램이 존재하는지 여부를 판단한다(S25). 부트 메인 프로그램의 존재 유무는 부트 메인 프로그램의 시작 주소부터 일정 부분이 모두 0으로 되어 있거나 모두 1로 되어 있는 경우에 존재하지 않는 것으로 판단할 수 있다.After the boot main program is down (S10), a hardware reset step is performed after the power of the electronic product is turned off or newly selected by the user (S20). When the hardware reset code of the boot loader is executed, the boot main program jumps to the stored start address to determine whether the boot main program exists (S25). The presence or absence of the boot main program may be determined to be absent when all parts of the boot main program are all 0s or 1s.

부트 메인 프로그램이 존재하지 않는다고 판단되면, 부트로더의 부팅코드를 실행시킨다(S30). 부팅코드를 실행하고 나면(S30) 메인 프로그램을 실행한다(S50). 메인 프로그램이 실행되면(S50) 사용자는 전자제품의 기능을 사용할 수 있다. 디지털 방송 수신 장치인 경우에 사용자는 디지털 방송 프로그램의 재생이나 저장 기능을 수행할 수 있고 채널을 변경할 수도 있다.If it is determined that the boot main program does not exist, the boot code of the boot loader is executed (S30). After the boot code is executed (S30), the main program is executed (S50). When the main program is executed (S50), the user can use the functions of the electronic product. In the case of a digital broadcast reception device, a user may perform a function of playing or storing a digital broadcast program or change a channel.

만일 부트 메인 프로그램이 존재한다고 판단되면, 부팅 과정에서 부트 메인 프로그램의 코드를 삽입하여 부트로더의 부팅코드를 실행한다(S40). 부트 메인 프로그램의 코드가 삽입하여 부팅코드를 부팅코드를 실행하고 나면(S40) 메인 프로그램을 실행한다(S50). 메인 프로그램이 실행되면(S50) 사용자는 전자제품의 기능을 사용할 수 있다.If it is determined that the boot main program exists, the boot code of the boot loader is executed by inserting the code of the boot main program in the booting process (S40). After the code of the boot main program is inserted and the boot code executes the boot code (S40), the main program is executed (S50). When the main program is executed (S50), the user can use the functions of the electronic product.

도 3a는 도 2의 부팅 코드 실행과정을 보여주는 흐름도이다.3A is a flowchart illustrating a boot code execution process of FIG. 2.

부트로더의 부팅코드 실행(S30)은 먼저 하드웨어를 초기화한다(S31). 부트로더는 하드웨어의 초기 값을 저장하고 있으며, 하드웨어 장치들은 부트로더의 하드웨어 초기 값으로 초기화된다.Boot code execution (S30) of the boot loader first initializes the hardware (S31). The boot loader stores initial hardware values, and the hardware devices are initialized to the initial hardware hardware values.

하드웨어의 초기화가 끝나면(S31) 비디오 드로잉을 한다(S32). 비디오 드로잉 과정을 통해 비디오 테스트를 한다.After the initialization of the hardware (S31) and video drawing (S32). Perform a video test through the video drawing process.

비디오 드로잉이 끝나면(S32), 소프트웨어 다운로드 체크를 한다(S33). 즉 소프트웨어 다운로드 가능 여부를 판단하여(S34) 소프트웨어가 다운로드가 가능하면 소프트웨어(메인 프로그램)를 다운로드한다(S35). 본 발명에서는 메인 프로그램의 다운로드에 의하여 부트로더를 개선하는 부트 메인 프로그램 코드를 얻을 수 있다. 개선된 부트로더의 예로는 프로그램 다운로드 방법의 변경이나 다변화를 예로 들 수 있다. 디지털 위성 방송 수신 장치인 경우에 위성파에 의한 프로그램 다운로드뿐만 아니라 전화 모뎀을 통한 다운로드 방법을 추가하거나 직렬 또는 병렬 포트를 통한 다운로드로의 변경 등이 그 예가 될 수 있다. 메인 프로그램의 다운로드가 끝나면 부트로더의 부팅코드 실행을 마치고, 도 2의 메인 프로그램 실행과정으로 넘어간다. 한편, 메인 프로그램의 다운로드가 가능하지 않다면, 부트로더의 부팅코드 실행을 마치고, 도 2의 메인 프로그램 실행과정으로 넘어간다.After the video drawing (S32), the software download check (S33). That is, it is determined whether or not the software can be downloaded (S34). If the software is downloadable, the software (main program) is downloaded (S35). In the present invention, the boot main program code for improving the boot loader by downloading the main program can be obtained. An example of an improved boot loader is a change or diversification of the program download method. In the case of a digital satellite broadcasting receiver, for example, a program download by a satellite wave may be added as well as a download method through a telephone modem or a change to a download through a serial or parallel port. When the download of the main program is finished, the boot code of the boot loader is finished, and the process proceeds to the main program execution process of FIG. 2. On the other hand, if the download of the main program is not possible, the boot code execution of the boot loader is finished, and the process proceeds to the main program execution process of FIG.

도 3b는 도 2의 부트 메인 프로그램 코드가 삽입된 부팅 코드 실행과정을 보여주는 흐름도이다.3B is a flowchart illustrating a boot code execution process in which the boot main program code of FIG. 2 is inserted.

부트 메인 프로그램 코드가 삽입된 부팅 코드 실행(S30)은 도 3a의 부트로더 부팅 단계마다 삽입할 부트 메인 프로그램 코드가 있는 경우에는 이를 삽입하는 방식으로 수행된다. 본 발명에서 부트 메인 프로그램 코드가 삽입된 부팅단계를 개선된 부팅단계라고 한다.Boot code execution (S30) in which the boot main program code is inserted is performed by inserting the boot main program code to be inserted at every boot loader booting step of FIG. 3A. In the present invention, the booting step in which the boot main program code is inserted is called an improved booting step.

먼저 개선된 하드웨어를 초기화한다(S41). 부트로더는 하드웨어의 초기 값을 저장하고 있으며, 하드웨어 장치들은 부트로더의 하드웨어 초기 값으로 초기화된다. 하드웨어 초기 값을 달리하려는 경우에나 하드웨어 초기 값이 없었던 하드웨어를 초기화할 경우에 데이터는 부트 메인 프로그램이 갖고 있다.First, the improved hardware is initialized (S41). The boot loader stores initial hardware values, and the hardware devices are initialized to the initial hardware hardware values. The data is held by the boot main program when you want to change the initial hardware value, or when you initialize the hardware that had no initial hardware value.

개선된 하드웨어의 초기화가 끝나면(S41) 개선된 비디오 드로잉을 한다(S42). 비디오 드로잉 과정에서 개선해야할 부분은 부트 메인 프로그램의 코드를 통해 수행된다.When the initialization of the improved hardware is finished (S41), an improved video drawing is performed (S42). Improvements to the video drawing process are done through the boot main program code.

개선된 비디오 드로잉이 끝나면(S42), 소프트웨어 다운로드 체크를 한다(S43). 즉 소프트웨어 다운로드 가능 여부를 판단하여(S44) 소프트웨어가 다운로드가 가능하면 소프트웨어(메인 프로그램)를 다운로드한다(S45). 메인 프로그램의 다운로드가 끝나면 부트로더의 부팅코드 실행을 마치고, 도 2의 메인 프로그램 실행과정으로 넘어간다. 한편, 메인 프로그램의 다운로드가 가능하지 않다면, 부트로더의 부팅코드 실행을 마치고, 도 2의 메인 프로그램 실행과정으로 넘어간다.When the improved video drawing is finished (S42), the software download check is performed (S43). That is, it is determined whether or not the software can be downloaded (S44). If the software is downloadable, the software (main program) is downloaded (S45). When the download of the main program is finished, the boot code of the boot loader is finished, and the process proceeds to the main program execution process of FIG. 2. On the other hand, if the download of the main program is not possible, the boot code execution of the boot loader is finished, and the process proceeds to the main program execution process of FIG.

도 4는 본 발명의 일 실시예에 따른 디지털 방송 수신 장치의 부트로더 소프트웨어와 메인 프로그램의 구성을 보여주는 블록도이다.4 is a block diagram showing the configuration of a boot loader software and a main program of a digital broadcast reception device according to an embodiment of the present invention.

부트로더(100)는 쓰기나 지우기 연산이 불가능한 롬이나 쓰기나 지우기 연산을 극도로 제한하는 플래시 메모리 등에 저장된다. 부트로더(100)에는 하드웨어를 리셋하기 위한 하드웨어 리셋코드와, 하드웨어를 초기화하는 과정에 필요한 하드웨어 초기화 코드와, 비디오 드로잉 과정에 사용되는 비디오 드로잉 코드와, 업그레이드된 메인 프로그램의 다운로드 가능 여부를 체크할 수 있는 소프트웨어 다운로드 체크 코드와, 메인 프로그램 다운로드 과정에 관여하는 메인 프로그램 다운로드 코드, 및 메인 프로그램으로의 점프 코드 등을 포함할 수 있다.The boot loader 100 is stored in a ROM, which cannot be written or erased, or in a flash memory that extremely restricts write or erase. The boot loader 100 may check hardware reset code for resetting the hardware, hardware initialization code necessary for initializing the hardware, video drawing code used for the video drawing process, and whether the upgraded main program can be downloaded. And a software download check code, a main program download code involved in the main program download process, a jump code to the main program, and the like.

메인 프로그램(200)은 부트로더(100)의 부팅과정을 보조하기 위한 부트 메인 프로그램 코드(210)과 실질적 메인 프로그램 코드(220)를 포함한다. 실질적 메인 프로그램 코드(220)는 도 1과 같은 종전 발명의 메인 프로그램 코드에 해당되는 프로그램 코드로서 디지털 방송 수신 장치의 기능을 수행하는데 필요한 코드이다. The main program 200 includes a boot main program code 210 and a substantial main program code 220 to assist the booting process of the boot loader 100. Substantially main program code 220 is a program code corresponding to the main program code of the conventional invention as shown in FIG. 1 and is a code necessary to perform a function of a digital broadcast receiving apparatus.

메인 프로그램(200)은 비휘발성 저장 매체이면서 읽기나 쓰기 또는 지우기 연산히 가능한 저장매체에 저장되며, 플래시 메모리에 저장되는 것이 바람직하다. 부트 메인 프로그램 코드(210)는 메인 프로그램(200)이 저장되는 저장 매체의 처음 주소부터 시작되는 것이 바람직하다.The main program 200 is a nonvolatile storage medium and is stored in a storage medium capable of a read, write, or erase operation, and is preferably stored in a flash memory. The boot main program code 210 preferably starts from the first address of the storage medium in which the main program 200 is stored.

본 발명에 따른 디지털 방송 수신 장치의 부팅과정은 부트로더(100)의 부팅코드에 의해 수행되고 이 후에 부트 메인 프로그램 코드(210)에 의해 개선된 부팅과정을 거친 후에 실질적 메인 프로그램 코드(220)를 실행시키는 과정으로도 가능하지만, 좀더 개선된 부팅을 위하여 각 부팅 과정별로 개선할 부분이 있는 경우에 해당 부팅 과정을 개선할 삽입코드를 부트 메인 프로그램에서 얻어 부팅을 하는 것이 바람직하다. 이를 통한 부팅과정을 설명하면 다음과 같다.The booting process of the digital broadcasting reception device according to the present invention is performed by the boot code of the boot loader 100 and after the boot process is improved by the boot main program code 210, the actual main program code 220 is executed. Although it is possible to execute the process, it is preferable to obtain the insertion code from the boot main program to boot the boot process when there is a part to be improved for each boot process to improve the booting. The booting process through this is as follows.

먼저 꺼져있는 상태에서 전원이 들어오거나, 사용자의 리셋 명령에 의하여 하드웨어 리셋과정이 실행된다. 하드웨어 리셋과정은 하드웨어 리셋코드에 의해 수행되며, 하드웨어 리셋 코드의 마지막 부분은 메인 프로그램의 처음 주소 즉, 부트 메인 프로그램의 시작으로의 점프문으로 구성된다. 부트 메인 프로그램에서 삽입 코드가 있는 경우에 삽입 코드를 실행하고 하드웨어 초기화 코드가 있는 번지로 점프하고 그렇지 않은 경우에는 바로 하드웨어 초기화 코드가 있는 번지로 점프한다. 하드웨어 초기화 코드의 시작 주소는 하드웨어 리셋 코드의 마지막 주소의 다음 주소이므로 쉽게 찾을 수 있다. 마찬가지 방식으로 하드웨어 초기화 코드, 삽입코드, 비디오 드로잉 코드, 삽입코드, 소프트웨어 다운로드 체크 코드를 실행시킨다.The power is turned on with the power off first, or the hardware reset process is executed by user's reset command. The hardware reset process is performed by the hardware reset code, and the last part of the hardware reset code is composed of the first address of the main program, that is, a jump statement to the start of the boot main program. If there is an insertion code in the boot main program, it executes the insertion code and jumps to the address where the hardware initialization code is located. Otherwise, it jumps directly to the address where the hardware initialization code is located. The start address of the hardware initialization code is easy to find because it is after the last address of the hardware reset code. Similarly, it executes hardware initialization code, embed code, video drawing code, embed code, and software download check code.

소프트웨어를 다운로드하는 경우라면, 즉, 메인 프로그램을 업그레이드 하는 경우라면 메인 프로그램 다운로드 코드를 통해 메인 프로그램 다운로드 과정을 거친 후에 실질적 메인 프로그램 코드로 점프한다. 한편, 소프트웨어를 다운로드하지 않는 경우라면 바로 실질적 메인 프로그램으로 점프한다. 본 발명에서 부트로더를 개선하기 위하여 사용되는 부트 메인 프로그램은 메인 프로그램의 다운로드 과정에 의해 얻어질 수 있다.If you are downloading software, that is, if you are upgrading the main program, you will go through the main program download code and then jump to the actual main program code. On the other hand, if you do not download the software jumps directly to the actual main program. The boot main program used to improve the boot loader in the present invention may be obtained by a download process of the main program.

한편, 메인 프로그램 다운로드 코드는 부트로더에 의해 실행되지 않고 메인 프로그램(실질적 메인 프로그램)에 의해 수행될 수도 있는데, 이러한 경우에는 다시 부팅과정을 거쳐야 업그레이드된 소프트웨어를 사용할 수 있다.Meanwhile, the main program download code may not be executed by the boot loader but may be executed by the main program (actual main program). In this case, the upgraded software may be used only after the reboot process.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 상세한 설명에서 부트 메인 프로그램은 메인 프로그램의 일부인 것으로 설명하였으나 본 발명의 기술적 사상은 이에 한정되지 않으며, 부트 메인 프로그램은 메인 프로그램과 별도의 다른 공간에 저장되는 부트로더 보조 프로그램인 경우도 본 발명의 기술적 사상에 포함된다. 따라서 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Although the boot main program is described as being part of the main program in the detailed description, the technical idea of the present invention is not limited thereto, and the boot main program may be a boot loader auxiliary program stored in a separate space from the main program. It is included in the thought. Accordingly, the embodiments described above are to be understood in all respects as illustrative and not restrictive. The scope of the present invention is indicated by the scope of the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalent concept are included in the scope of the present invention. Should be interpreted.

본 발명에 따르면 사용자는 공장이나 수리센터에 전자제품을 가져가지 않고 원격을 통해 제공되는 부트 메인 프로그램을 통해 부트로더의 오류 부분을 수정하거나 부트로더의 성능을 개선할 수 있다. 전자제품의 생산자라면 부트로더의 성능을 원격으로 개선할 수 있으므로, 부트로더의 오류에 의한 리콜 비용 등을 줄일 수 있고 부트로더를 개선한 경우에 사용자가 개선된 부트로더를 갖는 전자 제품을 사용할 수 있게 한다.According to the present invention, a user can correct an error part of a boot loader or improve a boot loader's performance through a boot main program provided remotely without bringing electronic products to a factory or a repair center. If you are a manufacturer of electronics, you can remotely improve the performance of your boot loader, so you can reduce the cost of recalls due to bootloader failures, and if you improve your boot loader, you can use an electronic product with an improved boot loader. To be.

도 1은 종전의 디지털 방송 수신 장치의 부트로더의 구성을 보여주는 블록도이다.1 is a block diagram showing the configuration of a boot loader of a conventional digital broadcasting receiver.

도 2는 본 발명의 일 실시예에 따른 디지털 방송 수신 장치의 부팅 동작과정을 보여주는 흐름도이다.2 is a flowchart illustrating a booting operation of a digital broadcast receiving apparatus according to an embodiment of the present invention.

도 3a는 도 2의 부팅 코드 실행과정을 보여주는 흐름도이다.3A is a flowchart illustrating a boot code execution process of FIG. 2.

도 3b는 도 2의 부트 메인 프로그램 코드가 삽입된 부팅 코드 실행과정을 보여주는 흐름도이다.3B is a flowchart illustrating a boot code execution process in which the boot main program code of FIG. 2 is inserted.

도 4는 본 발명의 일 실시예에 따른 디지털 방송 수신 장치의 부트로더와 메인 프로그램의 구성을 보여주는 블록도이다.4 is a block diagram illustrating a configuration of a boot loader and a main program of a digital broadcast receiving apparatus according to an embodiment of the present invention.

Claims (6)

부트로더에 의한 부팅과정에서 부팅과정을 보조하기 위하여 사전에 다운로드된 부트 메인 프로그램을 찾는 단계; 및Finding a boot main program downloaded in advance to assist the booting process in the booting process by the boot loader; And 상기 부트로더에 의한 부팅을 상기 찾아진 부트 메인 프로그램의 실행에 의해 보조하는 단계;Assisting booting by the boot loader by executing the found boot main program; 를 포함하는 전자제품의 부트로더 개선 방법To improve the boot loader for electronics 제1항에 있어서, 상기 부트 메인 프로그램은 상기 부트로더에 의한 부팅과정들 사이에 실행되는 것을 특징으로 하는 전자제품의 부트로더 개선 방법The method of claim 1, wherein the boot main program is executed between booting processes of the boot loader. 제2항에 있어서, 상기 부트 메인 프로그램은 과거 부팅과정에 의해 다운로드된 프로그램인 것을 특징으로 하는 전자제품의 부트로더 개선 방법The method of claim 2, wherein the boot main program is a program downloaded by a past booting process. 제1항에 있어서, 상기 부트 메인 프로그램은 상기 전자제품의 성능을 개선하기 위하여 외부로부터 다운로드된 메인 프로그램의 일부인 것을 특징으로 하는 전자제품의 부트로더 개선방법The method of claim 1, wherein the boot main program is a part of a main program downloaded from the outside to improve performance of the electronic product. 제4항에 있어서, 상기 메인 프로그램은 과거 부팅과정에 의해 다운로드된 프로그램인 것을 특징으로 하는 전자제품의 부트로더 개선 방법The method of claim 4, wherein the main program is a program downloaded by a past booting process. 제1항에 있어서, 상기 사전에 다운로드된 부트 메인 프로그램은 플래시 메모리에 저장되어 있는 것을 특징으로 하는 전자제품의 부트로더 개선 방법The method of claim 1, wherein the pre-downloaded boot main program is stored in a flash memory.
KR1020030060837A 2003-09-01 2003-09-01 Method For Improving Boot-Loader In Eletronic Appliance KR20050024740A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030060837A KR20050024740A (en) 2003-09-01 2003-09-01 Method For Improving Boot-Loader In Eletronic Appliance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030060837A KR20050024740A (en) 2003-09-01 2003-09-01 Method For Improving Boot-Loader In Eletronic Appliance

Publications (1)

Publication Number Publication Date
KR20050024740A true KR20050024740A (en) 2005-03-11

Family

ID=37231816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030060837A KR20050024740A (en) 2003-09-01 2003-09-01 Method For Improving Boot-Loader In Eletronic Appliance

Country Status (1)

Country Link
KR (1) KR20050024740A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988133A (en) * 2021-03-12 2021-06-18 麒麟软件有限公司 Method for realizing customized function and fixed function address in boot stage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988133A (en) * 2021-03-12 2021-06-18 麒麟软件有限公司 Method for realizing customized function and fixed function address in boot stage

Similar Documents

Publication Publication Date Title
KR100778293B1 (en) Digital tv and upgrade method of bootloader for the same
KR100506203B1 (en) Booting and boot code update method and system thereof
US8181007B2 (en) Electronic device and method for secure operating system update in embedded system
US6728956B2 (en) Data processor, program updating method and storage medium
JP2000357095A (en) Method and device for downloading software to embedded system
US7805562B2 (en) Microcomputer with configurable communication interfacing
GB2466685A (en) Fault tolerant updating of firmware
US20060212691A1 (en) Electronic device having an alterable configuration and methods of manufacturing and configuring the same
US8850510B2 (en) Digital broadcast receiver and upgrading method thereof
CA2392240C (en) Dynamic detection of hardware configuration in a digital terminal
CN110750280B (en) Android platform-based application upgrading method and system and storage medium
CN101505331A (en) Method and apparatus for updating system software of smart phone
US20080209201A1 (en) Apparatus and method for updating boot logo image in portable terminal
KR100658865B1 (en) Device and method for program upgrade of receiver
KR20050024740A (en) Method For Improving Boot-Loader In Eletronic Appliance
JP2010117944A (en) Software update system, software update method, mobile phone terminal, and program
US11768669B2 (en) Installing application program code on a vehicle control system
KR20060008131A (en) Method for updating boot code
KR100631584B1 (en) How to Force Download of Program on Mobile Terminal
KR102551737B1 (en) Bootloader System and Method Therefor
KR100877720B1 (en) Dmb-receiver for firmware upgrading with storing-apparatus and method thereof
KR100608796B1 (en) Method for upgrading binary data of mobile communication terminal
KR20000033437A (en) Apparatus for implementing function of bootstrap loader
KR100862290B1 (en) Addition function update method for dstb
CN116501346A (en) Remote online upgrade method for control unit software

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination