KR20070080084A - Apparatus and method for booting in embedded system - Google Patents
Apparatus and method for booting in embedded system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
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
Description
도 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
전원 공급부(210)는 메인 메모리에 전원을 공급한다. 예를 들어 임베디드 시스템의 종료 시 전원 공급부(210)를 통해 메인 메모리의 전원을 유지한 채 주 전원을 차단한다.The
제어부(220)는 현재 부팅 모드가 웜 부트인지 여부를 판별한다. 예를 들어 시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 제어부(220)를 통해 판별한다.The
실행부(230)는 상기 제어부(220)의 웜 부트 여부의 판별에 따라 시스템을 부 팅한다. 예를 들어 제어부(220)를 통해 웜 부트가 아니라고 판별된 경우, 부트 로더(boot loader)를 실행하여 콜드 부팅의 순서로 부팅한다. 반면 웜 부트라고 판별된 경우, 메인 메모리의 운영체제의 시작 부분으로 CPU(중앙처리 장치)의 명령어 포인터를 설정하여 운영체제를 실행한다. 또한 인터럽트를 발생시켜 메인 메모리의 운영체제에 포함되어 있는 인터럽트 서비스 루틴에 있는 코드를 실행하거나, 메인 메모리의 초기화 함수로 중앙 처리 장치의 명령어 포인터를 설정하고 초기화 함수를 실행하여 부팅 전 시스템 종료 시의 상태로 부팅할 수 있다. The
상기 시스템 종료 시의 상태는 예를 들어 콜드 부팅과 같이 초기화되어 부팅되는 상태 및 시스템이 종료되는 시점에서 다시 부팅되는 상태 즉, 예를 들어 동영상이나 음악을 듣고 있었다면 부팅 전 시스템 종료 시의 상태부터 재생되는 상태를 포함한다. 이외에도 사용자가 각 시스템에 맞게 정의한 특정한 상태 즉, 예를 들어 카메라와 같은 기기에서 시스템(카메라) 종료 시 모드를 변경했다면 웜 부트 시 변경된 사항을 체크하여 해당 변경 상태를 적용한 시스템 종료 시의 상태로 부팅하는 것을 포함한다. 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
만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더(boot loader)를 실행하여 콜드 부팅의 순서로 부팅한다(S331).If it is not a warm boot, the boot loader (boot loader) is executed through the
반면, 웜 부트라면 실행부(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
시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면 현재 부팅 모드가 웜 부트인지를 판별하고, 만약 웜 부트라면 운영체제(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
도 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
만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더를 실행하여 콜드 부팅의 순서로 부팅한다(S521).If it is not a warm boot, the boot loader is executed through the
반면, 웜 부트라면 실행부(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
도 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
만약, 웜 부트가 아니라면 실행부(230)를 통해 부트 로더를 실행하여 콜드 부팅의 순서로 부팅한다(S741).If it is not a warm boot, the boot loader is executed through the
반면, 웜 부트라면 실행부(230)를 통해 시스템 종료 시(즉 상기 S701 단계)의 상태 정보를 포함하는 메인 메모리의 초기화 함수로 중앙 처리 장치의 명령어 포인터를 설정하여 초기화 함수를 실행하고, 시스템 종료시의 상태로 부팅한다(S751). 상기 시스템 종료 시의 상태는 예를 들어 콜드 부팅과 같이 초기화 되어 부팅되는 상태 및 시스템이 종료되는 시점에서 다시 부팅되는 상태 즉, 예를 들어 동영상이나 음악을 듣고 있었다면 부팅 전 시스템 종료 시의 상태부터 재생되는 상태를 포함한다. 이외에도 사용자가 각 시스템에 맞게 정의한 특정한 상태 즉, 예를 들어 카메라와 같은 기기에서 시스템(카메라) 종료 시 모드를 변경했다면 웜 부트 시 변경된 사항을 체크하여 해당 변경 상태를 적용한 시스템 종료 시의 상태로 부팅하는 것을 포함한다. On the other hand, in the case of a warm boot, the
도 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
또한 전원 공급부(210)를 통해 메인 메모리(400)의 전원을 유지한 채 주 전원은 차단한다. 시스템을 종료한 후, 다시 부팅시키기 위해 전원을 공급하면, 현재 부팅 모드가 웜 부트인지를 판별하고, 만약 웜 부트라면 시스템 종료 시의 상태 정보를 포함하는 메인 메모리(400)의 초기화 함수로 중앙 처리 장치의 명령어 포인터(402)를 설정하여 초기화 함수(810)를 실행하고, 시스템 종료 시의 상태로 부팅한다. In addition, the main power is cut off while maintaining the power of the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.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)
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)
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)
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)
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 |
-
2006
- 2006-02-06 KR KR1020060011194A patent/KR100763198B1/en not_active IP Right Cessation
Cited By (1)
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 |