KR20070080084A - Apparatus and method for booting in embedded system - Google Patents

Apparatus and method for booting in embedded system Download PDF

Info

Publication number
KR20070080084A
KR20070080084A KR1020060011194A KR20060011194A KR20070080084A KR 20070080084 A KR20070080084 A KR 20070080084A KR 1020060011194 A KR1020060011194 A KR 1020060011194A KR 20060011194 A KR20060011194 A KR 20060011194A KR 20070080084 A KR20070080084 A KR 20070080084A
Authority
KR
South Korea
Prior art keywords
boot
main memory
booting
warm
operating system
Prior art date
Application number
KR1020060011194A
Other languages
Korean (ko)
Other versions
KR100763198B1 (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 KR1020060011194A priority Critical patent/KR100763198B1/en
Publication of KR20070080084A publication Critical patent/KR20070080084A/en
Application granted granted Critical
Publication of KR100763198B1 publication Critical patent/KR100763198B1/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

Landscapes

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

Abstract

A device and a method for booting an embedded system are provided to reboot the embedded system according to states defined by a developer and effectively perform warm booting in the embedded system changing a device state of a system in every booting. A controller(220) discriminates whether a booting mode is the warm booting or not. An executor(230) executes an OS(Operating System) by setting a command pointer to a starting part of the OS stored in a main memory depending on discrimination of the warm booting. A power supply unit(210) supplies power to the main memory. If the booting mode is the warm booting, a code of an interrupt service routine included in the OS of the main memory is executed by generating an interrupt and executes an initialization function by setting the command pointer to the initialization function of the main memory.

Description

임베디드 시스템의 부팅 장치 및 방법{Apparatus and method for booting in embedded system}Apparatus and method for booting in embedded system

도 1은 종래 임베디드 시스템의 부팅 순서도이다.1 is a boot flowchart of a conventional embedded system.

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 장치의 블록도이다.2 is a block diagram of a boot device of an embedded system according to an exemplary embodiment.

도 3은 본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 순서도이다.3 is a boot flowchart of an embedded system according to an exemplary embodiment of the present invention.

도 4는 본 발명의 일 실시예에 메인 메모리의 구조를 도시한다.Figure 4 shows the structure of a main memory in one embodiment of the present invention.

도 5는 본 발명의 제 1 실시예에 따른 임베디드 시스템의 웜 부트 시 인터럽트를 이용하여 부팅하는 방법의 순서도이다.5 is a flowchart illustrating a method of booting using an interrupt during a warm boot of an embedded system according to a first embodiment of the present invention.

도 6은 본 발명의 제 1 실시예에 따른 메인 메모리의 구조를 도시한다.6 shows the structure of a main memory according to the first embodiment of the present invention.

도 7은 본 발명의 제 2 실시예에 따른 임베디드 시스템의 웜 부트 시 초기화 함수를 이용하여 부팅하는 방법의 순서도이다.7 is a flowchart illustrating a method of booting using an initialization function during warm booting of an embedded system according to a second embodiment of the present invention.

도 8은 본 발명의 제 2 실시예에 따른 메인 메모리의 구조를 도시한다. 8 shows the structure of a main memory according to a second embodiment of the present invention.

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

200: 임베디드 시스템의 부팅 장치200: boot device of embedded system

210: 전원 공급부210: power supply

220: 제어부220: control unit

230: 실행부230: execution unit

본 발명은 임베디드 시스템의 부팅 장치 및 방법에 관한 것으로서, 더욱 상세하게는 메인 메모리에 전원을 지속적으로 공급하고 이를 활용하여 웜 부팅시 부팅 시간 단축 및 다양한 부팅 시점을 정할 수 있는 임베디드 시스템의 부팅 장치 및 방법에 관한 것이다.The present invention relates to a booting device and method of an embedded system, and more particularly, to a booting device of an embedded system capable of reducing the boot time and various boot points during warm booting by continuously supplying power to the main memory and utilizing the same. It is about a method.

임베디드 시스템(이하 ‘시스템’ 이라고도 한다)은 마이크로 프로세서나 마이크로 컨트롤러를 내장한 전자 시스템으로서 시스템에 컴퓨터가 내장되어 있는 형태라고 할 수 있다. 임베디드 시스템의 예는 자동차의 연료 분사 장치, 항공기의 자동 파일럿, 통신 기기, 셋톱박스, 캠코더, 로봇 컨트롤러, 의료 기기, 산업용 컨트롤러, 계측기, 네트워크 라우터, MP3 플레이어, 비디오 게임기, 디지털 카메라, 프린터 등 다양하다. Embedded systems (also referred to as "systems") are electronic systems with microprocessors or microcontrollers in which computers are embedded in the system. Examples of embedded systems include automotive fuel injectors, aircraft pilots, communication devices, set-top boxes, camcorders, robot controllers, medical devices, industrial controllers, instruments, network routers, MP3 players, video game machines, digital cameras, printers, and more. Do.

일반적으로 임베디드 시스템은 8비트 또는 16비트 마이크로 프로세서(CPU)나 마이크로 컨트롤러를 탑재한 시스템이다. 예를 들어 디지털 온도계는 온도 센서, AD 컨버터, 마이크로 프로세서, 메모리, LCD 모듈 등으로 구성된 간단한 임베디드 시스템이다.In general, embedded systems are systems with 8-bit or 16-bit microprocessors (CPUs) or microcontrollers. Digital thermometers, for example, are simple embedded systems consisting of temperature sensors, AD converters, microprocessors, memory, and LCD modules.

도 1은 종래 임베디드 시스템의 부팅 순서도이다.1 is a boot flowchart of a conventional embedded system.

임베디드 시스템은 전원이 공급되면 부팅(booting)이 이루어지고, POST(Power On Self Test) 과정을 수행하여 시스템에 이상이 없으면, 운영체제(OS; Operating System)를 구동시킨다. 이와 같이 운영체제의 환경하에서 다양한 응용 프로그램들을 실행할 수 있다. 또한, 차후 사용될 부트 이미지를 생성하기 위하여 메인 메모리로부터 시스템의 특정 상태의 부트 이미지를 생성하고, 생성된 부트 이미지를 하드 디스크 드라이브, 컴팩트 디스크 롬 및 메모리 장치 등의 저장 장치로 저장한다.When the embedded system is powered on, booting is performed, and if no abnormality is found in the system by performing a power on self test (POST) process, the embedded system drives an operating system (OS). As such, various applications can be executed in an operating system environment. In addition, a boot image of a specific state of the system is generated from the main memory to generate a boot image to be used later, and the generated boot image is stored in a storage device such as a hard disk drive, a compact disk ROM, and a memory device.

시스템의 종료 시 하드디스크 드라이브, 컴팩트 디스크 롬 및 메모리 장치와 같은 저장 장치로부터 메인 메모리의 초기 저장 상태에 따른 부트 이미지를 독출하고, 독출된 부트 이미지를 메인 메모리에 로드한다(S11, S21). Upon shutdown of the system, a boot image according to an initial storage state of the main memory is read from storage devices such as a hard disk drive, a compact disk ROM, and a memory device, and the read boot image is loaded into the main memory (S11 and S21).

이때 전체 컴퓨터 시스템의 주 전원의 공급은 차단되지만, 메인 메모리에는 보조 전원으로서 지속적으로 전원을 공급한다(S31). 이와 같이 메인 메모리에 지속적으로 전원을 공급하게 되면 메인 메모리 내의 내용은 시스템과 상관없이 유지하게 된다. At this time, the main power supply of the entire computer system is cut off, but the main memory is continuously supplied as an auxiliary power supply (S31). When the main memory is continuously supplied in this way, the contents in the main memory are maintained regardless of the system.

다시 시스템 부팅 시에는 시스템의 하드웨어 구성 요소들의 초기화 및 이상 유무를 검사하는 POST 과정을 수행한다(S41).When the system is booted again, a POST process for checking the initialization and abnormality of hardware components of the system is performed (S41).

또한 CPU(중앙처리 장치)의 명령어 포인터(Instruction Pointer)를 메인 메모리의 특정 영역으로 설정하여 설정된 특정 영역으로부터 부트 이미지를 독출하여 운영 체제를 구동하게 된다(S51, S61). In addition, an instruction pointer of a CPU (central processing unit) is set as a specific region of the main memory to read a boot image from the set specific region to drive an operating system (S51 and S61).

그러나 종래 기술은 부트 이미지를 따로 저장장치에 저장하므로 부팅 시에 상기 저장장치로부터 메인 메모리로 복사하는 지연 시간이 발생하며, 메인 메모리 에 저장된 부트 이미지를 사용하더라도 기존에 부팅을 종료시킨 부분에서 다시 시작하게 되어있어 시스템 내 장치들의 상태가 종료시킬 때와 다른 상태여야 하는 시스템에서는 사용 제약이 있는 문제점이 있다.However, since the prior art stores the boot image in a storage device separately, there is a delay time of copying from the storage device to the main memory at the time of booting, and even when the boot image stored in the main memory is used, the boot image is restarted at the portion where the booting is terminated. There is a problem in that there is a usage restriction in a system in which the devices in the system must be in a different state than when the devices in the system are shut down.

본 발명은 임베디드 시스템의 부팅 장치 및 방법을 제공하는데 그 목적이 있다.It is an object of the present invention to provide a booting apparatus and method for an embedded system.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 장치는 부팅 모드가 웜 부트인지 여부를 판별하는 제어부 및 웜 부트인지 여부의 판별에 따라 메인 메모리의 운영 체제의 시작 부분으로 명령어 포인터를 설정하여 운영 체제를 실행하는 실행부를 포함한다.In order to achieve the above object, a boot device of an embedded system according to an embodiment of the present invention is a control unit for determining whether a boot mode is a warm boot and a start part of an operating system of a main memory according to whether a warm boot is determined. It includes an execution unit that executes an operating system by setting a command pointer.

본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 방법은 부팅 모드가 웜 부트인지 여부를 판별하는 단계 및 웜 부트인지 여부의 판별에 따라 메인 메모리의 운영 체제의 시작 부분으로 명령어 포인터를 설정하여 운영 체제를 실행하는 단계를 포함한다.In the booting method of an embedded system according to an exemplary embodiment of the present disclosure, an operating system may be configured by setting a command pointer as a start of an operating system of a main memory according to determining whether a boot mode is a warm boot and determining whether the boot mode is a warm boot. The step of executing.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

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

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 장치의 블록도이다.2 is a block diagram of a boot device of an embedded system according to an exemplary embodiment.

임베디드 시스템의 부팅 장치(200)는 전원 공급부(210), 제어부(220) 및 실행부(230)를 포함한다.The boot device 200 of the embedded system includes a power supply unit 210, a control unit 220, and an execution unit 230.

전원 공급부(210)는 메인 메모리에 전원을 공급한다. 예를 들어 임베디드 시스템의 종료 시 전원 공급부(210)를 통해 메인 메모리의 전원을 유지한 채 주 전원을 차단한다.The power supply unit 210 supplies power to the main memory. For example, when the embedded system is terminated, the main power is cut off while maintaining the power of the main memory through the power supply 210.

제어부(220)는 현재 부팅 모드가 웜 부트인지 여부를 판별한다. 예를 들어 시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 제어부(220)를 통해 판별한다.The controller 220 determines whether the current boot mode is a warm boot. For example, after the system is shut down and power is supplied to reboot, the controller 220 determines whether the current boot mode is a warm boot.

실행부(230)는 상기 제어부(220)의 웜 부트 여부의 판별에 따라 시스템을 부 팅한다. 예를 들어 제어부(220)를 통해 웜 부트가 아니라고 판별된 경우, 부트 로더(boot loader)를 실행하여 콜드 부팅의 순서로 부팅한다. 반면 웜 부트라고 판별된 경우, 메인 메모리의 운영체제의 시작 부분으로 CPU(중앙처리 장치)의 명령어 포인터를 설정하여 운영체제를 실행한다. 또한 인터럽트를 발생시켜 메인 메모리의 운영체제에 포함되어 있는 인터럽트 서비스 루틴에 있는 코드를 실행하거나, 메인 메모리의 초기화 함수로 중앙 처리 장치의 명령어 포인터를 설정하고 초기화 함수를 실행하여 부팅 전 시스템 종료 시의 상태로 부팅할 수 있다. The execution unit 230 boots the system according to the determination of whether or not the controller 220 is warm booted. For example, when it is determined through the control unit 220 that the warm boot is not, the boot loader is executed to boot in the cold boot order. On the other hand, if it is determined as a warm boot, the operating system is executed by setting an instruction pointer of a CPU (central processing unit) as the start of the operating system of the main memory. It also generates an interrupt to execute code in the interrupt service routine included in the operating system of the main memory, or sets the instruction pointer of the central processing unit with the initialization function of the main memory, and executes the initialization function to execute the system shutdown state before booting. You can boot into

상기 시스템 종료 시의 상태는 예를 들어 콜드 부팅과 같이 초기화되어 부팅되는 상태 및 시스템이 종료되는 시점에서 다시 부팅되는 상태 즉, 예를 들어 동영상이나 음악을 듣고 있었다면 부팅 전 시스템 종료 시의 상태부터 재생되는 상태를 포함한다. 이외에도 사용자가 각 시스템에 맞게 정의한 특정한 상태 즉, 예를 들어 카메라와 같은 기기에서 시스템(카메라) 종료 시 모드를 변경했다면 웜 부트 시 변경된 사항을 체크하여 해당 변경 상태를 적용한 시스템 종료 시의 상태로 부팅하는 것을 포함한다. The state at the time of system shutdown is initialized and booted, for example, cold booting, and the state of rebooting at the time when the system is shut down. It includes the status to be. In addition, if the user changes the mode when the system (camera) is shut down in a specific state defined for each system, for example, a camera, the system checks for changes in the warm boot and boots to the state when the system is applied with the changed state. It involves doing.

상기 '부'는 '모듈'로 표현될 수 있으며, 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모 듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. The 'unit' may be expressed as a 'module', and the 'module' refers to a hardware component such as software or a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Play some roles However, modules are not meant to be limited to software or hardware. The module may be configured to be in an addressable storage medium and may be configured to execute one or more processors. Thus, as an example, a module may include components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, properties, procedures, and subs. Routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided by the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules.

도 3은 본 발명의 일 실시예에 따른 임베디드 시스템의 부팅 순서도이다.3 is a boot flowchart of an embedded system according to an exemplary embodiment of the present invention.

임베디드 시스템의 종료 시 전원 공급부(210)(보조 전원)를 통해 메인 메모리의 전원을 유지한 채 주 전원을 차단한다(S301).At the end of the embedded system, the main power is cut off while maintaining the power of the main memory through the power supply unit 210 (secondary power supply) (S301).

시스템을 종료한 후, 다시 부팅 시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 제어부(220)를 통해 판별한다(S311, S321).After the system is shut down, if power is supplied to reboot, the controller 220 determines whether the current booting mode is a warm boot (S311 and S321).

만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더(boot loader)를 실행하여 콜드 부팅의 순서로 부팅한다(S331).If it is not a warm boot, the boot loader (boot loader) is executed through the execution unit 230 to boot in the cold boot order (S331).

반면, 웜 부트라면 실행부(230)를 통해 메인 메모리의 운영체제의 시작 부분으로 CPU(중앙처리 장치)의 명령어 포인터를 설정하여 운영체제를 실행한다(S341). 이때, 메인 메모리에 복사되어 있는 운영체제의 내용은 운영체제의 실행 중에 삭제되거나 변경되지 않는 것이 바람직하다. 이와 같이 부트 로더의 실행시간과 운영체제가 저장된 저장장치에서 메인 메모리로 운영체제를 복사하는 지연 시간을 줄일 수 있다.On the other hand, if it is a warm boot, it executes the operating system by setting the instruction pointer of the CPU (central processing unit) to the start of the operating system of the main memory through the execution unit 230 (S341). In this case, the contents of the operating system copied to the main memory may not be deleted or changed during the execution of the operating system. In this way, the boot loader execution time and the delay time of copying the operating system from the storage device in which the operating system is stored to the main memory can be reduced.

도 4는 본 발명의 일 실시예에 따른 메인 메모리의 구조를 도시한다.4 illustrates a structure of a main memory according to an embodiment of the present invention.

임베디드 시스템의 웜 부트 시 메인 메모리의 운영체제 부분으로 중앙처리 장치의 명령어 포인터를 설정하는 메인 메모리의 구조를 설명한다.It describes the structure of main memory that sets the command pointer of the central processing unit as the operating system part of the main memory during the warm boot of the embedded system.

시스템이 종료되면, 전원 공급부(210)를 통해 메인 메모리(400)의 전원을 유지한 채 주 전원은 차단한다.When the system is terminated, the main power is cut off while maintaining the power of the main memory 400 through the power supply 210.

시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 판별하고, 만약 웜 부트라면 운영체제(410)의 시작 부분으로 중앙처리 장치의 명령어 포인터(402)를 설정하여 운영체제를 실행한다. 동적 메모리는 메모리 할당이 필요할 경우 해당 메모리를 생성하여 사용하고 필요 없을 경우 언제든지 해제하여 메모리를 동적으로 운영할 수 있다.After shutting down the system, if power is supplied to reboot, it is determined whether the current boot mode is a warm boot. If the boot is a warm boot, the command pointer 402 of the central processing unit is set to the beginning of the operating system 410. Run Dynamic memory can be operated dynamically by creating and using the memory when memory allocation is required and releasing it whenever it is not needed.

도 5는 본 발명의 제 1 실시예에 따른 임베디드 시스템의 웜 부트 시 인터럽트를 이용하여 부팅하는 방법의 순서도이다.5 is a flowchart illustrating a method of booting using an interrupt during a warm boot of an embedded system according to a first embodiment of the present invention.

전원 공급부(210)를 통해 메인 메모리는 시스템 종료 시의 정보를 유지하고 다시 부팅시키기 위해 전원 공급부(210)를 통해 전원을 공급하면, 현재 부팅 모드가 웜 부트인지를 제어부(220)를 통해 판별한다(S501, S511). When the main memory supplies power through the power supply 210 in order to maintain and reboot the information at the end of the system through the power supply 210, the controller 220 determines whether the current boot mode is a warm boot. (S501, S511).

만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더를 실행하여 콜드 부팅의 순서로 부팅한다(S521).If it is not a warm boot, the boot loader is executed through the execution unit 230 to boot in the cold boot order (S521).

반면, 웜 부트라면 실행부(230)를 통해 인터럽트를 발생시킨다(S531). 인터럽트는 CPU의 웜 부트 레지스터를 검사하여 웜 부트 레지스터의 내용에 따라 발생시키는 것이 바람직하다.On the other hand, if it is a warm boot, it generates an interrupt through the execution unit 230 (S531). Interrupts are preferably generated according to the contents of the warm boot register by examining the warm boot register of the CPU.

다음 단계에서 상기 인터럽트가 발생되면 메인 메모리의 운영체제에 포함되 어 있는 인터럽트 서비스 루틴에 있는 코드를 실행시켜 시스템 종료 시의 상태로 부팅한다(S541). 상기 시스템 종료 시의 상태는 예를 들어 콜드 부팅과 같이 초기화되어 부팅되는 상태 및 시스템이 종료되는 시점에서 다시 부팅되는 상태 즉, 예를 들어 동영상이나 음악을 듣고 있었다면 부팅 전 시스템 종료 시의 상태부터 재생되는 상태를 포함한다. 이외에도 사용자가 각 시스템에 맞게 정의한 특정한 상태 즉, 예를 들어 카메라와 같은 기기에서 시스템(카메라) 종료 시 모드를 변경했다면 웜 부트 시 변경된 사항을 체크하여 해당 변경 상태를 적용한 시스템 종료 시의 상태로 부팅하는 것을 포함한다. When the interrupt is generated in the next step, the code in the interrupt service routine included in the operating system of the main memory is executed to boot to the state when the system is shut down (S541). The state at the time of system shutdown is initialized and booted, for example, cold booting, and the state of rebooting at the time when the system is shut down. It includes the status to be. In addition, if the user changes the mode when the system (camera) is shut down in a specific state defined for each system, for example, a camera, the system checks for changes in the warm boot and boots to the state when the system is applied with the changed state. It involves doing.

도 6은 본 발명의 제 1 실시예에 따른 메인 메모리의 구조를 도시한다.6 shows the structure of a main memory according to the first embodiment of the present invention.

임베디드 시스템의 웜 부트 시 메인 메모리의 운영체제에 포함되어 있는 인터럽트 서비스 루틴에 있는 코드를 실행하는 메인 메모리의 구조를 설명한다.This section describes the structure of main memory that executes code in interrupt service routines included in the operating system of main memory during warm boot of an embedded system.

전원 공급부(210)를 통해 메인 메모리(400)는 시스템 종료 시의 정보를 유지하고 있고, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 판별하고, 만약 웜 부트라면 인터럽트를 발생시켜 메인 메모리의 운영체제에 포함되어 있는 인터럽트 서비스 루틴(610)에 있는 코드를 실행시켜서 시스템 종료 시의 상태로 부팅한다. 동적 메모리는 메모리 할당이 필요할 경우 해당 메모리를 생성하여 사용하고, 필요 없을 경우 언제든지 해제하여 메모리를 동적으로 운영할 수 있다. The main memory 400 maintains the information at the end of the system through the power supply unit 210. When the power is supplied to reboot, the main memory 400 determines whether the current boot mode is a warm boot, and if it is a warm boot, generates an interrupt. The code in the interrupt service routine 610 included in the operating system of the main memory is executed to boot to the state at the time of shutdown. Dynamic memory can be created and used when memory allocation is required, and can be freely operated at any time if not needed.

도 7은 본 발명의 제 2 실시예에 따른 임베디드 시스템의 웜 부트 시 초기화 함수를 이용하여 부팅하는 방법의 순서도이다.7 is a flowchart illustrating a method of booting using an initialization function during warm booting of an embedded system according to a second embodiment of the present invention.

시스템 종료 시 메인 메모리에 차후 웜 부트 시 수행되어야 할 초기화 함수의 포인터를 저장한다(S701). 초기화 함수는 웜 부트 시 최초로 실행되는 함수로써 메인 메모리에 저장된 시스템 종료 시의 정보를 판독한다.At system shutdown, a pointer to an initialization function to be performed at warm boot in the main memory is stored (S701). The initialization function is the first function executed during warm boot and reads the information when the system is shut down stored in the main memory.

전원 공급부(210)를 통해 메인 메모리의 전원을 유지한 채 주 전원은 차단한다(S711). Main power is cut off while maintaining the power of the main memory through the power supply 210 (S711).

시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 제어부(220)를 통해 판별한다(S721, S731). After the system is shut down and power is supplied to reboot, the controller 220 determines whether the current boot mode is a warm boot (S721 and S731).

만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더를 실행하여 콜드 부팅의 순서로 부팅한다(S741).If it is not a warm boot, the boot loader is executed through the execution unit 230 to boot in the cold boot order (S741).

반면, 웜 부트라면 실행부(230)를 통해 시스템 종료 시(즉 상기 S701 단계)의 상태 정보를 포함하는 메인 메모리의 초기화 함수로 중앙 처리 장치의 명령어 포인터를 설정하여 초기화 함수를 실행하고, 시스템 종료시의 상태로 부팅한다(S751). 상기 시스템 종료 시의 상태는 예를 들어 콜드 부팅과 같이 초기화 되어 부팅되는 상태 및 시스템이 종료되는 시점에서 다시 부팅되는 상태 즉, 예를 들어 동영상이나 음악을 듣고 있었다면 부팅 전 시스템 종료 시의 상태부터 재생되는 상태를 포함한다. 이외에도 사용자가 각 시스템에 맞게 정의한 특정한 상태 즉, 예를 들어 카메라와 같은 기기에서 시스템(카메라) 종료 시 모드를 변경했다면 웜 부트 시 변경된 사항을 체크하여 해당 변경 상태를 적용한 시스템 종료 시의 상태로 부팅하는 것을 포함한다. On the other hand, in the case of a warm boot, the execution unit 230 executes the initialization function by setting an instruction pointer of the central processing unit as an initialization function of the main memory including the state information at the end of the system (that is, step S701), and at the end of the system. Boot to the state of (S751). The state at the time of system shutdown is initialized and booted, for example, cold booting, and the state of rebooting at the time when the system is shut down, i.e., if the video or music was listened to, the system starts from the state before the booting. It includes the status to be. In addition, if the user changes the mode when the system (camera) is shut down in a specific state defined for each system, for example, a camera, the system checks for changes in the warm boot and boots to the state when the system is applied with the changed state. It involves doing.

도 8은 본 발명의 제 2 실시예에 따른 메인 메모리의 구조를 도시한다. 8 shows the structure of a main memory according to a second embodiment of the present invention.

임베디드 시스템의 웜 부트 시 메인 메모리의 초기화 함수 포인터로 중앙처리 장치의 명령어 포인터를 설정하는 메인 메모리의 구조를 설명한다.This section describes the structure of main memory that sets the instruction pointer of the central processing unit with the initialization function pointer of main memory during warm boot of the embedded system.

시스템이 종료되면, 메인 메모리(400)에 차후 웜 부트 시 수행되어야 할 초기화 함수의 포인터를 저장한다. 이때 초기화 함수는 웜 부트 시 최초로 실행되는 함수로써 메인 메모리에 저장된 시스템 종료 시의 정보를 판독한다.When the system is terminated, the main memory 400 stores a pointer of an initialization function to be performed during a warm boot. At this time, the initialization function is the first function to be executed during warm boot and reads the information when the system is shut down stored in the main memory.

또한 전원 공급부(210)를 통해 메인 메모리(400)의 전원을 유지한 채 주 전원은 차단한다. 시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면, 현재 부팅 모드가 웜 부트인지를 판별하고, 만약 웜 부트라면 시스템 종료 시의 상태 정보를 포함하는 메인 메모리(400)의 초기화 함수로 중앙 처리 장치의 명령어 포인터(402)를 설정하여 초기화 함수(810)를 실행하고, 시스템 종료 시의 상태로 부팅한다. In addition, the main power is cut off while maintaining the power of the main memory 400 through the power supply 210. After shutting down the system, if power is supplied for rebooting, it is determined whether the current boot mode is a warm boot, and if it is a warm boot, the central processing is performed by an initialization function of the main memory 400 including state information at the time of shutdown. The instruction pointer 402 of the device is set to execute the initialization function 810 and boot to the state upon system shutdown.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

상기한 바와 같은 본 발명의 임베디드 시스템의 부팅 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다. According to the booting apparatus and method of the embedded system of the present invention as described above has one or more of the following effects.

첫째, 임베디드 시스템의 재 부팅 시 한정된 부팅 시점을 개발자의 필요에 따라 개발자가 정의한 상태로 부팅이 가능한 장점이 있다.First, it is possible to boot with a limited boot time when the embedded system is rebooted as defined by the developer according to the needs of the developer.

둘째, 부팅 시마다 시스템 내의 디바이스 상태가 변할 수 있는 임베디드 시스템에서 효과적인 웜 부트를 할 수 있는 장점도 있다. Second, there is an advantage of an effective warm boot in an embedded system where the device state in the system can change at every boot.

Claims (4)

부팅 모드가 웜 부트인지 여부를 판별하는 제어부; 및A control unit for determining whether the boot mode is a warm boot; And 상기 웜 부트인지 여부의 판별에 따라 메인 메모리의 운영 체제의 시작 부분으로 명령어 포인터를 설정하여 상기 운영 체제를 실행하는 실행부를 포함하는 임베디드 시스템의 부팅 장치.And an execution unit configured to execute the operating system by setting a command pointer to a start of an operating system of a main memory according to whether the warm boot is determined. 제 1항에 있어서, The method of claim 1, 메인 메모리에 전원을 공급하는 전원 공급부를 더 포함하고, 상기 부팅 모드가 상기 웜 부트인 경우 인터럽트를 발생시켜 상기 메인 메모리의 상기 운영체제에 포함되어 있는 인터럽트 서비스 루틴에 있는 코드를 실행하거나 상기 메인 메모리의 초기화 함수로 상기 명령어 포인터를 설정하여 상기 초기화 함수를 실행하는 임베디드 시스템의 부팅 장치.The apparatus may further include a power supply unit configured to supply power to the main memory, and generate an interrupt when the boot mode is the warm boot, to execute code in an interrupt service routine included in the operating system of the main memory, or A boot device of an embedded system that executes the initialization function by setting the command pointer as an initialization function. 부팅 모드가 웜 부트인지 여부를 판별하는 단계; 및Determining whether the boot mode is a warm boot; And 상기 웜 부트인지 여부의 판별에 따라 메인 메모리의 운영 체제의 시작 부분으로 명령어 포인터를 설정하여 상기 운영 체제를 실행하는 단계를 포함하는 임베디드 시스템의 부팅 방법.And setting the command pointer to the beginning of the operating system of the main memory to execute the operating system according to the determination of whether the boot is a warm boot. 제 3항에 있어서, The method of claim 3, wherein 메인 메모리에 전원을 공급하는 단계를 더 포함하고, 상기 부팅 모드가 상기 웜 부트인 경우 인터럽트를 발생시켜 상기 메인 메모리의 상기 운영체제에 포함되어 있는 인터럽트 서비스 루틴에 있는 코드를 실행하거나 상기 메인 메모리의 초기화 함수로 상기 명령어 포인터를 설정하여 상기 초기화 함수를 실행하는 임베디드 시스템의 부팅 방법.And supplying power to the main memory, generating an interrupt when the boot mode is the warm boot, executing code in an interrupt service routine included in the operating system of the main memory, or initializing the main memory. Booting an embedded system executing the initialization function by setting the command pointer as a function.
KR1020060011194A 2006-02-06 2006-02-06 Apparatus and method for booting in embedded system KR100763198B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060011194A KR100763198B1 (en) 2006-02-06 2006-02-06 Apparatus and method for booting in embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060011194A KR100763198B1 (en) 2006-02-06 2006-02-06 Apparatus and method for booting in embedded system

Publications (2)

Publication Number Publication Date
KR20070080084A true KR20070080084A (en) 2007-08-09
KR100763198B1 KR100763198B1 (en) 2007-10-04

Family

ID=38600552

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060011194A KR100763198B1 (en) 2006-02-06 2006-02-06 Apparatus and method for booting in embedded system

Country Status (1)

Country Link
KR (1) KR100763198B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130097827A (en) * 2012-02-26 2013-09-04 인포뱅크 주식회사 Recording medium, method and device for program operation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101013419B1 (en) 2008-08-29 2011-02-14 주식회사 안철수연구소 Guarding apparatus and method for system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100283243B1 (en) * 1998-05-11 2001-03-02 구자홍 How to boot the operating system
KR20010085133A (en) * 2000-02-29 2001-09-07 서평원 Method Of Menory Power Control
KR20040035484A (en) * 2002-10-22 2004-04-29 삼성전자주식회사 Computer system capable of quick booting and the method of controlling the same
US20060224875A1 (en) * 2005-03-11 2006-10-05 Choi Young-Joon Portable digital player

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130097827A (en) * 2012-02-26 2013-09-04 인포뱅크 주식회사 Recording medium, method and device for program operation

Also Published As

Publication number Publication date
KR100763198B1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
US10452404B2 (en) Optimized UEFI reboot process
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US6732280B1 (en) Computer system performing machine specific tasks before going to a low power state
TWI390410B (en) Operating system transfer and launch without performing post
KR101856284B1 (en) Backing up firmware during initialization of device
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
US7962734B2 (en) Method of restarting a computer platform
KR20070108060A (en) System executing a fast boot wake-up
JP2008287505A (en) Information processor and legacy emulation processing stop control method
US11789848B2 (en) Context-sensitive debug requests for memory access
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
CN101201746A (en) Method for setting ROM-BIOS
KR100763198B1 (en) Apparatus and method for booting in embedded system
US10198275B2 (en) Protecting firmware flashing from power operations
KR20070083138A (en) Apparatus and method for system imbedded system and firmware updating method therein
WO2008048581A1 (en) A processing device operation initialization system
TWI839101B (en) Firmware update method
US11960337B2 (en) Customized thermal and power policies in computers
JP2006012158A (en) Method and apparatus for providing extendable interaction between firmware and operating systems on digital devices
US10613850B1 (en) Performant and secure storage and retrieval of firmware variables
KR100414059B1 (en) System and method for monitoring using watchdog timer in rtos
TW202433278A (en) Firmware update method
WO2023277881A1 (en) Instruction updates to hardware devices
JP2003242026A (en) Information processing system, and program execution mode control method
JP2001051854A (en) Information management system

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20100629

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee