KR20030003945A - Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system - Google Patents

Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system Download PDF

Info

Publication number
KR20030003945A
KR20030003945A KR1020010039815A KR20010039815A KR20030003945A KR 20030003945 A KR20030003945 A KR 20030003945A KR 1020010039815 A KR1020010039815 A KR 1020010039815A KR 20010039815 A KR20010039815 A KR 20010039815A KR 20030003945 A KR20030003945 A KR 20030003945A
Authority
KR
South Korea
Prior art keywords
mode
boot
program
boot mode
embedded computer
Prior art date
Application number
KR1020010039815A
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 KR1020010039815A priority Critical patent/KR20030003945A/en
Publication of KR20030003945A publication Critical patent/KR20030003945A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • 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/4405Initialisation of multiprocessor systems
    • 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/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A method for realizing multiple boot modes of an embedded computer system and a device for switching a boot mode are provided to increase the system flexibility by enabling an operator to select the boot mode according to an operation purpose. CONSTITUTION: A mode switch(610) is installed to the embedded computer system. A boot mode bit is decided by a bit value according to an on/off state of the mode switch(610). A CPU(630) reads the boot mode bit when the system is booted and selectively executes a debugging program mode or a system program mode according to a boot mode bit value. A mode display displays whether the boot mode executed by the CPU is the debugging program mode or the system program mode. The mode display comprises an LED(650) indicating the execution of the specified boot procedure to the operator, an inverter gate(640) applying the reverse direction voltage to the LED(650) by inverting the boot mode bit value and a power supply applying the right direction voltage to the LED.

Description

임베디드 컴퓨터 시스템의 다중 부트모드 구현방법 및 부트모드 전환장치 {Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system}Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system}

본 발명은 임베디드 컴퓨터 시스템(Embedded Computer System)의 다중 부트모드에 관한 것으로, 보다 상세하게는 운영체제를 필요로 하는 임베디드 환경의 시스템에 다이그노스틱 기능을 갖는 디버그 프로그램과 시스템 운용에 필요한 메인 시스템 프로그램을 별도로 두어 운용목적에 따라 운용자가 부트모드를 선택할 수 있도록 하여 시스템의 유연성을 증대시키기 위한 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법 및 부트모드 전환장치에 관한 것이다.The present invention relates to a multiple boot mode of an embedded computer system, and more particularly, a debug program having a gnonostic function and a main system program required for system operation in an embedded environment system that requires an operating system. In addition, the present invention relates to a method for implementing multiple boot modes and a boot mode switching device of an embedded computer system for increasing flexibility of a system by allowing an operator to select a boot mode according to an operation purpose.

임베디드 컴퓨터 시스템 또는 내장형 컴퓨터 시스템은 무기류나 항공기, 선박, 미사일, 우주선, 고속 교통기관 등의 전자 기계 시스템과 일체로 되어 있는 시스템이다. 일반적으로 임베디드 환경으로 구축된 시스템은 중앙처리장치(CPU)를 갖고 운영체제를 필요로 한다.Embedded computer systems or embedded computer systems are systems integrated with electromechanical systems, such as weapons, aircraft, ships, missiles, spacecraft, high speed transportation. In general, a system built in an embedded environment has a central processing unit (CPU) and requires an operating system.

도1에는 일반적인 임베디드 시스템의 하드웨어 블록도가 도시되어 있다.1 shows a hardware block diagram of a typical embedded system.

도1에 따르면, 임베디드 환경이 갖는 하드웨어 플랫폼으로는 시스템의 핵심인 중앙처리장치(110)가 있으며, 기본적인 부팅에 필요한 부트메모리(130), 시스템 소프트웨어가 탑재되는 플래쉬 메모리(140), 사용자 인터페이스를 위한 입출력 장치(150), 그리고 소프트웨어의 인스트럭션이 실행되면서 운영체제 및 응용 프로그램의 작업 공간으로 사용되는 임시 메모리 장치인 램(120) 등의 주변장치들과 연결되어 있다.According to FIG. 1, the hardware platform of the embedded environment includes a central processing unit 110, which is the core of the system, a boot memory 130 required for basic booting, a flash memory 140 on which system software is mounted, and a user interface. The input / output device 150 and the peripheral device such as the RAM 120 which is a temporary memory device used as a work space of an operating system and an application program are executed while the software instruction is executed.

임베디드 시스템은 전원이 공급될 때마다 중앙처리장치(110)와 사용되는 디바이스를 우선적으로 초기화시켜서 동작 가능하도록 하는 펌웨어(Firmware)인 부트 코드를 갖게 되는데, 이 부트 코드가 정상적으로 수행된 이후에 운영체제를 탐색하여 실제 원하는 응용 소프트웨어가 동작할 수 있도록 하는 과정을 수행한다.The embedded system has a boot code, which is firmware, which initializes and operates the CPU 110 and the device to be used whenever power is supplied. Explore and perform the process to make the desired application software run.

이처럼 제한된 하드웨어 자원을 사용하는 임베디드 형태의 하드웨어 플랫폼 상에 운영체제를 인스톨하는 일련의 과정을 부팅이라 한다.This process of installing an operating system on an embedded hardware platform using limited hardware resources is called booting.

부팅에 관여하는 코드는 통상적으로 저용량의 롬 메모리를 사용하거나 대용량의 플래쉬 메모리의 일부를 할당하여 사용하기도 한다.Code involved in booting typically uses a small amount of ROM memory or allocates a portion of a large amount of flash memory.

도2에는 종래의 부트 시퀀스가 도시되어 있으며, 도3에는 종래 부트 시퀀스 적용시의 코드 이미지가 도시되어 있다.2 shows a conventional boot sequence, and FIG. 3 shows a code image when the conventional boot sequence is applied.

도2에 따르면, 종래의 부트 시퀀스는 부팅과정과 응용 프로그램의 구동이 연속선상에서 수행되는 방식이다.According to FIG. 2, the conventional boot sequence is a method in which a booting process and driving of an application program are performed on a continuous line.

기존의 부팅 모드에서는 시스템에 전원이 인가된 후, 부트 코드가 시작되어 중앙처리장치가 초기화된다. 중앙처리장치는 부팅에 필요한 펌웨어인 부트 코드를 읽어 들여 수행하게 된다(S210~S220).In the conventional boot mode, after the system is powered on, the boot code is started to initialize the CPU. The central processing unit reads and executes boot code, which is firmware required for booting (S210 ˜ S220).

펌웨어는 하드웨어와 소프트웨어의 중간 위치를 지시하는 것으로, 하드웨어가 정상적으로 동작할 수 있도록 디바이스 드라이버 등을 구동시키는 역할을 하며, 애플리케이션 소프트웨어가 이들 디바이스 드라이버를 호출하여 그 디바이스를 제어하게 된다.The firmware indicates an intermediate position between the hardware and the software. The firmware drives the device driver and the like so that the hardware can operate normally, and the application software calls these device drivers to control the device.

중앙처리장치는 최우선으로 스타트 업(Start-Up) 코드를 수행하게 되는데,여기서는 중앙처리장치의 내부 레지스터 등을 설정하여 사용하고자 하는 모드에 맞추어 초기화시키며 기타 캐시 메모리, 메모리 관리 유니트(MMU) 등의 설정을 하게 된다. 그리고 주변장치인 메모리를 제어하기 위한 메모리 컨트롤러, 인터럽트 컨트롤러 등을 설정하게 된다.The central processing unit executes the start-up code first.In this case, the internal register of the central processing unit is set and initialized according to the desired mode, and other cache memory, memory management unit (MMU), etc. Will be set. In addition, a memory controller and an interrupt controller for controlling a memory, which is a peripheral device, are set.

또한, 기타 하드웨어적으로 구성되는 입출력 포트 등의 디바이스 드라이버를 구동하여 시리얼 또는 이더넷 등의 통신포트가 정상적으로 동작할 수 있을 때 비로소 부팅이 가능하게 된다. 여기서 보드 디버깅에 필요한 간단한 애플리케이션 프로그램을 거쳐서 운영체제를 로드하여 초기화시킨 후, 디버깅 프로그램을 시작하고 시스템의 구동에 필요한 애플리케이션 프로그램이 수행되어 시스템 구동이 이루어진다(S230~S250).In addition, when a device driver such as an input / output port configured in other hardware is driven, booting is possible only when a communication port such as serial or Ethernet can operate normally. Here, after loading and initializing the operating system through a simple application program necessary for debugging the board, the debugging program is started and the application program required to drive the system is performed to drive the system (S230 to S250).

도3에 따르면, 부트 시퀀스에 따른 코드 이미지는 부트 시퀀스를 사용하여 생성되는 부트 이미지 및 운영체제, 애플리케이션 이미지와 이의 탑재위치를 나타낸다. 코드 이미지의 경우, 부트용 메모리(310)에는 부트 파일 시스템, 운영체제 커널, 및 디버깅 프로그램이 탑재되며, 플래쉬 메모리(320)에는 운영체제 커널과 메인 시스템 애플리케이션 프로그램이 각각 탑재된다.According to FIG. 3, a code image according to a boot sequence represents a boot image, an operating system, an application image, and a mounting location thereof, which are generated using the boot sequence. In the case of a code image, the boot memory 310 includes a boot file system, an operating system kernel, and a debugging program, and the flash memory 320 includes an operating system kernel and a main system application program, respectively.

그러나 종래의 부팅 모드는 시스템을 디버깅할 수 있는 프로그램과 애플리케이션 프로그램이 함께 로드되기 때문에 코드 이미지 로딩시간이 오래 걸리게 되는 문제점이 있다. 부팅 시간이 길기 때문에 소프트웨어의 유연성과 적응성 향상이 어렵다.However, the conventional boot mode has a problem in that it takes a long time to load a code image because a program and an application program for debugging a system are loaded together. Long boot times make it difficult to improve software flexibility and adaptability.

본 발명은 상기와 같은 종래의 문제점을 해소하기 위해 창출된 것으로, 본 발명의 목적은 운영체제를 필요로 하는 임베디드 환경의 시스템에 다이그노스틱 기능을 갖는 디버그 프로그램과 시스템 운용에 필요한 메인 시스템 프로그램을 별도로 두어 운용목적에 따라 운용자가 부트 모드를 선택할 수 있도록 하여 시스템의 유연성을 증대시키기 위한 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법을 제공하는데 있다.The present invention was created to solve the above-mentioned conventional problems, and an object of the present invention is to separate a debug program having a gnostic function and a main system program required for system operation in a system of an embedded environment requiring an operating system. In this regard, the present invention provides a method for implementing multiple boot modes of an embedded computer system to increase the flexibility of the system by allowing an operator to select a boot mode according to an operation purpose.

본 발명의 다른 목적은 임베디드 환경의 시스템에 모드 스위치를 두고 부팅시 중앙처리장치가 모드 스위치의 스위칭 상태를 확인하여 부트 모드를 선택할 수 있도록 한 임베디드 컴퓨터 시스템의 부트모드 전환장치를 제공하는 데 있다.It is another object of the present invention to provide a boot mode switching device of an embedded computer system in which a mode switch is placed in a system of an embedded environment and the central processing unit checks the switching state of the mode switch and selects a boot mode at boot time.

도1은 일반적인 임베디드 시스템의 하드웨어 블록도.1 is a hardware block diagram of a typical embedded system.

도2는 종래기술에 의한 임베디드 부트 시퀀스의 순서도.2 is a flow chart of an embedded boot sequence according to the prior art.

도3은 종래의 부트 시퀀스에 따른 코드 이미지 구성도.3 is a code image configuration diagram according to a conventional boot sequence.

도4는 본 발명의 실시예에 따른 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법의 순서도.4 is a flowchart of a method for implementing multiple boot modes of an embedded computer system according to an exemplary embodiment of the present invention.

도5는 도4의 실시예에 따른 부트 시퀀스의 코드 이미지 구성도.5 is a code image configuration diagram of a boot sequence according to the embodiment of FIG.

도6은 본 발명의 실시예에 따른 임베디드 컴퓨터 시스템의 부트모드 전환장치의 개략도.6 is a schematic diagram of an apparatus for switching a boot mode of an embedded computer system according to an embodiment of the present invention.

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

610 : 모드 스위치620 : 부트모드 비트610: mode switch 620: boot mode bits

630 : 중앙처리장치640 : 인버터 게이트630: central processing unit 640: inverter gate

650 : 발광 다이오드650 light emitting diode

상기 목적을 달성한 본 발명에 따른 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법은, 임베디드 컴퓨터 시스템에 전원이 입력되면 부트코드가 시작되어 중앙처리장치를 초기화하고 각종 디바이스들의 설정을 초기화하는 단계와; 중앙처리장치가 설정된 부트모드 비트를 읽어들여 부트모드를 판정하며, 디버깅 프로그램 모드일 경우에는 디버깅용 프로그램 영역으로 점프하여 디버깅용 프로그램을 수행하고, 시스템 프로그램 모드일 경우에는 시스템 프로그램 영역으로 점프하여 시스템 프로그램을 구동시키는 단계를 포함하는 것을 그 특징으로 한다.According to another aspect of the present invention, there is provided a method of implementing a multi-boot mode of an embedded computer system, the method comprising: initializing a CPU and initializing settings of various devices when power is input to an embedded computer system; The central processing unit reads the set boot mode bit to determine the boot mode.In case of the debugging program mode, the CPU jumps to the debugging program area and executes the debugging program. In the system program mode, the CPU jumps to the system program area. Characterized in that it comprises a step of driving a program.

상기 목적을 달성한 본 발명에 따른 임베디드 컴퓨터 시스템의 부트모드 전환장치는, 임베디드 컴퓨터 시스템에 부착된 모드 스위치와; 시스템 전원 인가시 상기 모드 스위치의 온/오프 상태에 따라 비트값이 결정되는 부트모드 비트와; 부팅시 초기화되어 상기 부트모드 비트를 읽어 들이고, 부트모드 비트의 값에 따라 디버깅 프로그램 모드 또는 시스템 프로그램 모드를 선택적으로 수행하기 위한 중앙처리장치를 포함하는 것을 그 특징으로 한다.In accordance with another aspect of the present invention, a boot mode switching apparatus of an embedded computer system includes: a mode switch attached to an embedded computer system; A boot mode bit in which a bit value is determined according to an on / off state of the mode switch when a system power is applied; And a central processing unit initialized at boot time to read the boot mode bit and selectively performing a debugging program mode or a system program mode according to the value of the boot mode bit.

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

도4는 본 발명의 실시예에 따른 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법의 순서도이고, 도5는 도4의 실시예에 따른 부트 시퀀스의 코드 이미지 구성도이다.4 is a flowchart of a method of implementing multiple boot modes of an embedded computer system according to an exemplary embodiment of the present invention, and FIG. 5 is a diagram illustrating a code image of a boot sequence according to the exemplary embodiment of FIG. 4.

도4에 따르면, 다중 부트모드 구현방법은 시스템 전원의 입력으로 개시된다. 임베디드 컴퓨터 시스템에 전원이 입력되면 부팅이 수행된다.According to Figure 4, the multiple boot mode implementation method is initiated by the input of the system power. Booting is performed when the embedded computer system is powered up.

부팅은 부트 스트랩(Bootstrap)의 수행을 의미하는데, 시스템에 전원이 공급된 후 장착된 하드웨어를 검사하고 운영체제를 로딩하는 일련의 과정이다. PC에 있어서 부팅은 바이오스(BIOS, 또는 Basic Input Output System)라 하여 기본적인 입출력 장치들에 대한 제어 및 관리 등을 수행하게 된다.Booting refers to the implementation of Bootstrap, which is a series of processes that check the installed hardware and load the operating system after the system is powered up. In PC, booting is called BIOS or Basic Input Output System to control and manage basic input / output devices.

부트 스트랩은 특정한 칩에 내장된 펌웨어 형태의 소프트웨어를 의미한다. 부트 스트랩에 의해 전원입력, 중앙처리장치의 초기화, 메모리 및 기타 주변장치의 초기화, 입출력 장치에 대한 검사 등의 POST(Power On Self Test)와 운영체제로의 점프를 통한 애플리케이션 구동이 이루어진다.Bootstrap refers to software in the form of firmware embedded in a specific chip. Bootstrap enables application through power on self test (POST) and jumps to the operating system, such as power input, initialization of the central processing unit, initialization of memory and other peripherals, and testing of input and output devices.

그러므로 시스템내 각종 유니트들의 초기화와 기능검사를 수행한 이후 운영체제를 로딩함으로써 애플리케이션 수행을 가능케 하는 일련의 부팅과정에 소요되는 시간은 시스템 초기 기동의 효율성을 결정하는 주요 기준이 된다. 부팅시간은 시스템이 애플리케이션 프로그램을 수행할 수 있게 되는 정상모드로 진입하기까지의 시간을 의미하는데, 이러한 부팅시간의 단축으로 시스템의 적응성 향상을 기대할 수 있다.Therefore, the time required for a series of booting processes that enable application execution by loading the operating system after initializing and functional checking of various units in the system is a major criterion for determining the efficiency of initial system startup. The boot time refers to the time required for the system to enter the normal mode in which the application program can be executed. The shortening of the boot time can be expected to improve the adaptability of the system.

부트 시퀀스에서 부팅시간을 단축하기 위해 본 발명은 디버깅 프로그램 수행과 시스템 프로그램 수행을 필수사항으로 하지 않고 선택사항으로 채택하는 기법을 적용한다. 즉 부트모드를 선택할 수 있도록 한 것이다.In order to shorten the boot time in the boot sequence, the present invention applies a technique that does not require debugging program execution and system program execution as an optional feature. That is, the boot mode can be selected.

본 실시예의 경우, 전원공급에 따라 펌웨어의 부트코드가 시작되고 중앙처리장치의 초기화가 이루어진다(S410~S420).In the present embodiment, the boot code of the firmware is started according to the power supply, and the central processing unit is initialized (S410 to S420).

중앙처리장치를 초기화시키고 기타 하드웨어 디바이스들에 대한 환경 설정 및 초기화를 시작한다(S430).Initializes the central processing unit and starts setting and initialization of other hardware devices (S430).

단계 S430까지의 기본적인 부트 과정이 완료되면, 중앙처리장치는 부트 파일 시스템으로부터 부팅에 필요한 코드를 읽어 들이게 된다.When the basic booting process up to step S430 is completed, the CPU reads code required for booting from the boot file system.

도5에 따르면, 부트 시퀀스의 코드 이미지는 부트용 메모리(510)와 플래쉬 메모리(520)로 이루어진다. 부트용 메모리(510)에는 부트 파일 시스템이 탑재되고, 플래쉬 메모리(520)에는 운영체제 커널과 디버깅 프로그램 및 메인 시스템 프로그램이 탑재된다.According to FIG. 5, a code image of a boot sequence includes a boot memory 510 and a flash memory 520. A boot file system is mounted in the boot memory 510, and an operating system kernel, a debugging program, and a main system program are mounted in the flash memory 520.

이러한 코드 이미지는 종래의 코드 이미지와는 다른 구성이며, 다중 부트모드의 실현을 위한 것이다.This code image is different from the conventional code image and is for realizing multiple boot modes.

그리고 다중 부트모드를 실현하려면 부트모드의 선택상황을 판정하기 위한 레지스터가 필요하다. 부트모드 선택상황은 부트모드 비트에 의해 표시된다. 그래서 중앙처리장치는 부트 파일 시스템을 읽어 들인 후 부트모드 비트를 읽어 부트모드를 판정한다. 중앙처리장치는 읽어 들인 부트모드 비트를 참조하여 부트 모드가 디버깅 프로그램 모드인지 아니면 시스템 프로그램 모드인지를 판정하게 된다. 바람직하게는 부트모드 비트 값은 딥 스위치의 절환으로 결정되도록 한다(S440).In order to realize the multiple boot mode, a register for determining the boot mode selection status is required. The boot mode selection status is indicated by the boot mode bit. The CPU then reads the boot file system and reads the boot mode bits to determine the boot mode. The CPU determines whether the boot mode is a debugging program mode or a system program mode by referring to the read boot mode bit. Preferably, the boot mode bit value is determined by switching of the dip switch (S440).

단계 S440에서 디버깅 프로그램 모드로 판단되는 경우, 중앙처리장치는 디버깅 프로그램 영역으로 점프하여 해당 운영체제 커널과 디버깅 프로그램을 수행한다(S450~S460).If it is determined in step S440 that the debugging program mode, the central processing unit jumps to the debugging program area to perform the debugging program and the operating system kernel (S450 ~ S460).

이와는 달리 단계 S440에서 시스템 프로그램 모드로 판단되는 경우, 중앙처리장치는 시스템 프로그램 영역으로 점프하여 해당 운영체제 커널과 시스템 프로그램을 수행한다(S470~S480).On the contrary, if it is determined in the system program mode in step S440, the CPU jumps to the system program area and performs a system program with the corresponding operating system kernel (S470 to S480).

본 실시예에서 중앙처리장치가 부트모드를 구분하여 디버깅 프로그램과 시스템 프로그램중 어느 하나만을 수행하는 부팅과정이 이루어지게 됨으로써 부팅의 효율성이 증대된다. 즉 다중 부트모드가 구현됨으로써 부팅시 플래쉬 메모리(520)의 코드 이미지 중에서 일부만이 수행되도록 하는 것이다.In the present embodiment, the booting process is performed in which the CPU processes only one of a debugging program and a system program by classifying a boot mode, thereby increasing boot efficiency. That is, by implementing the multiple boot mode, only a part of the code image of the flash memory 520 is performed at boot time.

이상으로 다중 부트모드 구현방법의 실시예를 설명하였으며, 이하에서는 부트모드 전환장치의 실시예를 설명한다.The embodiment of the multi-boot mode implementation method has been described above. Hereinafter, the embodiment of the boot mode switch apparatus will be described.

도6은 본 발명의 실시예에 따른 임베디드 컴퓨터 시스템의 부트모드 전환장치의 개략도이다.6 is a schematic diagram of an apparatus for switching a boot mode of an embedded computer system according to an exemplary embodiment of the present invention.

도6에 따르면, 부트모드 전환장치는 임베디드 컴퓨터 시스템에 부착된 모드 스위치(610), 시스템 전원 인가시 모드 스위치(610)의 온/오프 상태에 따라 비트값이 결정되는 부트모드 비트(620), 부팅시 초기화되어 부트모드 비트(620)를 읽어 들이고 부트모드 비트 값에 따라 디버깅 프로그램 모드 또는 시스템 프로그램 모드를 선택적으로 수행하기 위한 중앙처리장치(630)를 포함하여 이루어진다.Referring to FIG. 6, the boot mode switching apparatus includes a mode switch 610 attached to an embedded computer system, a boot mode bit 620 having a bit value determined according to an on / off state of a mode switch 610 when a system power is applied, It is initialized at boot time and includes a central processing unit 630 for reading the boot mode bit 620 and selectively performing a debugging program mode or a system program mode according to the boot mode bit value.

부트모드 전환장치는 시스템 운용자의 선택으로 부트모드가 결정되도록 하기 위해 모드 스위치(610)를 구비한다. 모드 스위치(610)는 딥 스위치로 구현하는 것이 바람직하다. 딥 스위치는 온/오프의 두 가지 스위칭 상태를 갖는다.The boot mode switching device includes a mode switch 610 to allow the boot mode to be determined by a system operator's selection. The mode switch 610 is preferably implemented as a dip switch. The dip switch has two switching states, on and off.

부트모드 비트는 모드 스위치(610)의 온시 '1'을 나타내며 오프시 '0'늘 나타내는 토글 비트이다. 그리고 부트모드 비트는 시스템에 부착된 다른 딥 스위치들에 할당된 비트와 함께 중앙처리장치의 특정 레지스터 영역에 매핑된다. 예를 들어 첨부도에서와 같이 딥 스위치들의 스위칭 상태를 지시하기 위해 1바이트를 할당하고, 그중 3번 비트를 부트모드 비트로 할당할 수 있다.The boot mode bit is a toggle bit indicating '1' when the mode switch 610 is on and '0' when off. The bootmode bit is then mapped to a specific register region in the central processing unit along with the bit assigned to the other dip switches attached to the system. For example, as shown in the accompanying drawings, one byte may be allocated to indicate the switching state of the dip switches, and bit 3 may be allocated to the boot mode bit.

부팅과정에서 딥 스위치들의 스위칭 상태를 나타내는 바이트에 대한 레지스터 매핑이 수행되는데, 중앙처리장치는 매핑된 바이트중에서 부트모드 비트(620)인 3번 비트 값을 읽어 부트모드를 판정하게 된다. 예를 들어 모드 스위치(610)가 온 일 때 부트모드 비트는 '1'이 되며, 중앙처리장치가 이 값을 읽어 시스템 프로그램 모드로 판정하도록 설정할 수 있다. 이러한 체계로 부트모드 비트 '0'으로 디버깅 프로그램 모드를 지시할 수 있다.In the booting process, a register mapping is performed on a byte representing a switching state of the dip switches. The CPU determines a boot mode by reading a value of bit 3 of the boot mode bit 620 among the mapped bytes. For example, when the mode switch 610 is turned on, the boot mode bit becomes '1', and the CPU may be configured to read this value and determine the system program mode. With this scheme, the boot mode bit '0' can indicate the debugging program mode.

부트모드 전환장치에서 부트모드의 전환과 선택된 부트모드에 따른 중앙처리장치의 동작은 설명한 바와 같다.The switching of the boot mode in the boot mode switching device and the operation of the CPU according to the selected boot mode are as described above.

한편, 부팅시 시스템 운용자에게 부팅모드를 인지시킴으로써 운용자의 부팅모드 선택의 적합성을 재고시킬 수 있다.On the other hand, by recognizing the boot mode to the system operator at boot time, it is possible to rethink the suitability of the operator's boot mode selection.

그래서 본 실시예는 부팅모드를 표시하기 위한 모드 표시부를 포함하여 이루어진다. 모드 표시부는 부트모드 비트가 '1'일 때 발광하도록 설계된 발광 다이오드(650)를 이용하여 구현할 수 있다.Thus, the present embodiment includes a mode display unit for displaying the boot mode. The mode display unit may be implemented using a light emitting diode 650 designed to emit light when the boot mode bit is '1'.

모드 표시부는 발광 다이오드(650)의 발광 여부를 제어하기 위해 전원공급부(참조번호 미기재)와 더불어 인버터 게이트(640)를 포함하여 이루어진다. 전원공급부는 전원을 발광 다이오드(650)로 인가하기 위한 것이며, 인버터 게이트(640)는 부트모드 비트 값에 따라 전원을 발광 다이오드(650)로 공급되도록 하거나 차단하는 발광 제어기능을 수행하기 위한 것이다. 예를 들어 부트모드 비트가 '1'이면 인버터 게이트(640)는 전원 공급부로부터 발광 다이오드(650)로 전원이 공급되도록 한다.The mode display unit includes an inverter gate 640 together with a power supply unit (not shown) to control whether the light emitting diode 650 emits light. The power supply unit is to apply power to the light emitting diode 650, and the inverter gate 640 is to perform a light emission control function to allow or block power to the light emitting diode 650 according to the boot mode bit value. For example, when the boot mode bit is '1', the inverter gate 640 allows power to be supplied from the power supply to the light emitting diode 650.

이상 설명한 실시예는 본 발명의 변화, 변경 및 균등물에 속한다. 따라서 실시예에 대한 기재내용은 본 발명의 특허청구범위를 한정하지 않는다.The embodiments described above belong to variations, modifications, and equivalents of the present invention. Therefore, the description of the embodiments do not limit the claims of the present invention.

본 발명의 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법 및 부트모드 전환장치에 따르면, 종래 디버깅을 위한 과정과 메인 시스템 소프트웨어를 위한 구동이 연속 수행되기 때문에 하드웨어 초기화 후 디버깅에 따른 부팅시간이 소모되었던 점에 비해, 부팅시 디버깅 프로그램과 시스템 소프트웨어 구동이 선택적으로 이루어지도록 함으로써 순수하게 하드웨어 부팅 영역에 할당되는 플래쉬 메모리 공간을 저감시키고 부팅시간을 단축시키는 효과가 있다.According to the multiple boot mode implementation method and the boot mode switching apparatus of the embedded computer system of the present invention, since the process for conventional debugging and the driving for the main system software are continuously performed, booting time due to debugging after hardware initialization is consumed. On the contrary, by selectively executing the debugging program and the system software at boot time, the flash memory space allocated to the hardware boot area can be reduced and boot time can be shortened.

또한, 본 발명을 적용하여 시스템을 운용하게 되면 운용자가 모드 표시부의 점등상황을 참조하여 현재의 부트모드를 용이하게 식별하게 되는 효과가 있다.In addition, when operating the system by applying the present invention there is an effect that the operator can easily identify the current boot mode with reference to the lighting of the mode display unit.

Claims (7)

임베디드 컴퓨터 시스템에 전원이 입력되면 부트코드가 시작되어 중앙처리장치를 초기화하고 각종 디바이스들의 설정을 초기화하는 (a) 단계와;(A) initializing a central processing unit and initializing settings of various devices when power is input to the embedded computer system; 중앙처리장치가 설정된 부트모드 비트를 읽어들여 부트모드를 판정하며, 디버깅 프로그램 모드일 경우에는 디버깅용 프로그램 영역으로 점프하여 디버깅용 프로그램을 수행하고, 시스템 프로그램 모드일 경우에는 시스템 프로그램 영역으로 점프하여 시스템 프로그램을 구동시키는 (b) 단계를 포함하는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법.The central processing unit reads the set boot mode bit to determine the boot mode.In case of the debugging program mode, the CPU jumps to the debugging program area and executes the debugging program. In the system program mode, the CPU jumps to the system program area. A method of implementing a multi-boot mode of an embedded computer system comprising the step of (b) running a program. 제 1항에 있어서, 상기 단계 (b)에서,The method of claim 1, wherein in step (b), 부트모드 비트는 시스템에 부착된 딥 스위치의 절환에 따라 비트값이 토글되는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법.The boot mode bit is a multi-boot mode implementation method of the embedded computer system, characterized in that the bit value is toggled according to the switching of the dip switch attached to the system. 제 1항에 있어서,The method of claim 1, 상기 부트코드는 부트용 메모리와 플래쉬 메모리에 구분되어 탑재되며, 상기 부트용 메모리에는 부트 파일 시스템이 탑재되고 상기 플래쉬 메모리에는 운영체제 커널과 디버깅 프로그램 및 메인 시스템 프로그램이 각각 탑재되어, 디버깅 프로그램 모드에서는 중앙처리장치에 의해 운영체제 커널과 디버깅 프로그램이 수행되도록 하고, 시스템 프로그램 모드에서는 중앙처리장치에 의해 운영체제 커널과 메인시스템 프로그램이 수행되도록 하는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 다중 부트모드 구현방법.The boot code is divided into a boot memory and a flash memory, and a boot file system is mounted in the boot memory, and an operating system kernel, a debugging program, and a main system program are mounted in the flash memory, respectively. The operating system kernel and the debugging program to be executed by the processing unit, and in the system program mode, the operating system kernel and the main system program is executed by the central processing unit. 임베디드 컴퓨터 시스템에 부착된 모드 스위치와;A mode switch attached to the embedded computer system; 시스템 전원 인가시 상기 모드 스위치의 온/오프 상태에 따라 비트값이 결정되는 부트모드 비트와;A boot mode bit in which a bit value is determined according to an on / off state of the mode switch when a system power is applied; 부팅시 초기화되어 상기 부트모드 비트를 읽어 들이고, 부트모드 비트의 값에 따라 디버깅 프로그램 모드 또는 시스템 프로그램 모드를 선택적으로 수행하기 위한 중앙처리장치를 포함하는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 부트모드 전환장치.Boot mode switching device for an embedded computer system, characterized in that it comprises a central processing unit initialized at boot time to read the boot mode bit, and selectively performs a debugging program mode or a system program mode according to the value of the boot mode bit. . 제 4항에 있어서,The method of claim 4, wherein 상기 모드 스위치는 딥 스위치인 것을 특징으로 하는 임베디드 컴퓨터 시스템의 부트모드 전환장치.And the mode switch is a dip switch. 제 4항 또는 제 5항에 있어서,The method according to claim 4 or 5, 상기 부트모드 비트 값에 따라 작동여부가 결정되어 상기 중앙처리장치에 의해 수행되는 부트모드가 디버깅 프로그램 모드인지 아니면 시스템 프로그램 모드인지 여부를 나타내기 위한 모드 표시부를 더 포함하여 이루어지는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 부트모드 전환장치.The embedded computer, characterized in that the operation is determined according to the boot mode bit value further comprises a mode display unit for indicating whether the boot mode performed by the CPU is a debugging program mode or a system program mode. Device's boot mode switcher. 제 6항에 있어서, 상기 모드 표시부는,The method of claim 6, wherein the mode display unit, 전원 인가시 가시광을 발광하여 시스템 운용자에게 특정 부트모드로 부트과정이 수행중임을 표시하기 위한 발광 다이오드와;A light emitting diode for emitting visible light upon power-up to indicate to a system operator that a booting process is being performed in a specific boot mode; 상기 부트모드 비트 값을 반전시켜 발광다이오드의 역방향 전위로 인가하기 위한 인버터 게이트와;An inverter gate for inverting the boot mode bit value and applying it to the reverse potential of the light emitting diode; 상기 발광 다이오드로 순방향 전위를 인가하기 위한 전원 공급부를 포함하여 이루어지는 것을 특징으로 하는 임베디드 컴퓨터 시스템의 부트모드 전환장치.And a power supply unit for applying a forward potential to the light emitting diodes.
KR1020010039815A 2001-07-04 2001-07-04 Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system KR20030003945A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010039815A KR20030003945A (en) 2001-07-04 2001-07-04 Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010039815A KR20030003945A (en) 2001-07-04 2001-07-04 Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system

Publications (1)

Publication Number Publication Date
KR20030003945A true KR20030003945A (en) 2003-01-14

Family

ID=27713395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010039815A KR20030003945A (en) 2001-07-04 2001-07-04 Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system

Country Status (1)

Country Link
KR (1) KR20030003945A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708466B1 (en) * 2005-06-17 2007-04-18 삼성전자주식회사 Embeded system for embodying unity system for selection and the slecting unity system embodying method thereof
KR100777446B1 (en) * 2005-05-25 2007-11-21 삼성전자주식회사 Electronic device and booting method thereof
KR101033591B1 (en) * 2004-11-09 2011-05-11 엘지전자 주식회사 Method of debugging in Embedded system
US8352694B2 (en) 2007-03-30 2013-01-08 Samsung Electronics Co., Ltd. Method of controlling memory access

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101033591B1 (en) * 2004-11-09 2011-05-11 엘지전자 주식회사 Method of debugging in Embedded system
KR100777446B1 (en) * 2005-05-25 2007-11-21 삼성전자주식회사 Electronic device and booting method thereof
US7694122B2 (en) 2005-05-25 2010-04-06 Samsung Electronics Co., Ltd. Electronic device and booting method thereof
KR100708466B1 (en) * 2005-06-17 2007-04-18 삼성전자주식회사 Embeded system for embodying unity system for selection and the slecting unity system embodying method thereof
US8352694B2 (en) 2007-03-30 2013-01-08 Samsung Electronics Co., Ltd. Method of controlling memory access
US8943288B2 (en) 2007-03-30 2015-01-27 Samsung Electronics Co., Ltd. Method of controlling memory access

Similar Documents

Publication Publication Date Title
US8028290B2 (en) Multiple-core processor supporting multiple instruction set architectures
JP6258940B2 (en) Layout and execution of software applications using BPRAM
US8443183B2 (en) Pre-boot loader for reducing system boot time
KR100764922B1 (en) Computer system including a memory access controller for using non-system memory storage resources during system boot time
US7312605B2 (en) AC power supply testing module and method for booting a main board
US9304788B2 (en) Electronic device, configurable component and configuration information storage method thereof
JP6259459B2 (en) Operating system layout and execution using BPRAM
US7356684B2 (en) Booting system and/or method for initializing peripherals
KR20010053904A (en) Computer system and method for quickly booting
JP2014225242A (en) Method for booting heterogeneous system and presenting symmetric core view
CN1189828C (en) Pattern controller and power supply management method used in pattern controller
US7191328B2 (en) System and method for using an extensible firmware interface (EFI) utility to build an EFI layer between an operating system and a legacy basic input/output system during a boot process
JPH08272736A (en) Equipment and method for using of noninterchangeable central processing unit for computer system
US20180226051A1 (en) Techniques of displaying host data on a monitor connected to a service processor during pre-boot initialization stage
KR20060122064A (en) Electronic device and booting method thereof
US7003656B2 (en) Automatic selection of firmware for a computer that allows a plurality of process types
US5432938A (en) Method and system for controlling resume process in computer unit capable of connecting expansion unit
KR20130068630A (en) Method for initializing embedded device and apparatus thereof
KR20030003945A (en) Method for operating multiple boot modes in an embedded computer system, and apparatus for exchanging boot mode in the same system
CN100538648C (en) Use based on specialized processing units on-the-fly modifies systematic parameter
KR19980072602A (en) Method and device for selecting an operating system on a computer using multiple operating systems
CN111752623B (en) Display configuration method, device, electronic equipment and readable storage medium
US7293167B2 (en) Method and apparatus for driving a non-native SATA hard disk
US7380141B2 (en) Transferring data without completing a boot process
US20100162015A1 (en) Energy saving subsystem for an electronic device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination