KR20190006629A - 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법 - Google Patents

센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법 Download PDF

Info

Publication number
KR20190006629A
KR20190006629A KR1020170087319A KR20170087319A KR20190006629A KR 20190006629 A KR20190006629 A KR 20190006629A KR 1020170087319 A KR1020170087319 A KR 1020170087319A KR 20170087319 A KR20170087319 A KR 20170087319A KR 20190006629 A KR20190006629 A KR 20190006629A
Authority
KR
South Korea
Prior art keywords
code
electronic device
sensor
boot
output value
Prior art date
Application number
KR1020170087319A
Other languages
English (en)
Other versions
KR101963712B1 (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 KR1020170087319A priority Critical patent/KR101963712B1/ko
Priority to TW107119049A priority patent/TW201908967A/zh
Priority to CN201810576737.6A priority patent/CN109240749B/zh
Priority to US16/029,918 priority patent/US10963266B2/en
Publication of KR20190006629A publication Critical patent/KR20190006629A/ko
Application granted granted Critical
Publication of KR101963712B1 publication Critical patent/KR101963712B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법을 제공한다.
본 실시예에 따르면, 전자장치에 내장되는(embedded) 부팅 장치에 있어서, 센서 출력값 측정을 수행하는 코드를 포함하는 스몰 부트코드 및 전자장치 부팅을 위한 노말 부트코드와 운영체제 이미지를 포함하는 시스템 구동 코드를 저장하는 저장부; 상기 스몰 부트코드 및 시스템 구동 코드가 로드되는 메인메모리; 및 상기 저장부에 저장된 코드 중 적어도 하나를 독출하여 상기 메인메모리에 로드하고, 상기 스몰 부트코드 또는 상기 노말 부트코드를 실행하는 프로세서를 포함하는 부팅 장치를 제공한다.

Description

센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법{Apparatus and Method for Booting Electronic Device Using Sensor}
전자장치는 내장된 센서 또는 외부의 센서와의 통신을 통해 주변 상황이나 장치의 상태를 감지하여 동작을 결정할 수 있다. 예컨대, 사용자의 제스처를 인식하여 움직임을 인식하는 카메라나 외부의 존재를 감지하여 작동하는 블랙박스 영상 감시 시스템이 이와 같은 센서를 이용한 전자장치에 해당한다.
이러한 전자장치는 센서의 측정 값에 따라 동작하며, 따라서 전자장치가 비활성화 되어 있더라도 장치의 움직임 또는 상태를 감지하기 위한 전원과 센서 값에 따른 처리를 수행하는 알고리즘은 항상 활성화되어 처리를 수행하고 있어야 한다. 이렇게 부분적인 프로세스가 항상 활성화되어 있는 경우에는 전자장치가 켜져 있지 않은 대기중의 상태에서도 큰 대기 전력이 소모되게 된다.
기존의 대기 전력 소모를 줄이기 위한 기술로, 전력 소모가 적은 칩을 사용하여 별도의 프로세서를 구비하고 주기적으로 센서의 출력값을 측정하여 특정 조건을 만족하는 경우에 CPU를 사용하는 주 시스템에 알리는 방식이 있다. 이 경우 외부에 칩을 추가해야 하고, 별도의 칩과 주 시스템이 포함된 칩 사이의 통신이 필요하다는 번거로움이 있다.
또한, 별도의 프로세서를 구비하지 않고, 내부 프로세서에 의해 센서의 출력값을 측정하되, 주기적으로 장치를 부팅시켜 센서의 출력값을 읽어들이고 특정 조건을 만족하는지 여부를 판단하는 방식이 있다. 주기적으로 센서의 출력값을 얻기 위해, 주기적으로 전자장치를 부팅시키게 된다. 이 경우, 단순히 센서의 출력값을 측정하기 위해 전자장치의 하드웨어나 메모리를 초기화하는 작업을 수행하고 전체 전자장치를 구동 가능한 상태로 설정해야 하므로, 수행 시간과 수행 코드의 크기에 비례하여 불필요한 전력 소모가 발생하게 된다.
본 실시예는 전자장치의 전원이 꺼져 있는 대기 상태에서도, 센서의 출력값을 읽어들여 동작을 결정하기 위해 계속하여 전원을 공급해야만 하는 전자장치들의 전력 소모를 최소화하기 위한 부팅 방법 및 부팅 장치를 제공하는데 주된 목적이 있다.
또한, 본 실시예는 센서의 출력값이 특정 조건을 만족하는지 판단하기 위한 프로세스를 동작시키기 위하여 전자장치가 꺼져 있는 상태에서, 주기적으로 센서의 출력값을 읽어들이는 과정에서 불필요한 수행 코드의 실행을 줄여 대기 전력 소모를 최소화하는 전자장치의 부팅 방법 및 부팅 장치를 제공하는데 주된 목적이 있다.
본 발명의 일 실시예에 의하면, 전자장치에 내장되는 부팅 장치에 있어서, 센서 출력값 측정을 위한 스몰 부트코드 및 전자장치 구동을 위한 시스템 구동 코드를 분리하여 저장하는 저장부, 스몰 부트코드 및 시스템 구동 코드가 로드되는 메인메모리 및 저장부에 저장된 코드 중 적어도 하나를 독출하여 상기 메인메모리에 로드하고, 스몰 부트코드 또는 시스템 구동 코드를 실행하는 프로세서를 포함하는 부팅 장치를 제공한다.
상기 부팅 장치의 실시예들은 다음의 특징들을 하나 이상 더 포함할 수 있다.
상기 시스템 구동 코드는 전자장치 부팅을 위한 노말 부트코드 및 운영체제 이미지를 포함한다.
상기 프로세서는, 스몰 부트코드를 실행하여 센서 출력값을 측정하고, 센서 출력값이 기설정된 조건을 만족하는지를 판단하여, 센서 출력값이 기설정된 조건을 만족하는 경우 노말 부트코드를 실행한다.
본 발명의 다른 실시예에 의하면, 전자 장치에 내장된 부팅 장치에서 전자 장치를 부팅시키는 방법에 있어서, 프로세서가 주기적으로 웨이크업(wake up) 신호를 수신하는 과정, 웨이크업 신호가 수신되면, 센서 출력값 측정을 수행하는 코드를 포함하는 스몰 부트코드를 메인 메모리에 로드하는 과정, 전자 장치 부팅을 위한 노말 부트코드와 운영체제 이미지를 포함하는 시스템 구동 코드를 메인 메모리에 로드하는 과정 및 프로세서가 메인 메모리에 저장된 스몰 부트코드 또는 노말 부트코드 중 어느 하나를 실행하는 과정을 포함하는 것을 특징으로 하는 전자 장치의 부팅 방법을 제공한다.
본 발명의 일 실시예에 따르면, 전자장치의 동작을 결정하기에 앞서 센서의 출력값을 측정할 때, 전체 장치 내 시스템을 부팅시키는 것이 아니라 센서의 출력값을 측정하는 데에 필수적으로 필요한 요소만을 부팅시킴으로써, 장치 내 구성요소에 전원이 공급되는 시간을 줄여 전자장치의 대기 전력 소모를 줄이는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 부팅 장치의 구성을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 노말 부팅 모드를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 스몰 부팅 모드를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 부팅 장치의 스몰 부팅 모드를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 부팅 장치의 노말 부팅 모드를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 부팅 장치의 부팅 과정을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 부팅 모드를 비교하기 위한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 부팅 장치의 구성을 예시한 도면이다.
본 발명의 일 실시예에 따른 부팅 장치는, 센서(미도시)의 출력값을 읽어들이고 읽어들인 센서의 출력값이 기설정된 조건을 만족하는 경우에 전자장치(미도시)를 구동하는 장치이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 부팅 장치는 저장부(110), 메인메모리(120) 및 프로세서(130)를 포함하여 구성되고, 외부 센서와 연결되어 동작할 수 있다.
저장부(110)는 메인메모리(120)에 기억시킬 수 없는 대량의 데이터를 기억하기 위한 장치이다. 구체적으로 저장부(110)에는 시스템을 구동시키는 부트코드, 운영 체제(OS) 이미지, 응용 프로그램 등이 저장될 수 있다. 여기서, 부트코드는 실제 전자장치의 시스템을 부팅시키기 위한 코드이다. 운영 체제는 부팅 또는 초기화 과정이 완료된 후에 시스템 동작을 위한 프로세서에 의해서 실행된다. 저장부(110)에 저장된 데이터는 사용자 요구를 기초로 한 저장 장치들의 구성 코드와 어떻게 응용 프로그램을 이용할 것인지를 나타내는 소프트웨어 코드일 수 있다.
본 발명의 일 실시예에에 따른 부팅 장치는 주기적으로 센서의 출력값을 읽어들이고, 센서의 출력값이 부팅 조건을 만족하는 경우에 전자장치의 부팅을 진행한다. 이 과정에서 전력 소모를 줄이기 위해, 저장부(110)는 부트코드의 코드 중 센서의 출력값을 읽어들여 기설정된 조건과 비교하는 코드, 운영 체제 이미지를 메인메모리(120)에 로드하는 코드 등을 분리하여 저장하고 있을 수 있다.
메인메모리(120)는 프로세서(130)가 처리하는 적어도 하나의 프로세스에 대한 중간 데이터 및 결과 데이터를 일시적으로 저장하는 장치이다. 메인메모리(120)는 프로세서(130)가 필요로 하는 데이터를 저장부(110)로부터 독출하여 임시로 저장한다. 본 발명의 일 실시예에서, 메인메모리(120)는 정적 램(SRAM)일 수 있다.
프로세서(130)는 전자장치의 전반적인 동작을 제어한다. 전원 인가로 시스템이 부팅될 때 저장부(110)의 실행코드는 메인메모리(120)로 로드되어, 프로세서(130)에 의해 접근 가능한 상태가 된다.
구체적으로 부팅 과정을 살펴보면, 프로세서(130)에 의해 부트코드가 실행되고, 부트코드의 실행으로 전자장치는 초기화되어 구동이 가능하도록 세팅된다. 프로세서(130)는 센서의 출력값을 설정된 횟수만큼 읽어들여 기설정된 조건을 만족하는지 판단한다. 센서의 출력값이 기설정된 조건을 만족하는 것으로 판단하면, 저장부(110)에 저장된 운영 체제 이미지가 메인메모리(120)에 로딩되고, 운영 체제가 구동된다. 이후, 전자장치에서 특정 응용 프로그램을 실행하기 위해, 저장부(110)에 저장된 응용 프로그램 데이터를 메인메모리(120)에 로드한다.
종래 부팅 과정에서는, 센서 출력값을 측정하여 전자장치 부팅 여부 판단시 실행코드 전체가 메인메모리(120)로 복사되어, 센서 출력값 측정에 필요하지 않은 데이터영역까지도 메인메모리(120)에 로드되었다. 이로 인해 용량이 큰 실행코드가 메인메모리(120)로 복사되어 실행되기까지 기다려야 하기 때문에 시스템이 부팅되기까지 많은 시간이 소요되었고, 시간이 소요됨에 따라 전력 소모 또한 발생하게 되었다. 본 발명의 일 실시예에서는, 부팅 조건을 판단하는 과정에서 전체 실행코드를 로드하지 않고, 부팅 조건 판단에 필수적인 최소한의 코드만을 이용하여 부팅 조건을 판단하도록 부트코드를 분리하여, 주기적으로 부팅 조건의 만족 여부를 판단하는 과정에서 전력 소모를 줄이는 방법을 제안한다.
도 2는 본 발명의 일 실시예에 따른 부팅 장치의 노말 부팅 모드를 설명하기 위한 도면이고, 도 3은 본 발명의 일 실시예에 따른 부팅 장치의 스몰 부팅 모드를 설명하기 위한 도면이다.
본 발명의 일 실시예에서, 노말 부팅 모드는 센서를 이용하여 부팅 조건을 판단하는 전자장치에서 일반적으로 적용되는 부팅 모드를 지칭한다. 노말 부팅 모드에서는, 센서 출력값을 주기적으로 측정하기 위해 전자장치 구동을 위한 실행코드 전체(이하, 시스템 구동 코드라 함)를 메인메모리(120)로 로드한 뒤 센서의 출력값을 읽어들여 부팅 조건의 만족 여부를 판단하고, 조건 만족시 전체 시스템의 부팅을 진행한다. 이 때, 시스템 구동 코드에는 전자장치 부팅을 위한 노말 부트코드, 운영체제 이미지 등이 포함될 수 있다.
도 2를 참조하면, 노말 부팅 모드에서 부팅 장치는 주기적으로 전자장치의 부팅을 진행한다. 이 때, 노말 부팅 모드에서는 시스템을 구동하기 위한 시스템 구동 코드 전체가 메인메모리(120)에 로드된다. 시스템 구동 코드 로드 이후, 전체 시스템이 구동 가능하도록 초기화 등 세팅 과정을 진행하고, 센서와 연결된 ADC를 구동시켜 센서 출력값을 측정한다. 센서 출력값이 시스템 내에서 기설정된 부팅 조건을 만족시키지 못하는 경우에는 전체 시스템 부팅 절차를 종료하여 전자장치가 대기 모드에 진입한다. 센서 출력값이 시스템 내에서 기설정된 부팅 조건을 만족시키는 경우에는 전자장치가 설정된 동작을 수행한다.
본 발명의 일 실시예에서, 스몰 부팅 모드는 전자장치에서 센서 출력값을 측정하기 위해 필요한 최소한의 구성만을 활성화 시키는 부팅 모드를 지칭한다. 노말 부팅 모드의 일부 과정을 분리하여 실행하는 모드로, 센서 출력값을 측정하여 기설정된 부팅 조건과의 비교를 통해 전자장치가 설정된 동작을 수행하도록 한다는 점에서는 동일하지만, 센서 출력값 측정을 위한 실행코드를 분리하여 부팅 조건 만족 여부를 판단한다는 점에서 차이가 있다. 스몰 부팅 모드에서 실행되는 실행코드(이하, 스몰 부트코드라 함)는 센서 출력값을 주기적으로 읽어들이도록 하는 최소한의 코드만을 포함하여 구성될 수 있다.
구체적으로, 도 3을 참조하면, 스몰 부팅 모드에서 부팅장치는 주기적으로 스몰 부트코드만을 이용한 스몰 부팅을 수행한다. 이 때, 스몰 부팅 모드에서는 스몰 부트코드만이 메인메모리(120)에 로드되고, 그 외 시스템 구동 코드는 메인메모리(120)에 로드되지 않는다. 즉, 전자장치 전체가 구동 가능한 상태로 세팅될 필요가 없고, 센서 출력값 측정을 위한 구성만이 구동 가능한 상태로 세팅되어 센서 출력값이 기설정된 조건을 만족하는지 여부를 판단하는 프로세스만이 동작한다. 스몰 부트코드는 노말 부트코드에 비해 크기가 매우 작으므로 메인메모리(120)에의 로드 과정 및 실행을 위한 세팅 과정에 소요되는 시간이 줄어들게 된다. 스몰 부팅 모드에서 센서 출력값이 시스템 내 기설정된 부팅 조건을 만족시키지 못하는 경우에는 스몰 부팅 절차를 종료하고, 기설정된 부팅 조건을 만족하는 경우에는 도 2에서 설명한 것과 같은 노말 부팅 모드로 진입하게 된다.
도 4는 본 발명의 일 실시예에 따른 부팅 장치의 스몰 부팅 모드를 도시한 블록도이고, 도 5는 노말 부팅 모드를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 부팅 장치의 부팅 과정을 도시한 흐름도이다.
도 4 및 도 5을 참조하면, 부팅 장치는 저장부(110), 메인메모리(120) 및 프로세서(130)를 포함하고, 외부 센서(140)와 연결된다. 도시된 바와 같이, 저장부(110)는 전자장치 부팅에 필요한 부트코드를 나누어 스몰 부트코드(111) 및 노말 부트코드(112)로 구분하여 저장한다. 이하 실시예에서는 저장부(110)는 플래시 메모리이고, 메인메모리(120)는 SRAM인 경우를 예로 들어 설명한다.
먼저, 프로세서(130)가 웨이크 업(Wake up) 신호를 수신한다(S401). 웨이크 업 신호는 부팅 장치 내부의 타이머(미도시)에 설정된 시간에 따라 주기적으로 발생되는 신호로, 프로세서(130)는 주기적으로 웨이크 업 신호를 수신받아 전자장치의 부팅 과정을 시작한다.
본 발명의 일 실시예에서, 부팅 모드는 스몰 부팅 모드 및 노말 부팅 모드로 구분되며, 전자장치가 스몰 부팅 모드로 진입하여 기설정된 부팅 조건을 만족하는 것으로 판단된 경우에 노말 부팅 모드로 진입한다. 즉, 본 과정(S401)에서 프로세서(130)가 웨이크업 신호를 수신하면 전자장치는 스몰 부팅 모드에 진입한다.
웨이크 업 신호가 수신되면, 프로세서(130)는 스몰 부트코드(111)를 메인메모리(120)에 적재하도록 저장부(110)에 요청하고(S402), 요청에 따라 메인메모리(120)에 스몰 부트코드(111)가 적재된다(S403). 도 4를 참조하면, 저장부(110)에 저장된 코드들 중 스몰 부트코드(111)만이 메인메모리(120)에 로드되고, 노말 부트코드(112), 운영체제 이미지(113), 응용 프로그램 데이터(114) 등으로 구성된 시스템 구동 코드는 메인메모리(120)에 로드되지 않는다. 프로세서(130) 내부의 Mask ROM(131)에 저장되어 있는 부트 로더(Boot Loader)의 실행에 따라 S402 및 S403의 과정이 이루어진다. S402 및 S403의 과정에 앞서, Mask ROM(131)에 저장되어 있는 초기화 코드(Init)에 의해, 시스템 구동을 위해 부팅 장치에 대한 최소한의 초기화 절차가 선행될 수 있다.
여기서, 스몰 부트코드(111)는 전체 전자장치 작동을 위한 운영 체제나 응용 프로그램 실행을 위한 코드는 포함하지 않고, 센서 출력값 측정을 위한 코드만을 포함한다. 즉, 스몰 부트코드(111)는 부팅 장치가 센서 출력값을 읽어들이기 위해 필수적인 코드만을 포함한다.
프로세서(130)는 메인메모리(120)에 로드된 스몰 부트코드(111)를 실행하여(S404) 스몰 부팅 모드에 진입한다. 스몰 부팅 모드에서, 프로세서(130)는 센서의 출력값을 리드(read)하도록 메인메모리(120)에 요청하고, 센서 출력값을 로딩한다(S405). 이 때, 프로세서(130)는 센서의 전원 상태를 확인하여, 센서의 전원이 오프 상태인 경우, 센서의 전원을 온 상태가 되도록 설정할 수 있다. 센서의 전원이 온 상태가 된 이후 안정화 시간이 필요한 경우, 안정화 시간만큼 대기한 후 ADC를 동작 시켜 센서의 출력값을 설정된 횟수만큼 읽어들이도록 한다.
프로세서(130)는 읽어들인 센서 출력값이 노말 부팅 조건을 만족하는지 여부를 판단하여(S406), 노말 부팅 조건을 만족하는 경우에는 노말 부팅 과정으로 진입하고, 만족하지 않는 경우에는 슬립 모드로 진입하여 다음 웨이크 업 신호가 수신될 때까지 대기한다.
센서 출력값이 노말 부팅 조건을 만족하는 것으로 판단되면, 프로세서(130)는 노말 부트코드(112), 운영 체제 이미지(113), 응용 프로그램 데이터(114)를 포함하는 시스템 구동 코드를 메인메모리(120)에 적재하도록 저장부(110)에 요청하고(S407), 요청에 따라 메인메모리(120)에 시스템 구동 코드가 적재된다(S408).
여기서, 노말 부트코드(112)는 전자장치의 구동시 필요한 실행코드를 포함한다. 예컨대, 노말 부트코드(112)는 전자장치 구동을 위해 하드웨어 전체를 초기화를 위한 코드, 운영체제의 부팅을 위한 코드 등을 포함할 수 있다. 부팅 장치가 노말 부팅모드인 경우에, 도 3에 도시된 바와 같이, 노말 부트코드(112)가 메인메모리(120)로 로드되며, 노말 부트코드(112)의 실행에 따라 운영 체제 이미지(113), 응용 프로그램 데이터(114) 등이 로드된다.
프로세서(130)는 메인메모리(120)에 로드된 노말 부트코드(112)를 로드하여(S409) 노말 부팅 모드에 진입한다. 노말 부팅 모드에서, 프로세서는 전체 전자장치 구동을 위한 하드웨어 초기화를 수행하고(S410), 운영 체제 부팅 등 전체 시스템을 구동(S411)한다. 전체 시스템이 구동되면, 전자장치는 설정된 동작을 수행한다.
도 7은 본 발명의 일 실시예에 따른 부팅 모드를 비교하기 위한 도면이다. 도 7의 (a)는 노말 부팅 모드에서 센서의 출력값을 측정하여 부팅 조건을 판단하는 데에 소요되는 시간을, 도 7의 (b), (c)는 스몰 부팅 모드에서 센서의 출력값을 측정하여 부팅 조건을 판단하는 데에 소요되는 시간을 나타낸다.
도 7을 참조하면, 노말 부팅 모드 및 스몰 부팅 모드에서 최초로 Mask ROM 영역의 초기화 코드가 실행된다. 초기화 코드는 칩을 구동시키기 위한 최소한의 초기화 절차이며 노말 부팅 모드 및 스몰 부팅 모드가 동일하다.
도 7의 (a)를 참조하면, 전자장치가 주기적으로 노말 부팅 모드을 진행하는 경우 시스템 구동 코드 전체가 저장부에서 메인 메모리로 로드된다. 이 때, 용량이 큰 시스템 구동 코드 전체를 로드하는 과정에서 수십 MHz의 Clock과 작은 대역폭으로 칩 외부의 저장부와의 통신을 하게 되므로 상대적으로 오랜 시간 동안 높은 전류 소모가 발생한다. 또한, 센서 출력값을 읽어들이기 위해서 전체 전자장치의 구성을 초기화하는 과정을 거쳐야 하므로, ADC를 구동하여 센서 출력값을 읽어들이기에 앞서 추가적인 시간이 더 소요된다.
도 7의 (b)를 참조하면, 스몰 부팅 모드에서는 센서 출력값을 측정하기 위한 필수적인 수행 코드만을 포함하는 스몰 부트코드가 메인메모리로 로드된다. 시스템 구도 코드에 비해 적은량의 수행 코드만이 로드되기 때문에 빠른 시간에 로드가 가능하다. 또한, 센서를 구동하기 위해 칩 전체를 초기화할 필요가 없이 센서 구동에 필요한 구성만 초기화하기 때문에 센서 출력값을 읽어들이는 데에 소요되는 시간도 줄어들게 된다.
도 7의 (c)는 스몰 부트코드가 플래시 메모리가 아닌 Retention Memory에 저장된 경우를 도시한 것이다. Retention Memory란 전원 유지를 위해 매우 낮은 전력을 요구하는 휘발성 메모리로, 플래시 메모리보다 저장 용량은 적지만 큰 대역폭으로 내부 장치 간에 통신을 수행할 수 있다. 스몰 부트코드는 그 용량이 작으므로 Retention Memory에 저장이 가능하다. 본 발명의 일 실시예에서, 부팅장치는 스몰 부트코드를 분리하여 시스템 구동코드가 저장되는 저장부와 다른 별도의 저장부에 저장할 수 있고, 별도의 저장부는 Retention Memory일 수 있다. 스몰 부트코드가 Retention Memory에 저장되는 경우, 도시된 바와 같이, 메인메모리로의 로드가 더 적은 시간 안에 가능하고, 스몰 부트코드가 플래시 메모리에 저장된 경우보다 전력 소모가 적다.
본 발명의 일 실시예에 따른 부팅 장치는 센서의 출력값을 읽어들이고 읽어들인 센서의 출력값이 기설정된 조건을 만족하는 경우에 전자장치를 부팅한다. 예컨대, 블랙박스 영상 장치 또는 CCTV와 같은 영상 감시 장치가 객체가 인지되는 경우에만 구동되도록 하는 경우에 적용될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 전자장치에 내장되는 부팅 장치에 있어서,
    센서 출력값 측정을 위한 스몰 부트코드 및 전자장치 구동을 위한 시스템 구동 코드를 분리하여 저장하는 저장부;
    상기 스몰 부트코드 및 상기 시스템 구동 코드가 로드되는 메인메모리; 및
    상기 저장부에 저장된 코드 중 적어도 하나를 독출하여 상기 메인메모리에 로드하고, 상기 스몰 부트코드 및 상기 시스템 구동 코드 중 어느 하나를 실행하는 프로세서
    를 포함하는 부팅 장치.
  2. 제 1항에 있어서,
    상기 시스템 구동 코드는,
    상기 전자장치 부팅을 위한 부트코드인 노말 부트코드 및 운영체제 이미지를 포함하는 것을 특징으로 하는 부팅 장치.
  3. 제 2항에 있어서,
    상기 프로세서는,
    상기 스몰 부트코드를 실행하여 상기 센서 출력값을 측정하고, 상기 센서 출력값이 기설정된 조건을 만족하는지를 판단하여, 상기 센서 출력값이 상기 기설정된 조건을 만족하는 경우 상기 노말 부트코드를 실행하는 부팅 장치.
  4. 제 1항에 있어서,
    상기 프로세서는,
    상기 전자장치 내부의 타이머에 의해 설정된 시간에 따라 주기적으로 상기 스몰 부트코드를 실행하는 부팅 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 센서의 전원 상태를 확인하여, 상기 센서의 전원이 오프 상태인 경우 상기 센서의 전원을 온 상태가 되도록 설정하고 상기 센서 출력값을 측정하는 부팅 장치.
  6. 제 1항에 있어서,
    상기 저장부는,
    상기 스몰 부트코드를 저장하는 제1 저장부; 및
    상기 시스템 구동 코드를 저장하는 제2 저장부
    를 포함하는 부팅 장치.
  7. 제 6항에 있어서,
    상기 제1 저장부는 제2 저장부보다 큰 전송 대역폭을 갖는 것을 특징으로 하는 부팅 장치.
  8. 제 1항에 있어서,
    상기 노말 부트코드는,
    전자장치 내 하드웨어를 초기화하고, 운영 체제 이미지를 로딩하도록 설정하는 코드를 포함하는 것을 특징으로 하는 부팅 장치.
  9. 전자장치에 내장된 부팅 장치에서 전자장치를 부팅시키는 방법에 있어서,
    프로세서가 주기적으로 웨이크업(wake up) 신호를 수신하는 과정;
    상기 웨이크업 신호가 수신되면, 센서 출력값 측정을 수행하는 코드를 포함하는 스몰 부트코드를 메인메모리에 로드하는 과정;
    전자장치 부팅을 위한 노말 부트코드와 운영체제 이미지를 포함하는 시스템 구동 코드를 메인메모리에 로드하는 과정; 및
    상기 프로세서가 상기 메인메모리에 저장된 상기 스몰 부트코드 또는 상기 노말 부트코드 중 어느 하나를 실행하는 과정
    을 포함하는 것을 특징으로 하는 전자장치의 부팅 방법.
  10. 제 9항에 있어서,
    상기 프로세스가 스몰 부트코드를 실행하여 상기 센서 출력값을 측정하고, 상기 센서 출력값이 기설정된 조건을 만족하는지를 판단하는 과정; 및
    상기 센서 출력값이 상기 기설정된 조건을 만족하는 경우 상기 노말 부트코드를 실행하는 과정
    을 더 포함하는 하는 전자장치의 부팅 방법.
  11. 제 10항에 있어서,
    상기 전자장치 내부의 타이머에 의해 설정된 시간에 따라 주기적으로 상기 시작 신호를 상기 프로세서에 전달하는 과정
    을 더 포함하는 전자장치의 부팅 방법.
  12. 제 10에 있어서,
    상기 프로세서가 상기 센서의 전원 상태를 확인하여, 상기 센서의 전원이 오프 상태인 경우 상기 센서의 전원을 온 상태가 되도록 설정하는 과정
    을 더 포함하는 전자장치의 부팅 방법.
  13. 제 9항에 있어서,
    상기 노말 부트코드는,
    전자장치 내 하드웨어를 초기화하고, 운영 체제 이미지를 로딩하도록 설정하는 코드를 포함하는 것을 특징으로 하는 전자장치의 부팅 방법.
KR1020170087319A 2017-07-10 2017-07-10 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법 KR101963712B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170087319A KR101963712B1 (ko) 2017-07-10 2017-07-10 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법
TW107119049A TW201908967A (zh) 2017-07-10 2018-06-01 電子設備的啟動裝置及啟動方法
CN201810576737.6A CN109240749B (zh) 2017-07-10 2018-06-05 电子设备的启动装置及启动方法
US16/029,918 US10963266B2 (en) 2017-07-10 2018-07-09 Launch device for electronic apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170087319A KR101963712B1 (ko) 2017-07-10 2017-07-10 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법

Publications (2)

Publication Number Publication Date
KR20190006629A true KR20190006629A (ko) 2019-01-21
KR101963712B1 KR101963712B1 (ko) 2019-04-01

Family

ID=64903152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170087319A KR101963712B1 (ko) 2017-07-10 2017-07-10 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법

Country Status (4)

Country Link
US (1) US10963266B2 (ko)
KR (1) KR101963712B1 (ko)
CN (1) CN109240749B (ko)
TW (1) TW201908967A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11425657B2 (en) 2019-04-30 2022-08-23 Dialog Semiconductor Korea Inc. Method and apparatus for transmitting sensor data with low power
WO2023075101A1 (ko) * 2021-10-25 2023-05-04 삼성전자주식회사 플렉서블 디스플레이를 갖는 전자 장치 및 이의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070108060A (ko) * 2006-05-04 2007-11-08 큐엔엑스 소프트웨어 시스템즈 게엠베하 운트 코. 카게 빠른 부팅 웨이크-업을 실행하는 시스템
US20080215870A1 (en) * 2002-11-07 2008-09-04 Hua Peng Liew Method and apparatus for loading boot code
US20150346806A1 (en) * 2014-05-29 2015-12-03 Apple Inc. System on a Chip with Fast Wake from Sleep
KR20160150249A (ko) * 2015-06-19 2016-12-29 (주)에프씨아이 저 전력 슬립 모드 및 웨이크업 모드를 구비한 무선통신 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263939B (en) 2004-09-22 2006-10-11 Lite On Technology Corp Dynamic boot system and method, machine readable medium thereof, and construction method for an operating system image
US8583951B2 (en) * 2005-04-12 2013-11-12 Panasonic Corporation Video/audio processing device and apparatus connected to the same
US20090013335A1 (en) * 2007-07-06 2009-01-08 Aten International Co., Ltd. Sensor process management methods and systems
US20140215177A1 (en) * 2012-08-02 2014-07-31 Boo Jin Kim Methods and Systems for Managing Heterogeneous Memories
CN105204931B (zh) 2014-06-11 2019-03-15 联发科技(新加坡)私人有限公司 低功耗可穿戴设备及其多操作系统切换、通信及管理方法
KR102465927B1 (ko) * 2016-01-26 2022-11-14 삼성전자주식회사 복수의 운영 체제 환경에서의 하이버네이션 운용 방법 및 장치
CN105843641B (zh) * 2016-03-21 2019-03-22 福州瑞芯微电子股份有限公司 一种终端热启动方法和装置
CN105848270B (zh) * 2016-06-15 2019-08-06 深圳市万普拉斯科技有限公司 一种待机方法以及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215870A1 (en) * 2002-11-07 2008-09-04 Hua Peng Liew Method and apparatus for loading boot code
KR20070108060A (ko) * 2006-05-04 2007-11-08 큐엔엑스 소프트웨어 시스템즈 게엠베하 운트 코. 카게 빠른 부팅 웨이크-업을 실행하는 시스템
US20150346806A1 (en) * 2014-05-29 2015-12-03 Apple Inc. System on a Chip with Fast Wake from Sleep
KR20160150249A (ko) * 2015-06-19 2016-12-29 (주)에프씨아이 저 전력 슬립 모드 및 웨이크업 모드를 구비한 무선통신 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11425657B2 (en) 2019-04-30 2022-08-23 Dialog Semiconductor Korea Inc. Method and apparatus for transmitting sensor data with low power
WO2023075101A1 (ko) * 2021-10-25 2023-05-04 삼성전자주식회사 플렉서블 디스플레이를 갖는 전자 장치 및 이의 제어 방법

Also Published As

Publication number Publication date
US10963266B2 (en) 2021-03-30
TW201908967A (zh) 2019-03-01
US20190012181A1 (en) 2019-01-10
CN109240749B (zh) 2021-08-10
KR101963712B1 (ko) 2019-04-01
CN109240749A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
US8176305B2 (en) Information processing apparatus, activation method, and program
US8384559B2 (en) Sensor device with flexible interface and updatable information store
US7934111B2 (en) Apparatus and method for allowing quick activation of electronic equipment, and recording medium having a program stored thereon for performing such method
KR101596222B1 (ko) 영상 재생 장치의 부팅을 제어하는 방법 및 그 장치
CA3052208C (en) Quick energy efficient reboot from ultra-low power mode for a system on a chip
CN108304151B (zh) 用于显示内容的方法及其电子设备
US11514831B2 (en) Electronic device and method for controlling storage of content displayed on display panel
US20080162918A1 (en) Hide boot
US9558008B2 (en) Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
KR101963712B1 (ko) 센서를 이용하는 전자장치의 부팅 장치 및 부팅 방법
US11693592B2 (en) Memory system
US9965291B2 (en) Information processing apparatus enabling high-speed start-up, control method therefor, and storage medium storing control program therefor
KR101573330B1 (ko) 영상 재생 장치를 부팅하는 방법 및 그 장치
US9292301B1 (en) Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
US20120233451A1 (en) Method for fast resuming computer system and computer system
US20170160788A1 (en) Low power state retention mode for processor
US9332064B2 (en) Computer system and remote control method thereof
US10846004B2 (en) Memory management system and memory management method for dynamic memory management by monitoring whether memory is accessed and predicting when memory is to be accessed
US10884481B2 (en) Apparatus and method for improving power savings by accelerating device suspend and resume operations
US9170862B2 (en) Converting apparatus, conversion method, and information processing system
US20230205299A1 (en) Device deactivation
US20160274804A1 (en) Computation processing device and control method thereof
US8990594B2 (en) Apparatus for measuring a remaining power of a battery includes a first memory for storing a routine code and a second memory for storing an exception code
Rush Application of Suspend Mode to Automotive ECUs

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