KR102119626B1 - 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법 - Google Patents

정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법 Download PDF

Info

Publication number
KR102119626B1
KR102119626B1 KR1020187016032A KR20187016032A KR102119626B1 KR 102119626 B1 KR102119626 B1 KR 102119626B1 KR 1020187016032 A KR1020187016032 A KR 1020187016032A KR 20187016032 A KR20187016032 A KR 20187016032A KR 102119626 B1 KR102119626 B1 KR 102119626B1
Authority
KR
South Korea
Prior art keywords
processor
main program
update
program
memory
Prior art date
Application number
KR1020187016032A
Other languages
English (en)
Other versions
KR20180079438A (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 미쓰비시덴키 가부시키가이샤
Publication of KR20180079438A publication Critical patent/KR20180079438A/ko
Application granted granted Critical
Publication of KR102119626B1 publication Critical patent/KR102119626B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66BELEVATORS; ESCALATORS OR MOVING WALKWAYS
    • B66B1/00Control systems of elevators in general
    • B66B1/34Details, e.g. call counting devices, data transmission from car to control system, devices giving information to the control system
    • B66B1/3415Control system configuration and the data transmission or communication within the control system
    • B66B1/3446Data transmission or communication within the control system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66BELEVATORS; ESCALATORS OR MOVING WALKWAYS
    • B66B5/00Applications of checking, fault-correcting, or safety devices in elevators
    • B66B5/0006Monitoring devices or performance analysers
    • B66B5/0012Devices monitoring the users of the elevator system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)

Abstract

프로그램 갱신 후에, 각 프로그램이 정상으로 갱신되었는지의 확인 처리에 필요한 시간을 단축시킬 수 있는 정보 처리 장치 등을 제공한다. 이를 위해, 정보 처리 장치에 있어서, 메인 프로그램을 기억하는 메모리와, 메모리에 기억된 메인 프로그램을 읽어내어 실행하는 프로세서와, 메모리에 기억된 메인 프로그램을 갱신하는 프로그램 갱신부와, 프로그램 갱신부에 의해 메모리에 기억된 메인 프로그램이 갱신된 후의 프로세서의 리셋시에, 갱신 확인 모드로 프로세서를 기동시키는 기동 제어부를 구비한다. 프로세서는, 갱신 확인 모드로 기동하면, 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 감시 프로세스를 생성하여, 감시 프로세스의 생성이 정상으로 행해졌을 경우에 감시 프로세스 기동 완료 신호를 출력한다.

Description

정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법
본 발명은 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법에 관한 것이다.
종래, 제1 컴퓨터, 제2 컴퓨터, 제1 컴퓨터가 실행하는 제1 정보처리용 프로그램을 기억하는 불휘발성의 제1 기억 수단, 및, 제2 컴퓨터가 실행하는 제2 정보처리용 프로그램을 기억하는 불휘발성의 제2 기억 수단을 구비하는 정보 처리 장치에 있어서, 제1 정보처리용 프로그램을 갱신하기 위한 데이터를 포함하는 제1 갱신 데이터, 및, 제2 정보처리용 프로그램을 갱신하기 위한 데이터를 포함하는 제2 갱신 데이터를 취득하여, 제1 기억 수단에 기억시키는 취득 수단과, 제1 갱신 데이터에 기초하여, 제1 기억 수단에 기억되어 있는 제1 정보처리용 프로그램을 갱신하는 제1 갱신 수단과, 제2 갱신 데이터를 제2 컴퓨터로 송신하는 송신 수단과, 송신 수단에 의해 송신되어 오는 제2 갱신 데이터에 기초하여, 제2 기억 수단에 기억되어 있는 제2 정보처리용 프로그램을 갱신하는 제2 갱신 수단을 구비한 것이 알려져 있다(예를 들면, 특허문헌 1 참조).
일본 특개 2006-031526호 공보 일본 특개 2015-005041호 공보
이와 같이, 특허문헌 1에 제시된 종래에 있어서의 정보 처리 장치는, 복수의 컴퓨터 즉 복수의 프로세서의 각각이 실행하는 프로그램의 각각을 한꺼번에 갱신할 수 있다. 그렇지만, 프로그램의 갱신이 정상으로 행해졌는지를 확인할 때에, 복수의 프로그램의 각각의 전체에 대해서 확인 처리를 실시하기 때문에, 확인 처리에 시간이 걸려 갱신 후에 신속하게 장치를 재가동시킬 수 없다.
본 발명은, 이와 같은 과제를 해결하기 위해서 이루어진 것으로, 프로세서가 실행하는 프로그램을 갱신한 후에, 프로그램이 정상으로 갱신되었는지의 확인 처리에 필요한 시간을 단축시켜, 프로그램 갱신 후의 신속한 장치의 재가동을 도모할 수 있는 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법을 얻는 것이다.
본 발명에 따른 정보 처리 장치에 있어서는, 제1 메인 프로그램을 기억하는 제1 메모리와, 상기 제1 메모리에 기억된 상기 제1 메인 프로그램을 읽어내어 실행하는 제1 프로세서와, 상기 제1 메모리에 기억된 상기 제1 메인 프로그램을 갱신하는 제1 프로그램 갱신부와, 상기 제1 프로그램 갱신부에 의해 상기 제1 메모리에 기억된 상기 제1 메인 프로그램이 갱신된 후의 상기 제1 프로세서의 리셋시에, 갱신 확인 모드로 상기 제1 프로세서를 기동시키는 제1 기동 제어부를 구비하고, 상기 제1 프로세서는, 갱신 확인 모드로 기동하면, 상기 제1 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제1 감시 프로세스를 생성하여, 상기 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제1 감시 프로세스 기동 완료 신호를 출력하는 구성으로 한다.
본 발명에 따른 엘리베이터 장치는, 전술한 정보 처리 장치에 있어서, 추가로, 제2 메인 프로그램을 기억하는 제2 메모리와, 상기 제2 메모리에 기억된 상기 제2 메인 프로그램을 읽어내어 실행하는 제2 프로세서와, 상기 제2 메모리에 기억된 상기 제2 메인 프로그램을 갱신하는 제2 프로그램 갱신부와, 상기 제2 프로그램 갱신부에 의해 상기 제2 메모리에 기억된 상기 제2 메인 프로그램이 갱신된 후의 상기 제2 프로세서의 리셋시에, 갱신 확인 모드로 상기 제2 프로세서를 기동시키는 제2 기동 제어부를 구비하고, 상기 제2 프로세서는, 갱신 확인 모드로 기동하면, 상기 제2 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제2 감시 프로세스를 생성하여, 상기 제2 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제2 감시 프로세스 기동 완료 신호를 상기 제1 프로세서로 출력하고, 상기 제1 프로세서는, 갱신 확인 모드로 상기 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에, 상기 제1 감시 프로세스 기동 완료 신호를 상기 제2 프로세서로 출력하는 구성인 정보 처리 장치를 구비하고 있다. 그리고, 추가로, 엘리베이터의 엘리베이터 칸 내에 마련되어, 당해 엘리베이터 칸 내를 촬영하여 아날로그 화상 신호를 상기 정보 처리 장치로 출력하는 카메라와, 상기 엘리베이터 칸 내에 마련되어, 상기 정보 처리 장치로부터의 디지털 화상 신호의 입력을 받아서 화상을 표시하는 모니터를 구비하며, 상기 제1 프로세서는 상기 정보 처리 장치로부터 상기 모니터에 출력하는 디지털 화상 신호를 처리하고, 상기 제2 프로세서는 상기 카메라로부터 상기 정보 처리 장치에 입력된 아날로그 화상 신호를 처리하는 구성으로 한다.
본 발명에 따른 프로그램 갱신 방법에 있어서는, 메인 프로그램을 기억하는 메모리와, 상기 메모리에 기억된 상기 메인 프로그램을 읽어내어 실행하는 프로세서를 구비한 정보 처리 장치의 상기 메모리에 기억된 상기 메인 프로그램을 갱신하는 프로그램 갱신 방법으로서, 상기 메모리에 기억된 상기 메인 프로그램을 갱신하는 제1 공정과, 상기 제1 공정에 의해 상기 메모리에 기억된 상기 메인 프로그램이 갱신된 후의 상기 프로세서의 리셋시에, 갱신 확인 모드로 상기 프로세서를 기동시키는 제2 공정과, 갱신 확인 모드로 기동된 상기 프로세서가, 상기 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 감시 프로세스를 생성하여, 상기 감시 프로세스의 생성이 정상으로 행해졌을 경우에 감시 프로세스 기동 완료 신호를 출력하는 제3 공정을 구비한 것으로 한다.
본 발명에 따른 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법에 있어서는, 프로세서가 실행하는 프로그램을 갱신한 후에, 프로그램이 정상으로 갱신되었는지의 확인 처리에 필요한 시간을 단축시켜, 프로그램 갱신 후의 신속한 장치의 재가동을 도모할 수 있다고 하는 효과를 달성한다.
도 1은 본 발명의 실시 형태 1에 따른 정보 처리 장치를 구비한 엘리베이터 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 실시 형태 1에 따른 정보 처리 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시 형태 1에 따른 정보 처리 장치의 기동 처리를 나타내는 흐름도이다.
도 4는 본 발명의 실시 형태 1에 따른 정보 처리 장치의 기동 처리를 나타내는 흐름도이다.
도 5는 본 발명의 실시 형태 1에 따른 정보 처리 장치가 구비하는 제1 불휘발성 메모리에 기억되는 기동 확인 플래그에 대해 설명하는 도면이다.
도 6은 본 발명의 실시 형태 1에 따른 정보 처리 장치가 구비하는 제2 불휘발성 메모리에 기억되는 기동 확인 플래그에 대해 설명하는 도면이다.
도 7은 본 발명의 실시 형태 1에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 8은 본 발명의 실시 형태 1에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 9는 본 발명의 실시 형태 1에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 10은 본 발명의 실시 형태 1에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 11은 본 발명의 실시 형태 1에 따른 정보 처리 장치의 메인 프로그램 이상 동작시의 처리를 나타내는 흐름도이다.
도 12는 본 발명의 실시 형태 2에 따른 정보 처리 장치의 구성을 나타내는 블록도이다.
도 13은 본 발명의 실시 형태 2에 따른 정보 처리 장치의 기동 처리를 나타내는 흐름도이다.
도 14는 본 발명의 실시 형태 2에 따른 정보 처리 장치의 기동 처리를 나타내는 흐름도이다.
도 15는 본 발명의 실시 형태 2에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 16은 본 발명의 실시 형태 2에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 17은 본 발명의 실시 형태 2에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
도 18은 본 발명의 실시 형태 2에 따른 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
본 발명을 실시하기 위한 형태에 대해서 첨부된 도면을 참조하면서 설명한다. 각 도면에 있어서, 동일 또는 상당하는 부분에는 동일한 부호를 부여하고, 중복되는 설명은 적절히 간략화 또는 생략한다. 또한, 본 발명은 이하의 실시 형태로 한정되는 것이 아니라, 본 발명의 취지를 벗어나지 않는 범위에서 여러 가지 변형하는 것이 가능하다. 또한, 이하에 있어서 각 부의 명칭 등에서 선두에 「제1」 또는 「제2」를 포함하는 것은, 편의상, 각 도면 중에서는 말미에 「1」 또는 「2」의 숫자를 부여하여 나타낸다.
실시 형태 1.
도 1 내지 도 11은, 본 발명의 실시 형태 1에 따른 것으로, 도 1은 정보 처리 장치를 구비한 엘리베이터 장치의 구성을 나타내는 도면, 도 2는 정보 처리 장치의 구성을 나타내는 블록도, 도 3 및 도 4는 정보 처리 장치의 기동 처리를 나타내는 흐름도, 도 5는 정보 처리 장치가 구비하는 제1 불휘발성 메모리에 기억되는 기동 확인 플래그에 대해 설명하는 도면, 도 6은 정보 처리 장치가 구비하는 제2 불휘발성 메모리에 기억되는 기동 확인 플래그에 대해 설명하는 도면, 도 7 내지 도 10은 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도, 도 11은 정보 처리 장치의 메인 프로그램 이상 동작시의 처리를 나타내는 흐름도이다.
이 실시 형태 1에 있어서는, 본 발명에 따른 정보 처리 장치(10)를, 엘리베이터 장치에 적용한 예에 대해 설명한다. 또한, 본 발명에 따른 정보 처리 장치(10)는, 여기에서 설명하는 바와 같은 엘리베이터 장치로 한정되지 않고, 프로세서에 의해 실행하는 메인 프로그램을 갱신할 필요가 있는 정보 처리 장치에 널리 적용 가능하다.
도 1에 나타내는 바와 같이, 이 실시 형태 1에 있어서는, 정보 처리 장치(10)가 적용된 엘리베이터 장치는, 엘리베이터의 엘리베이터 칸(500)을 구비하고 있다. 엘리베이터 칸(500)은 엘리베이터의 승강로(도시하지 않음)의 내부에 승강이 자유롭게 설치되어 있다. 승강로는, 예를 들면, 엘리베이터 장치가 설치되는 건물의 내부에 마련된다.
엘리베이터 칸(500)은 예를 들면 직육면체 모양의 상자형을 나타낸다. 엘리베이터 칸(500)의 예로써 정면에는, 도시하지 않은 엘리베이터 칸 출입구가 형성되어 있다. 엘리베이터 칸 출입구는 엘리베이터의 이용자가 엘리베이터 칸(500)에 출입하기 위한 개구이다. 엘리베이터 칸(500)에는, 엘리베이터 칸 출입구를 개폐하기 위한 엘리베이터 칸 도어(501)가 마련되어 있다.
엘리베이터 칸(500)의 내부에는, 엘리베이터 칸 내 카메라(114)가 설치되어 있다. 엘리베이터 칸 내 카메라(114)는 엘리베이터 칸(500)의 내부의 모습을 화상으로서 촬영한다. 엘리베이터 칸 내 카메라(114)는 촬영한 화상을 아날로그 화상 신호로 출력한다. 엘리베이터 칸 내 카메라(114)로부터 출력된 아날로그 화상 신호는, 정보 처리 장치(10)로 입력된다.
또한, 엘리베이터 칸 내 카메라(114)에 의해 촬영되는 화상은, 정지화상이어도 동영상이어도 된다. 여기에서는, 구체적으로 예를 들면, 엘리베이터 칸 내 카메라(114)로부터 출력되는 아날로그 화상 신호는, NTSC(National Television System Committee) 방식의 신호인 것으로 한다.
엘리베이터 칸(500)의 내부에는, 모니터(106)가 설치되어 있다. 모니터(106)는 엘리베이터 칸(500)의 내부에 있는 이용자에 대해서 각종 정보를 표시하기 위한 것이다.
정보 처리 장치(10)는 감시반(30)(MOP: MOnitor Panel)과 통신 가능하게 접속되어 있다. 감시반(30)은 엘리베이터의 도시하지 않은 제어장치와 접속되어 있다. 감시반(30)은 엘리베이터의 제어장치로부터 당해 엘리베이터에 관한 각종 정보를 취득할 수 있다. 이 당해 엘리베이터에 관한 정보란, 구체적으로 예를 들면, 엘리베이터의 엘리베이터 칸(500)의 주행 상태, 주행 방향 및 현재 위치 등에 관한 정보이다.
감시반(30)에 의해 취득된 당해 엘리베이터에 관한 정보는, 정보 처리 장치(10)로 보내진다. 정보 처리 장치(10)는, 당해 엘리베이터에 관한 정보에 기초하여, 모니터(106)에 표시하는 화상 데이터를 생성한다. 그리고, 정보 처리 장치(10)는 생성한 화상 데이터를 디지털 화상 신호로 모니터(106)에 출력한다. 모니터(106)는 정보 처리 장치(10)로부터의 디지털 화상 신호의 입력을 받아서 화상을 표시한다.
또한, 모니터(106)에 의해 표시되는 화상은, 정지화상이어도 동영상이어도 된다. 여기에서는, 구체적으로 예를 들면, MPEG(Moving Picture Experts Group) 형식으로 압축된 압축 영상 데이터를 압축 해제(decompress)한 것을 모니터(106)에 표시하는 것으로 한다.
다음으로, 도 2도 참조하면서, 정보 처리 장치(10)의 구성에 대해서, 더 설명한다. 정보 처리 장치(10)는 제1 프로세서(101) 및 제2 프로세서(111)를 구비하고 있다. 제1 프로세서(101) 및 제2 프로세서(111)는, 주어진 명령(명령의 집합인 프로그램을 포함한다)을 실행하여 정보의 연산 또는 가공을 행하는 중앙 처리 장치(CPU: Central Processing Unit)이다.
제1 프로세서(101)는 정보 처리 장치(10)로부터 모니터(106)에 출력하는 디지털 화상 신호를 처리한다. 구체적으로 여기에서는, 제1 프로세서(101)는 모니터(106)에 표시하는 MPEG 형식으로 압축된 화상 데이터를 압축 해제하고, 압축 해제된 데이터를 디지털 화상 신호로 모니터(106)에 출력한다.
제2 프로세서(111)는 엘리베이터 칸 내 카메라(114)로부터 정보 처리 장치(10)에 입력된 아날로그 화상 신호를 처리한다. 구체적으로 여기에서는, 제2 프로세서(111)는, 우선, 엘리베이터 칸 내 카메라(114)로부터 입력된 NTSC 방식의 아날로그 화상 신호를 디지털 신호로 변환한다. 그리고, 디지털 신호로 변환한 데이터에 대해서 JPEG(Joint Photographic Experts Group) 형식으로의 압축 처리를 행한다.
제1 프로세서(101)와 제2 프로세서(111)는, 시리얼 통신선(121)에 의해 쌍방향으로 통신 가능하게 접속되어 있다. 제1 프로세서(101)와 제2 프로세서(111)는, 이 시리얼 통신선(121)을 통해서, 예를 들면 각종 커맨드, 각종 신호, 프로그램 및 JPEG 형식으로 압축한 데이터 등의 송수신을 행한다.
정보 처리 장치(10)는 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)를 구비하고 있다. 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)는, 데이터 또는 프로그램을 불휘발적으로 격납하는 읽기 전용 메모리(Read Only Memory: ROM)이다. 또한, 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)는, 미리 정해진 특별한 커맨드에 의해 데이터를 고쳐 쓸 수 있는 ROM(이른바 Flash ROM)이다.
또한, 정보 처리 장치(10)는 제1 휘발성 메모리(103) 및 제2 휘발성 메모리(113)를 구비하고 있다. 제1 휘발성 메모리(103) 및 제2 휘발성 메모리(113)는, 데이터 또는 프로그램을 휘발적 즉 일시적으로 격납하기 위한 읽고 쓰기 가능한 랜덤 액세스 메모리(Random Access Memory: RAM)이다.
제1 불휘발성 메모리(102) 및 제1 휘발성 메모리(103)는, 제1 프로세서(101)로부터 직접 액세스 가능한 주기억장치이다. 또한, 제2 불휘발성 메모리(112) 및 제2 휘발성 메모리(113)는, 제2 프로세서(111)로부터 직접 액세스 가능한 주기억장치이다.
제1 불휘발성 메모리(102)는 제1 메인 프로그램을 기억하고 있다. 제1 프로세서(101)는 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램을 읽어내어 실행한다. 이때, 제1 프로세서(101)는, 우선, 제1 불휘발성 메모리(102)로부터 읽어낸 프로그램을, 제1 휘발성 메모리(103)에 실행 가능한 형식으로 전개하여 격납한다. 그리고, 제1 프로세서(101)는 이 제1 휘발성 메모리(103)에 격납된 프로그램을 읽어내면서 실행한다. 제1 프로세서(101)가 제1 메인 프로그램을 실행함으로써, 전술한 제1 프로세서(101)에 의한 디지털 화상 신호 처리가 실현된다.
제2 불휘발성 메모리(112)는 제2 메인 프로그램을 기억하고 있다. 제2 프로세서(111)는 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램을 읽어내어 실행한다. 이때, 제2 프로세서(111)는, 우선, 제2 불휘발성 메모리(112)로부터 읽어낸 프로그램을, 제2 휘발성 메모리(113)에 실행 가능한 형식으로 전개하여 격납한다. 그리고, 제2 프로세서(111)는 이 제2 휘발성 메모리(113)에 격납된 프로그램을 읽어내면서 실행한다. 제2 프로세서(111)가 제2 메인 프로그램을 실행함으로써, 전술한 제2 프로세서(111)에 의한 아날로그 화상 신호 처리가 실현된다.
여기에서, 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)는, 각각이 복수의 기억면을 가지고 있다. 여기에서는, 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)는, 각각이 A면 및 B면의 2개의 기억면을 가지고 있다. A면 및 B면의 2개의 기억면에 대해서는, 서로 독립해서 기입 및 읽기를 행할 수 있다.
제1 불휘발성 메모리(102)의 A면 및 B면의 각각에는, 제1 메인 프로그램이 기억되어 있다. 제1 불휘발성 메모리(102)의 A면에 기억되어 있는 제1 메인 프로그램을 제1 메인 프로그램 A라고 부른다. 제1 불휘발성 메모리(102)의 B면에 기억되어 있는 제1 메인 프로그램을 제1 메인 프로그램 B라고 부른다.
제1 불휘발성 메모리(102)는 제1 불휘발성 메모리(102)의 A면 및 B면에 기억된 제1 메인 프로그램 중 어느 것을 실행할지를 지정하는 제1 기동 지정 플래그도 기억하고 있다. 이때, 제1 기동 지정 플래그를, 제1 불휘발성 메모리(102)의 A면 및 B면 양방에 완전히 같은 내용으로 기억해 두도록 해도 된다. 또는, 제1 기동 지정 플래그를, 제1 불휘발성 메모리(102)의 A면 및 B면 중 미리 정한 한쪽에 기억해 두도록 해도 된다.
마찬가지로, 제2 불휘발성 메모리(112)의 A면 및 B면의 각각에는, 제2 메인 프로그램이 기억되어 있다. 제2 불휘발성 메모리(112)의 A면에 기억되어 있는 제2 메인 프로그램을 제2 메인 프로그램 A라고 부른다. 제2 불휘발성 메모리(112)의 B면에 기억되어 있는 제2 메인 프로그램을 제2 메인 프로그램 B라고 부른다.
제2 불휘발성 메모리(112)는 제2 불휘발성 메모리(112)의 A면 및 B면에 기억된 제2 메인 프로그램 중 어느 것을 실행할지를 지정하는 제2 기동 지정 플래그도 기억하고 있다. 이때, 제2 기동 지정 플래그를, 제2 불휘발성 메모리(112)의 A면 및 B면 양방에 완전히 같은 내용으로 기억해 두도록 해도 된다. 또는, 제2 기동 지정 플래그를, 제2 불휘발성 메모리(112)의 A면 및 B면 중 미리 정한 한쪽에 기억해 두도록 해도 된다.
정보 처리 장치(10)는 제1 기동 제어부(135)를 구비하고 있다. 제1 기동 제어부(135)는 제1 프로세서(101)의 기동시의 동작을 제어한다. 제1 프로세서(101)의 기동시란, 구체적으로 예를 들면, 정보 처리 장치(10)의 전원 투입시, 또는, 제1 프로세서(101)의 리셋시 등이다. 제1 기동 제어부(135)는, 제1 프로세서(101)의 기동시에, 제1 프로세서(101)의 동작 모드를 설정한다. 동작 모드에 대해서는 후술 한다.
또한, 제1 기동 제어부(135)는, 제1 프로세서(101)의 기동시에, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그를 참조한다. 그리고, 제1 기동 제어부(135)는, 제1 불휘발성 메모리(102)의 A면 및 B면에 기억된 제1 메인 프로그램 A 및 제1 메인 프로그램 B 중, 제1 기동 지정 플래그에 의해 지정된 쪽을 제1 프로세서(101)가 읽어내어 실행하도록 제어한다. 따라서, 제1 프로세서(101)는, 제1 불휘발성 메모리(102)의 A면 및 B면에 기억된 제1 메인 프로그램 중, 제1 기동 지정 플래그에 의해 지정된 쪽을 읽어내어 실행한다.
여기에서는, 제1 기동 제어부(135)는 제1 프로세서(101)에 내장되어 있는 것으로 한다. 또한, 제1 기동 제어부(135)를 전용의 회로로 실현해도 되고, 제1 불휘발성 메모리(102)에 기억되어 있는 프로그램을 제1 프로세서(101)로 실행함으로써, 제1 기동 제어부(135)의 기능을 실현하도록 해도 된다.
또는, 제1 기동 제어부(135)를, 제1 프로세서(101)의 외부에 마련하도록 해도 된다. 제1 기동 제어부(135)를 제1 프로세서(101)의 외부에 마련하는 경우, 제1 기동 제어부(135)를 제2 프로세서(111)에 내장하도록 해도 된다. 그리고, 제1 기동 제어부(135)를 제2 프로세서(111)에 내장하는 경우는, 제2 불휘발성 메모리(112)에 기억되어 있는 프로그램을 제2 프로세서(111)로 실행함으로써, 제1 기동 제어부(135)의 기능을 실현하도록 해도 된다.
정보 처리 장치(10)는 제2 기동 제어부(145)를 구비하고 있다. 제2 기동 제어부(145)는 제2 프로세서(111)의 기동시의 동작을 제어한다. 제2 프로세서(111)의 기동시란, 구체적으로 예를 들면, 정보 처리 장치(10)의 전원 투입시, 또는, 제2 프로세서(111)의 리셋시 등이다. 제2 기동 제어부(145)는, 제2 프로세서(111)의 기동시에, 제2 프로세서(111)의 동작 모드를 설정한다.
또한, 제2 기동 제어부(145)는, 제2 프로세서(111)의 기동시에, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그를 참조한다. 그리고, 제2 기동 제어부(145)는, 제2 불휘발성 메모리(112)의 A면 및 B면에 기억된 제2 메인 프로그램 A 및 제2 메인 프로그램 B 중, 제2 기동 지정 플래그에 의해 지정된 쪽을 제2 프로세서(111)가 읽어내어 실행하도록 제어한다. 따라서, 제2 프로세서(111)는, 제2 불휘발성 메모리(112)의 A면 및 B면에 기억된 제2 메인 프로그램 중, 제2 기동 지정 플래그에 의해 지정된 쪽을 읽어내어 실행한다.
여기에서는, 제2 기동 제어부(145)는 제2 프로세서(111)에 내장되어 있는 것으로 한다. 또한, 제2 기동 제어부(145)를 전용의 회로로 실현해도 되고, 제2 불휘발성 메모리(112)에 기억되어 있는 프로그램을 제2 프로세서(111)로 실행함으로써, 제2 기동 제어부(145)의 기능을 실현하도록 해도 된다.
또는, 제2 기동 제어부(145)를, 제2 프로세서(111)의 외부에 마련하도록 해도 된다. 제2 기동 제어부(145)를 제2 프로세서(111)의 외부에 마련하는 경우, 제2 기동 제어부(145)를 제1 프로세서(101)에 내장하도록 해도 된다. 그리고, 제2 기동 제어부(145)를 제1 프로세서(101)에 내장하는 경우는, 제1 불휘발성 메모리(102)에 기억되어 있는 프로그램을 제1 프로세서(101)로 실행함으로써, 제2 기동 제어부(145)의 기능을 실현하도록 해도 된다.
정보 처리 장치(10)는 제1 프로그램 갱신부(131)를 구비하고 있다. 여기에서는, 제1 프로그램 갱신부(131)는 제1 프로세서(101)에 내장되어 있는 것으로 한다. 또한, 제1 프로그램 갱신부(131)를 전용의 회로로 실현해도 되고, 제1 불휘발성 메모리(102)에 기억되어 있는 프로그램을 제1 프로세서(101)로 실행함으로써, 제1 프로그램 갱신부(131)의 기능을 실현하도록 해도 된다.
또는, 제1 프로그램 갱신부(131)를, 제1 프로세서(101)의 외부에 마련하도록 해도 된다. 제1 프로그램 갱신부(131)를 제1 프로세서(101)의 외부에 마련하는 경우, 제1 프로그램 갱신부(131)를 제2 프로세서(111)에 내장하도록 해도 된다. 그리고, 제1 프로그램 갱신부(131)를 제2 프로세서(111)에 내장하는 경우는, 제2 불휘발성 메모리(112)에 기억되어 있는 프로그램을 제2 프로세서(111)로 실행함으로써, 제1 프로그램 갱신부(131)의 기능을 실현하도록 해도 된다.
제1 프로그램 갱신부(131)는 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램의 갱신을 행한다. 제1 메인 프로그램을 갱신하기 위한 제1 갱신용 메인 프로그램은, 여기에서는, 정보 처리 장치(10)의 외부로부터 취득한다.
정보 처리 장치(10)는, 통신 네트워크(12)를 통해서, 서버(15) 및 PC(16)(Personal Computer)와 통신 가능하게 접속되어 있다. 정보 처리 장치(10)는 네트워크 컨트롤러(104)를 구비하고 있다. 네트워크 컨트롤러(104)는 정보 처리 장치(10)가 통신 네트워크(12)를 통해서 외부와 통신하기 위해 필요한 처리를 행한다.
그리고, 예를 들면, 서버(15) 또는 PC(16)에 미리 제1 갱신용 메인 프로그램을 보존해 둔다. 제1 프로세서(101)는, 통신 네트워크(12)를 인터페이스로 하여, 서버(15) 또는 PC(16)에 보존되어 있는 제1 갱신용 메인 프로그램을 취득하여, 제1 휘발성 메모리(103)에 기억시킨다.
또한, 다른 예로서는, USB 메모리(109)를 이용하여 제1 갱신용 메인 프로그램을 취득하도록 해도 된다. USB란, Universal Serial Bus를 말한다. 이 경우에는, 정보 처리 장치(10)는 USB 컨트롤러(108)를 구비하고 있다. USB 컨트롤러(108)는 정보 처리 장치(10)가 USB를 통해서 외부와 통신하기 위해 필요한 처리를 행한다.
이 예의 경우에서는, USB 메모리(109)에 미리 제1 갱신용 메인 프로그램을 보존해 둔다. 다음으로, USB 메모리(109)를 도 1에 나타내는 USB 커넥터(110)에 접속한다. 그리고, 제1 프로세서(101)는, USB를 인터페이스로 하여, USB 메모리(109)에 보존되어 있는 제1 갱신용 메인 프로그램을 취득하여, 제1 휘발성 메모리(103)에 기억시킨다.
제1 프로그램 갱신부(131)는, 제1 휘발성 메모리(103)에 일단 기억시킨 제1 갱신용 메인 프로그램으로, 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램을 덮어쓰기 함으로써, 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램을 갱신한다. 이 메인 프로그램의 갱신시에, 제1 프로그램 갱신부(131)는, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그를 참조한다. 그리고, 제1 프로그램 갱신부(131)는, 제1 불휘발성 메모리(102)의 A면 및 B면에 기억된 제1 메인 프로그램 A 및 제1 메인 프로그램 B 중, 제1 기동 지정 플래그에 의해 지정되어 있지 않은 쪽을 갱신한다.
제1 프로그램 갱신부(131)는, 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램을 덮어쓰기 갱신한 후, 제1 프로세서(101)를 리셋한다.
정보 처리 장치(10)는 제2 프로그램 갱신부(141)를 구비하고 있다. 여기에서는, 제2 프로그램 갱신부(141)는 제2 프로세서(111)에 내장되어 있는 것으로 한다. 또한, 제2 프로그램 갱신부(141)를 전용의 회로로 실현해도 되고, 제2 불휘발성 메모리(112)에 기억되어 있는 프로그램을 제2 프로세서(111)로 실행함으로써, 제2 프로그램 갱신부(141)의 기능을 실현하도록 해도 된다.
또는, 제2 프로그램 갱신부(141)를, 제2 프로세서(111)의 외부에 마련하도록 해도 된다. 제2 프로그램 갱신부(141)를 제2 프로세서(111)의 외부에 마련하는 경우, 제2 프로그램 갱신부(141)를 제1 프로세서(101)에 내장하도록 해도 된다. 그리고, 제2 프로그램 갱신부(141)를 제1 프로세서(101)에 내장하는 경우는, 제1 불휘발성 메모리(102)에 기억되어 있는 프로그램을 제2 프로세서(111)로 실행함으로써, 제2 프로그램 갱신부(141)의 기능을 실현하도록 해도 된다.
제2 프로그램 갱신부(141)는 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램의 갱신을 행한다. 제2 메인 프로그램을 갱신하기 위한 제2 갱신용 메인 프로그램은, 여기에서는, 정보 처리 장치(10)의 외부로부터 취득한다.
이 정보 처리 장치(10)의 외부로부터 제2 갱신용 메인 프로그램을 취득하는 방법은, 제1 갱신용 메인 프로그램과 마찬가지로 통신 네트워크(12) 또는 USB 등을 통해서 외부의 기억 매체(서버(15), PC(16) 또는 USB 메모리(109))로부터의 복제에 의한다. 다만, 여기에서는 예를 들면, 제2 프로세서(111)가 직접적으로 통신 네트워크(12) 또는 USB를 통해서 외부와 통신하는 것이 아니라, 제1 프로세서(101)를 통해서 복제를 행한다.
즉, 예를 들면, 서버(15), PC(16) 또는 USB 메모리(109)에 미리 제2 갱신용 메인 프로그램을 보존해 둔다. 그리고, 우선, 제1 프로세서(101)가 통신 네트워크(12)를 인터페이스로 하여, 서버(15) 또는 PC(16)에 보존되어 있는 제2 갱신용 메인 프로그램을 취득하여, 제1 휘발성 메모리(103)에 기억시킨다. 혹은, 제1 프로세서(101)가 USB를 인터페이스로 하여, USB 메모리(109)에 보존되어 있는 제2 갱신용 메인 프로그램을 취득하여, 제1 휘발성 메모리(103)에 기억시킨다.
다음으로, 제1 프로세서(101)는, 제1 휘발성 메모리(103)에 일단 기억시킨 제2 갱신용 메인 프로그램을, 시리얼 통신선(121)을 통해서 제2 프로세서(111)로 송신한다. 제2 프로세서(111)는, 시리얼 통신선(121)을 통해서 수신한 제2 갱신용 메인 프로그램을, 제2 휘발성 메모리(113)에 기억시킨다.
제2 프로그램 갱신부(141)는, 제2 휘발성 메모리(113)에 일단 기억시킨 제2 갱신용 메인 프로그램으로, 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램을 덮어쓰기 함으로써, 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램을 갱신한다. 이 메인 프로그램의 갱신시에, 제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그를 참조한다. 그리고, 제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)의 A면 및 B면에 기억된 제2 메인 프로그램 A 및 제2 메인 프로그램 B 중, 제2 기동 지정 플래그에 의해 지정되어 있지 않은 쪽을 갱신한다.
제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램을 덮어쓰기 갱신한 후, 제2 프로세서(111)를 리셋한다.
이상과 같이 하여 메인 프로그램을 갱신하고, 프로세서를 리셋한 후의 동작에 대해서, 추가로 설명한다.
제1 기동 제어부(135)는, 제1 프로그램 갱신부(131)에 의해 제1 불휘발성 메모리(102)에 기억된 제1 메인 프로그램이 갱신된 후의 제1 프로세서(101)의 리셋시에, 제1 프로세서의 동작 모드를 갱신 확인 모드로 하여 제1 프로세서를 기동시킨다. 이때, 제1 기동 제어부(135)는, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그를, A면 및 B면 중, 제1 프로그램 갱신부(131)에 의해 제1 메인 프로그램이 갱신된 쪽의 기억면을 지정하는 것으로 세팅한다.
제1 프로세서(101)는, 갱신 확인 모드로 기동하면, 제1 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제1 감시 프로세스를 생성한다. 그리고, 제1 프로세서(101)는 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제1 감시 프로세스 기동 완료 신호를 제2 프로세서(111)로 출력한다.
그 후, 제1 프로세서(101)는 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그가 지정하는 기억면, 즉, 제1 메인 프로그램이 갱신된 쪽의 기억면에 기억되어 있는 제1 메인 프로그램을 읽어내어 실행한다.
제1 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하지 않았을 경우에는, 제1 감시 프로세스가 이 이상을 검지한다. 프로세스 이상을 검지한 제1 감시 프로세스는, 프로세스 이상이 발생된 취지를 미리 정해진 방법에 따라 알림한다. 구체적으로 예를 들면, 제1 프로세서(101)로부터 프로세스 이상이 발생된 취지의 신호를, 제2 프로세서(111)로 송신하거나 정보 처리 장치(10)의 외부로 송신하거나 한다.
또한, 정보 처리 장치(10)는 제1 타이머(134) 및 제2 타이머(144)를 구비하고 있다. 제2 프로세서(111)는 제1 메인 프로그램의 갱신 후에 제1 프로세서(101)를 리셋하고 나서의 경과 시간을 제2 타이머(144)에 의해 계측하고 있다. 그리고, 제2 프로세서(111)는, 제1 프로세서(101)의 리셋 후에 미리 설정된 일정 시간이 경과해도 제1 감시 프로세스 기동 완료 신호를 수신하지 않았을 경우에는, 제1 메인 프로그램의 갱신에 실패한 것을 검출하도록 되어 있다.
마찬가지로, 제2 기동 제어부(145)는, 제2 프로그램 갱신부(141)에 의해 제2 불휘발성 메모리(112)에 기억된 제2 메인 프로그램이 갱신된 후의 제2 프로세서(111)의 리셋시에, 제2 프로세서의 동작 모드를 갱신 확인 모드로 하여 제2 프로세서를 기동시킨다. 이때, 제2 기동 제어부(145)는, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그를, A면 및 B면 중, 제2 프로그램 갱신부(141)에 의해 제2 메인 프로그램이 갱신된 쪽의 기억면을 지정하는 것으로 세팅한다.
제2 프로세서(111)는, 갱신 확인 모드로 기동하면, 제2 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제2 감시 프로세스를 생성한다. 그리고, 제2 프로세서(111)는 제2 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제2 감시 프로세스 기동 완료 신호를 제2 프로세서(111)로 출력한다.
그 후, 제2 프로세서(111)는 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그가 지정하는 기억면, 즉, 제2 메인 프로그램이 갱신된 쪽의 기억면에 기억되어 있는 제2 메인 프로그램을 읽어내어 실행한다.
제2 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하지 않았을 경우에는, 제2 감시 프로세스가 이 이상을 검지한다. 프로세스 이상을 검지한 제2 감시 프로세스는, 프로세스 이상이 발생된 취지를 미리 정해진 방법에 따라 알림한다. 구체적으로 예를 들면, 제2 프로세서(111)로부터 프로세스 이상이 발생된 취지의 신호를, 제2 프로세서(111)로 송신하거나 정보 처리 장치(10)의 외부로 송신하거나 한다.
또한, 제1 프로세서(101)는 제2 메인 프로그램의 갱신 후에 제2 프로세서(111)를 리셋하고 나서의 경과 시간을 제1 타이머(134)에 의해 계측하고 있다. 그리고, 제1 프로세서(101)는, 제2 프로세서(111)의 리셋 후에 미리 설정된 일정 시간이 경과해도 제2 감시 프로세스 기동 완료 신호를 수신하지 않았을 경우에는, 제2 메인 프로그램의 갱신에 실패한 것을 검출하도록 되어 있다.
이상과 같이 구성된 정보 처리 장치(10)는, 제1 메인 프로그램을 기억하는 제1 메모리인 제1 불휘발성 메모리(102)와, 제1 메모리에 기억된 제1 메인 프로그램을 읽어내어 실행하는 제1 프로세서(101)와, 제1 메모리에 기억된 제1 메인 프로그램을 갱신하는 제1 프로그램 갱신부(131)와, 제1 프로그램 갱신부(131)에 의해 제1 메모리에 기억된 제1 메인 프로그램이 갱신된 후의 제1 프로세서(101)의 리셋시에, 갱신 확인 모드로 제1 프로세서(101)를 기동시키는 제1 기동 제어부(135)를 구비하고 있다. 그리고, 제1 프로세서(101)는, 갱신 확인 모드로 기동하면, 제1 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제1 감시 프로세스를 생성하여, 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제1 감시 프로세스 기동 완료 신호를 출력한다.
또한, 이상과 같이 구성된 정보 처리 장치(10)에 있어서의 프로그램 갱신 방법은, 메인 프로그램을 기억하는 메모리인 제1 불휘발성 메모리(102) 또는 제2 불휘발성 메모리(112)와, 메모리에 기억된 메인 프로그램을 읽어내어 실행하는 프로세서인 제1 프로세서(101) 또는 제2 프로세서(111)를 구비한 정보 처리 장치(10)의 메모리에 기억된 메인 프로그램을 갱신하는 프로그램 갱신 방법이다. 그리고, 메모리에 기억된 메인 프로그램을 갱신하는 제1 공정과, 제1 공정에 의해 메모리에 기억된 메인 프로그램이 갱신된 후의 프로세서의 리셋시에, 갱신 확인 모드로 프로세서를 기동시키는 제2 공정과, 갱신 확인 모드로 기동된 프로세서가, 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 감시 프로세스를 생성하여, 감시 프로세스의 생성이 정상으로 행해졌을 경우에 감시 프로세스 기동 완료 신호를 출력하는 제3 공정을 구비하고 있다.
이 때문에, 프로그램 갱신 후의 리셋시에 있어서는, 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 감시 프로세스의 생성이 정상으로 행해진 것을 확인할 뿐이기 때문에, 갱신한 프로그램 전체가 정상으로 갱신되어 있는지를 확인하는 경우와 비교해서, 확인에 걸리는 시간을 단축시킬 수 있다. 그리고, 감시 프로세스의 생성과 감시 결과의 송신 기능에 대해서는 정상인 것을 확인하고 있기 때문에, 이후의 프로그램의 실행에 있어서 이상이 발생된 경우에는, 감시 프로세스로부터의 이상 통보에 의해 이상 발생을 검지하여, 대처할 수 있다.
또한, 갱신 확인 모드는 갱신에 의해 고쳐 쓴 메인 프로그램이 올바르게 고쳐쓰기 되어 있는지를 확인하기 위한 모드이다. 그러나, 고쳐 쓴 프로그램을 그대로 통상 동작시켜 버리면, 예를 들면, 제1 프로세서(101)와 제2 프로세서(111)의 사이에서 협조하여 실행되는 협조 처리가 있었을 경우에, 한쪽 프로세서의 프로그램만 갱신되어 기능이 변화했기 때문에, 이 협조 처리가 올바르게 동작하지 않을 가능성이 있다. 한편, 양쪽 프로세서의 프로그램을 동시에 갱신해 버리면, 갱신에 실패했을 경우에 무엇이 원인인지를 해석하는 것이 곤란하게 된다.
그래서, 정보 처리 장치(10) 및 그 프로그램 갱신 방법에 있어서 상기의 구성을 구비함으로써, 프로그램의 고쳐쓰기 후에 갱신 확인 모드로 동작시키는 것에 의해서, 각 프로세스를 감시하는 프로세스의 생성과, 그 감시 결과를 다른 프로세서로 송신하는 처리까지는 정상으로 동작한다고 하는 최소한의 기능의 확인을 행할 수 있다.
또한, 제1 불휘발성 메모리(102) 및 제2 불휘발성 메모리(112)는, 각각이 A면 및 B면의 2개의 기억면을 가지고 있다. 그리고, A면 및 B면의 각각에 제1 메인 프로그램 또는 제2 메인 프로그램을 기억하고 있다.
이와 같은 구성에 의해, 2종류의 프로그램 중, 한쪽을 사용하여 실행하고 있을 때에는, 다른 한쪽의 프로그램을 고쳐쓰기하여 새로운 버전으로 갱신하는 것이 가능하다. 그리고, 프로그램 갱신 후에, 시스템을 재기동하여, 제1 불휘발성 메모리(102), 제2 불휘발성 메모리(112)에 기록되어 있는 새로운 버전의 프로그램을 실행함으로써 시스템 갱신하는 것이 가능하다. 또한, 이때, 만일 새로운 버전의 프로그램에 어떠한 결함이 있어서, 정상으로 기동할 수 없는 경우여도, 이번 갱신하지 않은 쪽의 프로그램을 사용하여 시스템을 재기동함으로써, 시스템을 복구시킬 수 있다.
또한, 제1 프로세서(101)는, 갱신 확인 모드로 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에, 제1 감시 프로세스 기동 완료 신호를 제2 프로세서(111)로 출력한다. 그리고, 제2 프로세서(111)는, 갱신 확인 모드로 제2 감시 프로세스의 생성이 정상으로 행해졌을 경우에, 제2 감시 프로세스 기동 완료 신호를 제1 프로세서(101)로 출력한다. 이 때문에, 프로그램의 갱신과 갱신이 정상으로 행해졌는지의 확인을 위해서 전용 하드웨어를 준비할 필요가 없다.
추가로, 이상과 같이 구성된 정보 처리 장치(10)를 구비한 엘리베이터 장치는, 엘리베이터의 엘리베이터 칸(500)의 내부에 마련되어, 당해 엘리베이터 칸(500)의 내부를 촬영하여 아날로그 화상 신호를 정보 처리 장치(10)로 출력하는 엘리베이터 칸 내 카메라(114)와, 엘리베이터 칸(500)의 내부에 마련되어, 정보 처리 장치(10)로부터의 디지털 화상 신호의 입력을 받아서 화상을 표시하는 모니터(106)를 구비하고 있다. 그리고, 정보 처리 장치(10)의 제1 프로세서(101)에 의해, 정보 처리 장치(10)로부터 모니터(106)에 출력하는 디지털 화상 신호를 처리하고, 정보 처리 장치(10)의 제2 프로세서(111)에 의해, 엘리베이터 칸 내 카메라(114)로부터 정보 처리 장치(10)에 입력된 아날로그 화상 신호를 처리한다.
근래, 디지털 영상 기술, 영상 압축 기술, 영상 데이터 축적 기술 및 데이터 전송 기술 등이 진전하여, 그들 기술을 응용하여 구성하는 디지털 영상 표시기, 감시 리코더 시스템 및 TV 전화 시스템도 급속히 발전하고 있다. 디지털 영상 표시기 및 감시 리코더 시스템은, 빌딩 및 역 등의 다양한 공공 시설에 설치되어, 여러 가지 정보의 제공과, 만일의 경우에 대비한 감시를 행한다. TV 전화 시스템은, 예를 들면, 엘리베이터 내에 이용자가 갇혔을 때에, 감시 센터의 담당자와 영상을 통해 대화함으로써 안도감을 줄 수 있는 것과 함께, 엘리베이터 내의 상황을 감시 센터의 담당자가 확인할 수 있다. 특히, 엘리베이터 내는, 닫혀진 공간이기 때문에, TV 전화 시스템에 더하여, 엘리베이터의 이용자에게 정보를 제공하는 디지털 영상 표시기와, 이용자의 감시를 행하는 감시 리코더 시스템이 동시에 요구되는 일이 있다.
이들 디지털 영상 표시기나, 감시 리코더, TV 전화 시스템을 실현하는 경우, 범용 프로세서에 의해, 디지털 영상 처리 및 영상 압축 처리에 상당하는 프로그램을 실행하여 실현하는 방법이 있다. 그러나, 영상의 고해상도화, 영상 데이터의 고압축화가 진행되고 있고, 이들 처리를 범용 프로세서로 실행함으로써, 범용 프로세서의 온도 상승이 문제가 되는 일이 있다. 범용 프로세서의 온도 상승은, 열 폭주에 의한 동작 결함이 되는 일이 있기 때문에, 팬 등의 냉각 장치에 의해서 온도를 낮출 필요가 있다. 그러나, 팬이 고장났을 경우에는 범용 프로세서가 열 폭주해 버리기 때문에, 정기적인 메인터넌스가 필수로 되고, 그 때문에 코스트가 증가해 버린다.
그래서, 전술한 바와 같은 정보 처리 장치(10)를 구비한 엘리베이터 장치에 의하면, 모니터(106)에 출력하는 디지털 화상 신호 처리와, 엘리베이터 칸 내 카메라(114)로부터 입력된 아날로그 화상 신호 처리를, 각각 전용의 프로세서로 행할 수 있다. 또한, 복수의 전용 프로세서 각각의 프로그램 갱신 후의 확인 처리에 필요한 시간을 단축시키는 것이 가능하다.
또한, 도 2에는 통신 네트워크(12)에 접속된 감시 카메라(11)를 도시하고 있다. 이 감시 카메라(11)는 촬영한 영상을 예를 들면 MPEG 형식으로 압축한 압축 영상 데이터로 하여 정보 처리 장치(10)로 송신한다. 제1 프로세서(101)는 정보 처리 장치(10)가 수신한 감시 카메라(11)로부터의 압축 영상 데이터를 압축 해제하여 모니터(106)에 표시시킨다. 또한, 제1 프로세서(101)는 정보 처리 장치(10)가 수신한 감시 카메라(11)로부터의 압축 영상 데이터를 HDD(105)(하드디스크 드라이브)에 보존한다. 그리고, 제1 프로세서(101)는 HDD(105)에 보존되어 있는 압축 영상 데이터를 읽어내어 압축 해제하고, 모니터(106)에 표시시킬 수도 있다.
다음으로, 이상과 같이 구성된 정보 처리 장치(10)에 있어서의 기동 처리의 흐름 및 프로그램 갱신 처리의 흐름에 대해서, 각종 플래그 제어 및 각종 신호의 교환도 포함하여, 더 자세하게 설명한다. 지금까지의 설명에 있어서, 제1 기동 지정 플래그 및 제2 기동 지정 플래그를 이용한 처리에 대해 이미 설명하고 있다. 이후에서는, 추가로, 제1 기동 확인 플래그 및 제2 기동 확인 플래그와, 제1 갱신 플래그 및 제2 갱신 플래그를 이용한 처리에 대해서도 설명한다.
제1 기동 확인 플래그 및 제1 갱신 플래그는, 제1 불휘발성 메모리(102)에 기억되어 있다. 제2 기동 확인 플래그 및 제2 갱신 플래그는, 제2 불휘발성 메모리(112)에 기억되어 있다.
제1 기동 확인 플래그는 제1 메인 프로그램이 올바르게 기동된 것이 확인되어 있는지 여부를 나타내는 플래그이다. 여기에서는, 제1 기동 확인 플래그는 제1 메인 프로그램 A 및 제1 메인 프로그램 B의 각각에 대해 존재한다. 제2 기동 확인 플래그는 제2 메인 프로그램이 올바르게 기동된 것이 확인되고 있는지 여부를 나타내는 플래그이다. 제2 기동 확인 플래그는 제2 메인 프로그램 A 및 제2 메인 프로그램 B의 각각에 대해 존재한다.
여기에서, 기동 확인 플래그가 무효라는 것은, 메인 프로그램의 기동을 시도했는데, 기동 확인의 판단을 행하는 처리가 실행되지 않았기 때문에 기동의 확인을 할 수 없다고 하는 것이다. 즉, 메인 프로그램의 갱신이 어떠한 원인으로 실패했다고 판단할 수 있다. 또한, 불휘발성 메모리의 물리적인 고장에 의해, 메인 프로그램의 일부를 올바르게 읽어낼 수 없거나, 또는, 메인 프로그램의 일부가 변화되어 버린 등의 문제가 발생된 경우에도, 기동 확인 플래그는 무효로 되는 일이 있다.
제1 갱신 플래그는, 제1 프로그램 갱신부(131)에 의해, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 메인 프로그램이 제1 갱신용 메인 프로그램으로 덮어쓰기 되었는지 여부를 나타내는 것이다. 제2 갱신 플래그는, 제2 프로그램 갱신부(141)에 의해, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 메인 프로그램이 제2 갱신용 메인 프로그램으로 덮어쓰기 되었는지 여부를 나타내는 것이다.
또한, 이후의 설명에 있어서는, 제1 프로세서(101)와 제2 프로세서(111)의 사이에서 교환되는 신호로서, 도 2에 나타내는 제1 리셋 제어 신호 및 제2 리셋 제어 신호, 제1 갱신 확인 플래그 신호 및 제2 갱신 확인 플래그 신호와, 기동 반전 플래그 신호가 있다.
제1 리셋 제어 신호 및 제2 리셋 제어 신호와, 제1 갱신 확인 플래그 신호 및 제2 갱신 확인 플래그 신호는, 시리얼 통신선(121)을 통해서 교환된다. 제1 리셋 제어 신호는 제1 프로세서(101)로부터 제2 프로세서(111)를 리셋하기 위한 신호이다. 제2 리셋 제어 신호는 제2 프로세서(111)로부터 제1 프로세서(101)를 리셋하기 위한 신호이다.
제1 갱신 확인 플래그 신호는, 제1 프로세서(101)가, 제2 프로세서(111)에 갱신 확인 모드로 기동하도록 지시하기 위한 신호이다. 제2 갱신 확인 플래그 신호는, 제2 프로세서(111)가, 제1 프로세서(101)에 갱신 확인 모드로 기동하도록 지시하기 위한 신호이다.
기동 반전 플래그 신호는 오픈 드레인(open drain) 구성으로 되어 있다. 기동 반전 플래그 신호는, 전원 전압(VDD)에, 저항을 통해서 풀업(pull up) 되어 있다. 기동 반전 플래그 신호는, 통상에 있어서는, 제1 프로세서(101) 및 제2 프로세서(111) 양방에 입력된 상태에 있다. 즉, 제1 프로세서(101) 및 제2 프로세서(111)는, 통상시에 있어서는, 전원 전압과 같은 전압(하이 레벨)을 검출하고 있다.
제1 프로세서(101)에 있어서, 제1 불휘발성 메모리(102)에 보존되어 있는 제1 메인 프로그램 A 및 제1 메인 프로그램 B 중, 제1 기동 지정 플래그로 지정된 메인 프로그램으로 기동할 수 없었을 경우에, 제1 프로세서(101)는, 기동 반전 플래그 신호를 그라운드 레벨(로우 레벨)로 드라이브 한다.
제2 프로세서(111)는, 기동 반전 플래그 신호가 로우 레벨이 된 것을 검출했을 경우에, 제1 프로세서(101)가 제1 기동 지정 플래그로 지정된 메인 프로그램으로는 기동할 수 없는 것을 검지할 수 있다. 그리고, 이 경우에는, 제1 프로세서(101)는 제1 기동 지정 플래그로 지정되어 있지 않은 쪽의 메인 프로그램에 의해 기동된다. 따라서, 제2 프로세서(111)는 제1 프로세서(101)가 제1 기동 지정 플래그로 지정되어 있지 않은 쪽의 메인 프로그램으로 기동되어 있는 것을 인식할 수 있다.
마찬가지로, 제2 프로세서(111)에 있어서, 제2 불휘발성 메모리(112)에 보존되어 있는 제2 메인 프로그램 A 및 제2 메인 프로그램 B 중, 제2 기동 지정 플래그로 지정된 메인 프로그램으로 기동할 수 없었을 경우에, 제2 프로세서(111)는 기동 반전 플래그 신호를 그라운드 레벨(로우 레벨)로 드라이브 한다.
제1 프로세서(101)는, 기동 반전 플래그 신호가 로우 레벨이 된 것을 검출했을 경우에, 제2 프로세서(111)가 제2 기동 지정 플래그로 지정된 메인 프로그램으로는 기동할 수 없는 것을 검지할 수 있다. 그리고, 이 경우에는, 제2 프로세서(111)는 제2 기동 지정 플래그로 지정되어 있지 않은 쪽의 메인 프로그램에 의해 기동된다. 따라서, 제1 프로세서(101)는 제2 프로세서(111)가 제2 기동 지정 플래그로 지정되어 있지 않은 쪽의 메인 프로그램으로 기동되어 있는 것을 인식할 수 있다.
이상과 같은 각 플래그 및 각 신호의 기능을 전제로 하여, 우선, 도 3 및 도 4를 참조하면서, 정보 처리 장치(10)의 기동 처리의 흐름에 대해 설명한다. 스텝 S200에서 정보 처리 장치(10)의 전원이 투입되면, 제1 프로세서(101) 및 제2 프로세서(111)는, 전원이 투입되고 나서 규정 시간이 경과한 후에 하드웨어로 구성된 리셋 회로에 의해 리셋 해제된다(스텝 S201 및 S301).
우선, 제1 프로세서(101)에서의 처리의 흐름을 설명한다. 제1 프로세서(101)는, 제1 불휘발성 메모리(102)로부터 기동 프로그램을 읽어내어 실행함으로써, 제1 기동 제어부(135)의 기능을 실현한다. 즉, 제1 기동 제어부(135)에 의한 처리라고 하는 것은, 기동 프로그램을 실행하고 있는 제1 프로세서(101)에 의한 처리와 같은 것을 의미하고 있다.
스텝 S201 후에는 스텝 S202로 진행된다. 스텝 S202에 있어서는, 제1 기동 제어부(135)는 제1 프로세서(101)의 초기화 처리를 행한다. 제1 프로세서(101)의 초기화 처리는, 구체적으로 예를 들면, 제1 프로세서(101)의 동작에 필요한 클록 설정, 캐시 설정, 제1 불휘발성 메모리(102)의 액세스 파라미터의 설정, 제1 휘발성 메모리(103)의 초기화, 시리얼 통신선(121)을 통한 통신에 필요한 컨트롤러의 설정, 및, 제1 프로세서(101)의 입출력 포트의 설정 등을 포함한다.
이어지는 스텝 S203에 있어서, 제1 기동 제어부(135)는, 제1 불휘발성 메모리(102)에 보존되어 있는 제1 갱신 플래그를 참조하여, 제1 프로그램 갱신부(131)에 의해 제1 메인 프로그램이 갱신되었는지 여부를 확인한다. 스텝 S203에 있어서, 제1 갱신 플래그가 무효로서, 제1 메인 프로그램이 갱신되어 있지 않은 경우, 스텝 S204로 진행된다. 한편, 제1 갱신 플래그가 유효로서, 제1 메인 프로그램이 갱신된 직후인 경우, 스텝 S205로 진행된다.
스텝 S204에 있어서는, 제1 기동 제어부(135)는 제1 기동 지정 플래그로 지정된 제1 메인 프로그램의 제1 기동 확인 플래그가 유효인지 여부를 확인한다.
여기에서, 도 5를 참조하면서 제1 기동 확인 플래그의 구체적인 상태에 대해 설명한다. 전술한 바와 같이, 제1 기동 확인 플래그는 제1 메인 프로그램이 올바르게 기동된 것이 확인되어 있는지 여부를 나타내는 플래그이다. 이 때문에, 도 5의 (a)에 나타내는 정상 상태에서는, 제1 메인 프로그램 A에 대한 기동 확인 플래그 및 제1 메인 프로그램 B에 대한 기동 확인 플래그 둘 다 유효이다.
또한, 제1 프로그램 갱신부(131)에 의해 제1 메인 프로그램 A를 갱신한 직후에서는, 제1 메인 프로그램 A가 올바르게 기동된 것이 확인되어 있지 않다. 이 때문에, 도 5의 (b)에 나타내는 바와 같이, 제1 메인 프로그램 A에 대한 기동 확인 플래그는 무효이며, 제1 메인 프로그램 B에 대한 기동 확인 플래그는 유효이다.
그리고, 제1 프로그램 갱신부(131)에 의해 제1 메인 프로그램 B를 갱신한 직후에는, 제1 메인 프로그램 B가 올바르게 기동된 것이 확인되어 있지 않다. 이 때문에, 도 5의 (c)에 나타내는 바와 같이, 제1 메인 프로그램 A에 대한 기동 확인 플래그는 유효이고, 제1 메인 프로그램 B에 대한 기동 확인 플래그는 무효이다.
또한, 제1 메인 프로그램 A에 대한 기동 확인 플래그 및 제1 메인 프로그램 B에 대한 기동 확인 플래그 둘 다 무효로 되는 상태는 원칙으로서 발생하지 않는다. 다만, 만일 그와 같은 상태가 발생된 경우에는, 올바르게 기동하는 제1 메인 프로그램이 없다고 하는 것이 되므로, 고장을 검출한다.
도 3으로 돌아와서 설명을 계속한다. 스텝 S204에 있어서, 제1 기동 지정 플래그로 지정된 메인 프로그램의 기동 확인 플래그가 유효인 경우, 스텝 S205로 진행된다. 한편, 제1 기동 지정 플래그로 지정된 메인 프로그램의 기동 확인 플래그가 무효인 경우, 스텝 S206으로 진행된다.
스텝 S205에 있어서는, 제1 기동 제어부(135)는, 기동 반전 플래그 신호가 하이 레벨인지 여부를 확인한다. 기동 반전 플래그 신호가 하이 레벨이면, 제2 프로세서(111)가 제2 기동 지정 플래그로 지정되는 제2 메인 프로그램을 실행해도 문제 없다고 판단할 수 있다. 이 경우에는, 스텝 S205로부터 스텝 S207로 진행된다. 한편, 기동 반전 플래그 신호가 로우 레벨인 경우, 제2 프로세서(111)가 제2 기동 지정 플래그로 지정되는 제2 메인 프로그램을 실행하는 것에 문제가 있다고 판단할 수 있다. 이 경우에는, 스텝 S205로부터 스텝 S209로 진행된다.
스텝 S206에 있어서는, 제1 기동 제어부(135)는, 기동 반전 플래그 신호를 로우 레벨로 설정한다.
스텝 S207에서는, 제1 기동 제어부(135)는 제2 프로세서(111)로부터 송신되는 제2 갱신 확인 플래그 신호가 무효인지 여부를 확인한다. 제2 갱신 확인 플래그 신호가 무효인 경우, 스텝 S208로 진행된다. 한편, 제2 갱신 확인 플래그 신호가 유효인 경우, 제2 프로세서(111)가 제1 프로세서(101)에 갱신 확인 모드로의 기동을 지시하고 있는 것을 나타내고 있다. 이 경우에는, 스텝 S209로 진행된다.
스텝 S208에 있어서는, 제1 기동 제어부(135)는, 제1 기동 지정 플래그에 의해 지정된 제1 메인 프로그램을 선택한다. 스텝 S208 후에는 스텝 S210으로 진행된다.
스텝 S209에 있어서는, 제1 기동 제어부(135)는, 제1 기동 지정 플래그에 의해 지정되어 있지 않은 쪽의 제1 메인 프로그램을 선택한다. 스텝 S209 후에는 스텝 S210으로 진행된다.
스텝 S210에 있어서는, 제1 기동 제어부(135)는, 스텝 S208 또는 스텝 S209에서 선택된 메인 프로그램이, 제1 메인 프로그램 A 및 제1 메인 프로그램 B 중 어느 것인지의 결과를, 제1 휘발성 메모리(103)에 기억시킨다. 스텝 S210 후에는 도 3 중의 「C」에 이른다. 그리고, 도 4 중의 「C」로부터 스텝 S211로 진행된다.
스텝 S211에 있어서는, 제1 기동 제어부(135)는, 제2 갱신 확인 플래그 신호가 무효인지 여부를 확인한다. 제2 갱신 확인 플래그 신호가 무효인 경우에는, 스텝 S212로 진행된다. 스텝 S212에 있어서는, 제1 기동 제어부(135)는 제1 갱신 플래그를 무효로 설정하고, 스텝 S213으로 진행된다. 스텝 S213에 있어서는, 제1 프로세서(101)는, 갱신 확인 모드를 무효로 한 상태로, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 쪽의 제1 메인 프로그램의 실행을 개시한다.
한편, 스텝 S211에서 제2 갱신 확인 플래그 신호가 유효인 경우에는, 스텝 S214로 진행된다. 스텝 S214에 있어서는, 제1 프로세서(101)는, 갱신 확인 모드를 유효로 한 상태로, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 쪽의 제1 메인 프로그램의 실행을 개시한다.
스텝 S215에 있어서는, 제1 프로세서(101)는, 갱신 확인 모드가 무효인 상태로 제1 메인 프로그램을 동작시키고 있다. 이어지는 스텝 S216에 있어서는, 제1 프로세서(101)는 기동 완료 통지를 제2 프로세서(111)와 교환한다(290으로 나타내는 점선은, 이 교환을 나타내고 있다).
스텝 S216에서 기동 완료 통지를 송신한 후에는, 제1 메인 프로그램이 정상으로 기동되었다고 판단할 수 있다. 이 때문에, 스텝 S216 후에는 스텝 S217로 진행되어, 제1 프로세서(101)는, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 쪽의 제1 메인 프로그램에 대한 제1 기동 확인 플래그를 유효로 설정한다. 스텝 S217 후에는 스텝 S218로 진행된다.
스텝 S218에 있어서는, 제1 프로세서(101)는, 제1 기동 지정 플래그가 지정하는 제1 메인 프로그램과, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 쪽의 제1 메인 프로그램(선택 결과)이 같은지 여부를 확인한다. 제1 기동 지정 플래그가 지정하는 제1 메인 프로그램과, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 쪽의 제1 메인 프로그램이 같은 경우에는 스텝 S219로 진행된다.
스텝 S219에 있어서는, 제1 프로세서(101)는, 제1 메인 프로그램을 실행하여, 제1 메인 프로그램에 기초하는 통상 동작을 행한다. 제1 메인 프로그램의 통상 동작시에 있어서는, 제1 메인 프로그램에 탑재되어 있는 모든 기능이 동작하게 된다. 이 때문에, 제1 프로세서(101)와 제2 프로세서(111)는, 계속적으로 서로 교환을 행한다(291로 나타내는 점선은, 이 교환을 나타내고 있다).
한편, 스텝 S218에서, 제1 기동 지정 플래그가 지정하는 제1 메인 프로그램과, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 제1 메인 프로그램이 같지 않은 경우에는 스텝 S220으로 진행된다.
스텝 S220에 있어서는, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그를, 스텝 S210에서 제1 휘발성 메모리(103)에 기억된 제1 메인 프로그램을 지령하는 것으로 변경한다. 또한, 제1 기동 지정 플래그를 변경한 것을 로그(log)로서 기록한다. 이 로그의 기록은, 제1 불휘발성 메모리(102), HDD(105) 및 통신 네트워크(12)를 통해서 접속된 서버(15) 및 PC(16)의 기억장치 등에 대해서 행한다. 스텝 S220 후에는 스텝 S219로 진행된다.
한편, 스텝 S214 후에는 스텝 S221로 진행된다. 스텝 S221에 있어서는, 제1 프로세서(101)는, 갱신 확인 모드가 유효인 상태로 제1 메인 프로그램을 동작시키고 있다. 그리고, 갱신 확인 모드로의 동작에 문제가 없으면, 다음 번의 재기동시에, 제1 메인 프로그램의 모든 기능의 동작 확인을 하기 위해서, 제1 프로세서(101)는 제1 기동 확인 플래그를 무효로 변경한다. 이 스텝 S221의 처리에 대해서는, 후술 하는 프로그램 갱신 처리의 설명에 있어서 상세하게 기재한다.
제2 프로세서(111)에서의 처리의 흐름은, 제1 프로세서(101)의 경우와 마찬가지이다. 즉, 제2 프로세서(111)에 대해 실시되는 스텝 S301부터 S321은, 제1 프로세서(101)에 대해 실시되는 스텝 S201부터 S221의 각각과 마찬가지이다. 보다 정확하게는, 스텝 S201부터 S221에 대해 이상에서 설명한 내용에 있어서, 제1 프로세서(101)에 관련되는 사항을 제2 프로세서(111)에 관련되는 대응 사항으로 바꿔 읽고, 제2 프로세서(111)에 관련되는 사항을 제1 프로세서(101)에 관련되는 대응 사항으로 바꿔 읽으면, 스텝 S301부터 S321의 내용이 된다. 이 때문에, 제2 프로세서(111)에 대해 실시되는 스텝 S301부터 S321에 대해서는, 그 상세한 설명은 생략한다.
또한, 도 6에 나타내는 것은, 제2 기동 확인 플래그의 구체적인 상태이다. 이 도 6은 제1 기동 확인 플래그에 대해 나타낸 도 5에 대응하고 있다. 즉, 도 6의 (a)에 나타내는 정상 상태에서는, 제2 메인 프로그램 A에 대한 기동 확인 플래그 및 제2 메인 프로그램 B에 대한 기동 확인 플래그 둘 다 유효이다. 또한, 제2 프로그램 갱신부(141)에 의해 제2 메인 프로그램 A를 갱신한 직후에는, 도 6의 (b)에 나타내는 바와 같이, 제2 메인 프로그램 A에 대한 기동 확인 플래그는 무효이며, 제2 메인 프로그램 B에 대한 기동 확인 플래그는 유효이다. 그리고, 제2 프로그램 갱신부(141)에 의해 제2 메인 프로그램 B를 갱신한 직후에는, 도 6의 (c)에 나타내는 바와 같이, 제2 메인 프로그램 A에 대한 기동 확인 플래그는 유효이고, 제2 메인 프로그램 B에 대한 기동 확인 플래그는 무효이다.
다음으로, 도 7 내지 도 10을 참조하면서, 정보 처리 장치(10)의 프로그램 갱신 처리의 흐름에 대해 설명한다. 도 7에 나타내는 스텝 S219는, 도 4에 있어서의 스텝 S219와 같다. 이 스텝 S219는, 제1 프로세서(101)가 제1 메인 프로그램을 실행하여 통상 동작을 하고 있는 상태를 나타내고 있다. 마찬가지로, 도 7에 나타내는 스텝 S319는, 도 4에 있어서의 스텝 S319와 같다. 이 스텝 S319는, 제2 프로세서(111)가 제2 메인 프로그램을 실행하여 통상 동작을 하고 있는 상태를 나타내고 있다.
이 상태에 있어서, 스텝 S251에서, 제1 프로세서(101)에 프로그램 갱신 이벤트가 입력된 것으로 한다. 이 프로그램 갱신 이벤트는, 예를 들면, 서버(15) 또는 PC(16)로부터 통신 네트워크(12)를 통해서 입력되어도 되고, 유저에 의한 커맨드 입력으로도 된다.
스텝 S251에서 프로그램 갱신 이벤트가 입력되면, 제1 프로그램 갱신부(131)는, 스텝 S252에서, 제1 갱신용 메인 프로그램 1 및 제2 갱신용 메인 프로그램 2를, 예를 들면 서버(15)로부터 통신 네트워크(12) 및 네트워크 컨트롤러(104)를 통해서 취득하여, 취득한 제1 갱신용 메인 프로그램 1 및 제2 갱신용 메인 프로그램 2를 제1 휘발성 메모리(103)에 보존한다.
이어지는 스텝 S253에서, 제1 프로그램 갱신부(131)는, 제1 휘발성 메모리(103)에 보존되어 있는 제2 갱신용 메인 프로그램을, 제2 프로세서(111)로 송신한다. 이 송신시에는, 시리얼 통신선(121)이 이용된다. 이 송신을, 점선 253으로 나타낸다.
제2 프로세서(111)에서는, 스텝 S351에서, 제2 갱신용 메인 프로그램을 제1 프로세서(101)로부터 시리얼 통신선(121)을 통해서 수신한다. 그리고, 제2 프로세서(111)는 수신한 제2 갱신용 메인 프로그램을 제2 휘발성 메모리(113)에 보존한다.
스텝 S253 및 S351의 처리가 완료된 시점에서, 제1 프로세서(101)에 접속된 제1 휘발성 메모리(103)에는, 제1 갱신용 메인 프로그램이 보존되어 있다. 또한, 제2 프로세서(111)에 접속된 제2 휘발성 메모리(113)에는, 제2 갱신용 프로그램이 보존되어 있다.
다음으로, 스텝 S254에서, 제1 프로그램 갱신부(131)는, 제2 프로세서(111)에 대해서, 갱신 프로그램의 실행 지시를 행한다. 여기에서 말하는, 「갱신 프로그램」이란, 제2 프로그램 갱신부(141)에 의한 제2 메인 프로그램의 갱신을 가리킨다. 이 실행 지시를, 점선 254로 나타낸다. 제2 프로세서(111)는, 갱신 프로그램 실행 지시를 받고, 스텝 S352에서, 갱신 프로그램을 실행한다. 즉, 제2 프로그램 갱신부(141)에 의한 제2 메인 프로그램의 갱신을 실행한다.
이 스텝 S352에 있어서는, 제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)에 보존되어 있는 제2 기동 지정 플래그를 참조하여, 제2 메인 프로그램 A 및 제2 메인 프로그램 B 중 제2 기동 지정 플래그가 지정하고 있지 않은 쪽의 제2 메인 프로그램에, 제2 휘발성 메모리(113)에 보존되어 있는 제2 갱신용 메인 프로그램을 덮어쓰기 한다. 그리고, 스텝 S353으로 진행되어, 제2 갱신용 메인 프로그램이 기입된 것을 기록하기 위해서, 제2 갱신 플래그를 유효로 한다. 또한, 제2 프로그램 갱신부(141)는 갱신이 완료된 것을 제1 프로세서(101)에 통지한다. 이 통지를, 점선 255로 나타낸다.
제1 프로세서(101)의 제1 프로그램 갱신부(131)에서는, 스텝 S254에서, 갱신 프로그램 실행 지시를 한 후, 스텝 S255에서, 갱신 프로그램의 실행이 완료되었는지를 확인한다. 완료되어 있지 않으면 스텝 S256으로 진행된다.
스텝 S256에서는, 제1 프로그램 갱신부(131)는, 제2 프로세서(111)의 갱신 프로그램 실행으로, 즉, 제2 프로그램 갱신부(141)에 의한 제2 메인 프로그램 갱신 처리로 에러가 발생되었는지 여부를 확인한다. 이 에러의 발생은, 만약 있다면, 제2 프로세서(111)의 스텝 S352의 처리에서 통지된다. 에러가 발생된 경우, 스텝 S257로 진행되어, 로그를 기록한 후에 종료한다. 한편, 스텝 S256에서 에러가 발생되지 않은 경우에는, 스텝 S255로 돌아와서 제2 프로세서(111)에서의 갱신 프로그램 완료를 기다린다.
스텝 S255에서 갱신 프로그램의 실행이 완료되었을 경우, 스텝 S258로 진행된다. 스텝 S258에서는, 제2 프로세서(111)로 갱신한 프로그램이 올바르게 기입되어 있는지 갱신 확인 모드로 확인하기 위해서, 제1 프로그램 갱신부(131)는, 제1 갱신 확인 플래그 신호를 유효로 설정한다. 이어지는 스텝 S259에서, 제1 프로그램 갱신부(131)는, 제1 리셋 제어 신호를 제2 프로세서(111)로 송신하여, 제2 프로세서(111)를 리셋한다. 이때의 리셋 처리를, 점선 259로 나타낸다.
스텝 S259 후에는, 스텝 S260으로 진행된다. 스텝 S260에서는, 제1 프로그램 갱신부(131)는, 제1 타이머(134)에 미리 정해진 양(+)의 초기값을 세팅한다. 그리고, 제1 프로그램 갱신부(131)는 제1 타이머(134)에 의한 초기값으로부터의 감산을 개시시킨다.
한편, 스텝 S353 후, 제2 프로세서(111)는, 제1 프로세서(101)로부터의 제1 리셋 제어 신호에 의해서 리셋이 실행되어, 도 3의 「B」로부터 처리가 개시된다. 이 리셋 후의 제2 프로세서(111)의 처리에 대해서, 도 3 및 도 4를 참조하면서 설명한다.
리셋 후의 제2 프로세서(111)에서는, 스텝 S302에서 초기화 처리가 실행된 후, 스텝 S303에서 제2 갱신 플래그를 확인한다. 도 7의 스텝 S353에서 제2 갱신 플래그가 유효로 설정되어 있기 때문에, 스텝 S305로 진행된다. 스텝 S305에서는, 기동 반전 플래그 신호는 하이 레벨 그대로이기 때문에, 스텝 S307로 진행된다.
스텝 S307에서는, 제1 갱신 확인 플래그 신호를 확인한다. 도 7의 스텝 S258에서 제1 갱신 확인 플래그 신호는 유효로 설정되어 있기 때문에, 스텝 S309로 진행된다. 스텝 S309에서는, 제2 기동 지령 플래그가 지정하지 않은 쪽의 제2 메인 프로그램을 선택한다. 즉, 도 7의 스텝 S352에서 제2 갱신용 메인 프로그램으로 덮어쓰기 된 쪽을 선택하게 된다.
이어지는 스텝 S310에서, 스텝 S309에서의 선택 결과를 제2 휘발성 메모리(113)에 보존한다. 스텝 S311로 진행되어, 제1 갱신 확인 플래그 신호를 확인한다. 스텝 S307때와 마찬가지로, 제1 갱신 확인 플래그 신호는 유효로 설정되어 있기 때문에, 스텝 S314로 진행된다. 스텝 S314에서는, 갱신 확인 모드 유효로 제2 메인 프로그램을 기동한다. 그리고, 스텝 S321에서, 갱신 확인 모드로의 제2 메인 프로그램의 기동을 완료하고, 스텝 S309에서 선택된 쪽의 제2 기동 확인 플래그를 무효로 설정한다.
도 8에 나타내는 스텝 S321은, 이 도 4의 스텝 S321에 대응하고 있다. 스텝 S321에서 갱신 확인 모드로의 제2 메인 프로그램의 기동을 완료하면, 제2 프로세서(111)로부터 제1 프로세서(101)에 시리얼 통신선(121)을 통해서 제2 감시 프로세스 기동 완료 신호가 송신된다(점선 261).
제1 프로그램 갱신부(131)는, 스텝 S261에서, 제2 프로세서(111)로부터의 제2 감시 프로세스 기동 완료 신호를 수신했는지 여부를 확인한다. 제2 감시 프로세스 기동 완료 신호를 수신하고 있지 않은 경우, 스텝 S262로 진행된다. 스텝 S262에 있어서는, 제1 프로그램 갱신부(131)는, 스텝 S260에서 개시한 제1 타이머(134)가 0으로 되었는지 여부를 확인한다. 제1 타이머(134)가 0으로 되어 있지 않으면, 스텝 S261로 돌아온다.
한편, 제1 타이머(134)가 0으로 되면, 스텝 S263으로 진행된다. 스텝 S263에 있어서는, 스텝 S321에서의 갱신 확인 모드에 의한 제2 메인 프로그램의 기동에 어떠한 문제가 있어, 프로그램 갱신이 실패했다고 판단할 수 있다. 그러면, 제1 프로그램 갱신부(131)는, 로그를 기록한다.
이어지는 스텝 S264에서, 제1 프로그램 갱신부(131)는, 제1 갱신 확인 플래그 신호를 무효로 설정한다. 그리고, 스텝 S265로 진행되어, 제1 프로그램 갱신부(131)는, 제1 리셋 제어 신호를 제2 프로세서(111)로 송신하여 제2 프로세서(111)를 리셋한다. 이어지는 스텝 S266에서, 제1 프로그램 갱신부(131)는, 제1 프로세서(101)를 리셋한다. 이것에 의해, 제1 프로세서(101) 및 제2 프로세서(111)는, 각각이 도 3에 있어서의 「A」 및 「B」로부터 기동 처리를 개시한다.
이때, 도 7의 스텝 S353에서 제2 갱신 플래그는 무효였던 것이 유효로 변경되어 있지만, 그것 이외의 플래그에 대해서는, 제1 프로그램 갱신부(131)가 처리를 실행하기 전과 같다. 이 때문에, 도 3 및 도 4의 제2 프로세서(111)의 처리를 실행해 나가면 스텝 S312에서 갱신 플래그가 무효로 되므로, 제1 프로그램 갱신부(131)가 처리를 실행하기 전과 같은 상태로 돌아오게 된다.
한편, 스텝 S261에서 제2 감시 프로세스 기동 완료 신호를 수신했을 경우, 스텝 S267로 진행된다. 스텝 S267에 있어서는, 제1 프로그램 갱신부(131)는 제1 갱신 확인 플래그 신호를 무효로 설정한다. 이어지는 스텝 S268에서, 제1 프로그램 갱신부(131)에 의한 처리가 완료된 것을, 제2 프로세서(111)에 통지한다. 이 통지를 점선 268로 나타낸다. 그리고, 「G」에 이르러 처리는 도 9의 동일한 「G」로부터 스텝 S271로 진행된다.
제2 프로세서(111)에서는, 스텝 S321 후, 스텝 S354에서, 제1 프로그램 갱신부(131)에 의한 처리가 완료한 취지의 통지를 수신하고, 「H」에 이른다. 그리고, 처리는 도 9의 동일한 「H」로부터 스텝 S361로 진행된다.
스텝 S271 및 S361의 각각으로부터 먼저, 도 9 및 도 10에 나타내는 처리에 있어서는, 이번은, 제2 프로세서(111)의 제2 프로그램 갱신부(141)가 제1 프로세서(101)에 대해서 프로그램 갱신 제어를 행한다.
도 9에 나타내는 스텝 S271 및 S272는, 각각, 도 7의 스텝 S352 및 S353에 있어서의 제2 프로세서(111)에 의한 처리와 마찬가지의 처리를, 제1 프로세서(101)가 행한다. 또한, 도 9에 나타내는 스텝 S361부터 S367은, 각각, 도 7의 스텝 S254부터 S260에 있어서의 제1 프로그램 갱신부(131)에 의한 처리와 마찬가지의 처리를, 제2 프로그램 갱신부(141)가 행한다. 다만, 스텝 S364 후에는, 「L」에 이르고, 처리는 도 10의 동일한 「L」로부터 스텝 S374로 진행되는 점이, 도 7 및 도 8의 처리와는 차이가 있다.
또한, 도 10에 나타내는 스텝 S221은, 도 8의 스텝 S321에 있어서의 제2 프로세서(111)에 의한 처리와 마찬가지의 처리를, 제1 프로세서(101)가 행한다. 도 10에 나타내는 스텝 S368부터 S370, S373부터 S375는, 각각, 도 8의 스텝 S261부터 S266에 있어서의 제1 프로그램 갱신부(131)에 의한 처리와 마찬가지의 처리를, 제2 프로그램 갱신부(141)가 행한다.
다만, 도 10에 나타내는 플로우에서는, 스텝 S368에서 제1 감시 프로세스 기동 완료 신호를 수신했을 경우, 스텝 S371로 진행된다. 스텝 S371에서는, 제2 프로그램 갱신부(141)는, 기동 지정 플래그 갱신 지시를, 제1 프로세서(101)에 대해서 행한다. 그리고, 스텝 S372로 진행되어, 제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그를, 갱신된 제2 메인 프로그램을 지정하도록 갱신한다. 스텝 S372 후에는 스텝 S373으로 진행된다.
한편, 스텝 S371에서 송신된 기동 지정 플래그 갱신 지시를 받은 제1 프로세서(101)는, 스텝 S221부터 S273으로 진행된다. 스텝 S273에 있어서는, 제1 프로세서(101)는, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플래그를, 갱신된 제1 메인 프로그램을 지정하도록 갱신한다. 이때의 신호의 교환을, 점선 371로 나타낸다.
스텝 S273이 종료되면, 스텝 S374에서 제2 프로그램 갱신부(141)로부터 송신된 제2 리셋 제어 신호를 받아서, 제1 프로세서(101)는 리셋된다. 그리고, 도 10의 「A」에 이르고, 도 3의 동일한 「A」로부터 리셋 후의 처리를 실행한다. 또한, 스텝 S375에서 리셋된 제2 프로세서(111)에 있어서는, 도 10의 「B」에 이르고, 도 3의 동일한 「B」로부터 리셋 후의 처리를 실행한다.
이 리셋 후의 제1 프로세서(101) 및 제2 프로세서(111)로의 처리에 대해서, 도 3 및 도 4를 참조하면서 간단하게 설명한다. 제1 프로세서(101) 및 제2 프로세서(111)는, 리셋 해제(스텝 S201, S301) 후에, 초기화 처리(스텝 S202, S302)를 행한다. 그리고, 제1 갱신 플래그 및 제2 갱신 플래그가 유효이기 때문에, 스텝 S203, S303으로부터, 각각 스텝 S205, S305로 진행된다.
이어서, 기동 반전 플래그 신호는 하이 레벨이기 때문에, 스텝 S207, S307로 진행된다. 이번은, 제1 갱신 확인 플래그 신호 및 제2 갱신 확인 플래그 신호는 양쪽 모두 무효인 것으로부터, 스텝 S208, S308로 진행되어, 제1 프로세서(101) 및 제2 프로세서(111)의 각각이, 기동 지정 플래그로 지정된 메인 프로그램을 선택한다.
여기에서, 각각의 기동 지정 플래그는, 도 10에 있어서의 스텝 S273, S372에서의 처리에 의해, 갱신된 메인 프로그램 쪽으로 변경되어 있다. 이 때문에, 스텝 S208, S308에서 선택되는 메인 프로그램은, 갱신된 메인 프로그램이 된다.
다음으로, 스텝 S211, S311에서, 각각의 갱신 확인 플래그 신호가 무효로 판정되어, 스텝 S212, S312로 진행되고, 제1 및 제2 각각의 갱신 플래그를 무효로 한다. 이어지는 스텝 S213, S313에서는, 갱신 확인 모드를 무효로 하여, 제1 및 제2 각각의 메인 프로그램을 기동한다. 그리고, 스텝 S215, S315에서, 갱신 확인 모드 무효로 제1 및 제2 각각의 메인 프로그램을 동작시켜, 스텝 S216, S316에서 기동 완료 통지를 서로 통지한다.
이어지는 스텝 S217, S317에서, 제1 및 제2 각각의 기동 확인 플래그를 유효로 변경한다. 스텝 S218, S318에 있어서는, 제1 및 제2 각각의 기동 지정 플래그와 스텝 S208, S308에서의 선택 결과가 같으므로, 스텝 S219, S319로 진행되어, 제1 및 제2 각각의 메인 프로그램의 통상 동작을 행한다.
이상의 처리의 흐름에 의해, 제1 프로세서(101)가 실행하는 버전이 다른 제1 메인 프로그램 A 및 제1 메인 프로그램 B 중, 현재 사용하고 있지 않은 쪽의 제1 메인 프로그램의 갱신과, 제2 프로세서(111)가 실행하는 버전이 다른 제2 메인 프로그램 A 및 제2 메인 프로그램 B 중, 현재 사용하고 있지 않은 쪽의 제2 메인 프로그램의 갱신을, 확실히 행할 수 있다. 즉, 갱신 확인 모드를 유효로 하여 제1 및 제2 각각의 메인 프로그램을 한 번 동작시켜 각각이 정상으로 동작하는 것을 확인한 다음, 리셋 후에 사용하는 메인 프로그램을 갱신 후의 것으로 전환하도록 구성하고 있기 때문에, 프로그램의 갱신을 확실히 행할 수 있다.
다음으로, 이상과 같이 구성된 정보 처리 장치(10)에 있어서, 메인 프로그램을 통상 동작 중에 결함이 발생된 경우의 동작에 대해 설명한다.
도 4의 흐름도의 스텝 S219 및 스텝 S319에 있어서, 제1 프로세서(101) 및 제2 프로세서(111)가, 각각 제1 및 제2 메인 프로그램을 실행하여 통상 동작하고 있을 때에는, 정기적으로 서로의 상태를 확인하여, 프로그램의 실행 정지 또는 에러의 발생이 없는지를 확인하고 있다(점선 291로 나타낸다).
이 정기적인 상태 확인을 행하고 있는 상태에서, 예를 들면, 제2 프로세서(111)로부터 제1 프로세서(101)로의 응답이 없어졌을 경우의 동작예에 대해서, 도 11을 참조하면서 설명한다.
도 11에 있어서, 제1 프로세서(101) 및 제2 프로세서(111)는, 각각, 제1 및 제2 메인 프로그램의 통상 동작(스텝 S219, S319)을 행하고 있다. 이때, 제1 프로세서(101)로부터, 제2 프로세서(111)로의 상태 통지(292의 점선으로 나타낸다)를 행하고, 제2 프로세서(111)로부터 제1 프로세서(101)로의 상태 통지(293의 점선으로 나타낸다)가 정지된 것으로 한다.
제1 프로세서(101)는, 제1 메인 프로그램을 실행함으로써 생성된 프로세스, 예를 들면 상태 감시 프로세스에 의해, 제2 프로세서(111)로부터의 상태 통지(293)가 정지된 것을 검지한다. 제2 프로세서(111)로부터의 상태 통지(293)가 정지된 것을 검지하면, 제1 프로세서(101)에서의 처리는 스텝 S401로 진행된다. 스텝 S401에 있어서는, 제1 프로세서(101)는, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 확인 플래그를 무효로 한다. 이어지는 스텝 S402에서, 제1 프로세서(101)는 제1 리셋 제어 신호를 제2 프로세서(111)로 송신하여, 제2 프로세서(111)를 리셋시킨다(이 리셋 제어를 점선 402로 나타낸다).
그리고, 스텝 S403으로 진행되어, 제1 프로세서(101)는, 제1 프로세서(101) 자신을 리셋한다. 제1 프로세서(101)를 리셋한 후에는, 도 11의 「A」에 이르고, 도 3 중의 동일한 「A」로부터 스텝 S201로 처리가 진행된다. 한편, 제1 리셋 제어 신호를 받은 제2 프로세서(111)는, 리셋된 후에 도 11의 「B」에 이르고, 도 3 중의 동일한 「B」로부터 스텝 S301로 처리가 진행된다.
이 리셋 후의 제1 프로세서(101) 및 제2 프로세서(111)에서의 처리는, 전술한 도 3 및 도 4의 플로우에 따라서 행해진다. 이번은, 도 11의 스텝 S401에서 제1 기동 확인 플래그가 무효로 되어 있기 때문에, 도 3의 스텝 S204로부터 S206으로 진행된다. 그리고, 스텝 S206에 있어서, 기동 반전 플래그 신호가 로우 레벨로 설정된다. 따라서, 이 경우에는, 스텝 S209로 진행되어, 제1 기동 지정 플래그가 지정하지 않은 쪽의 제1 메인 프로그램이 선택된다.
한편, 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 확인 플래그는 유효 그대로이다. 이 때문에, 제2 프로세서(111)에 대해서는, 스텝 S304로부터 스텝 S305로 진행된다. 스텝 S305에서는, 기동 반전 플래그 신호가 로우 레벨로 되어 있기 때문에, 스텝 S309로 진행되어, 제2 프로세서(111)에 있어서, 제2 기동 지정 플래그가 지정하지 않은 쪽의 제2 메인 프로그램이 선택된다.
그리고, 스텝 S215, S315에 이르고, 제1 프로세서(101) 및 제2 프로세서(111)는, 각각, 갱신 확인 모드를 무효로 하여, 스텝 S209, S309에서 선택한 메인 프로그램, 즉, 기동 지정 플래그와는 다른 메인 프로그램을 선택해서 기동한다.
따라서, A면 및 B면에 기억되어 있는 메인 프로그램 중, 도 11의 스텝 S219, S319에서 실행되고 있던 것과는 다른 쪽의 메인 프로그램을, 제1 프로세서(101) 및 제2 프로세서(111)의 각각은 선택해서 기동하게 된다. 또한, 제2 프로세서(111)에서의 이상이 프로그램 갱신 후에 발생된 것인 경우, 도 11의 스텝 S219, S319에서 실행되고 있던 것과는 다른 쪽의 메인 프로그램이란, 프로그램 갱신 전에 이상이 발생되는 일 없이 동작하고 있던 메인 프로그램이 된다.
그리고, 스텝 S218, S318로부터, 각각 스텝 S220, S320으로 진행되어, 제1 및 제2 각각의 기동 지정 플래그의 변경을 행한 다음에 로그를 기록한다. 이와 같이 하여, 최종적으로 스텝 S219, S319에서 통상 동작하는 메인 프로그램은, 프로그램 갱신 전에 이상이 발생되는 일 없이 동작하고 있던 메인 프로그램이다. 즉, 적어도 메인 프로그램의 갱신 전의 상태로 복구되어, 정보 처리 장치(10)를 정지시키는 일 없이 계속 동작시킬 수 있다.
실시 형태 2.
도 12 내지 도 18은, 본 발명의 실시 형태 2에 따른 것으로, 도 12는 정보 처리 장치의 구성을 나타내는 블록도, 도 13 및 도 14는 정보 처리 장치의 기동 처리를 나타내는 흐름도, 도 15 내지 도 18은 정보 처리 장치의 프로그램 갱신 처리를 나타내는 흐름도이다.
전술한 실시 형태 1은, 제1 불휘발성 메모리(102)에 제1 기동 지정 플래그를 기억하고, 제2 불휘발성 메모리(112)에 제2 기동 지정 플래그를 기억하고 있다. 즉, 기동 지정 플래그를 제1 프로세서(101)측과 제2 프로세서(111)측에서 각각 별개로 기억하고 있다. 이에 대해, 여기에서 설명하는 실시 형태 2는, 기동 지정 플래그를 제1 프로세서(101)측과 제2 프로세서(111)측 중 한쪽에서만 기억하도록 한 것이다.
이하, 이 실시 형태 2에 따른 정보 처리 장치(10)에 대해서, 실시 형태 1과의 차이점을 중심으로 설명한다. 여기에서는, 기동 지정 플래그를 제2 프로세서(111)측에서 기억하도록 한 경우에 대해 설명한다. 그러나, 기동 지정 플래그를 제1 프로세서(101)측에서 기억하도록 해도 상관없다.
우선, 도 12를 참조하면서, 이 실시 형태 2에 따른 정보 처리 장치(10)의 구성을 나타낸다. 이 도 12에 나타내는 바와 같이, 실시 형태 2에 따른 정보 처리 장치(10)의 구성은, 도 2에 나타낸 실시 형태 1과 거의 마찬가지이다. 그렇지만, 실시 형태 2에 따른 정보 처리 장치(10)에 있어서는 제1 불휘발성 메모리(102)는, 제1 기동 지정 플래그를 기억하고 있지 않는 점이, 우선 실시 형태 1과 차이가 있다.
그리고, 제2 불휘발성 메모리(112)는 1개의 기동 지정 플래그만을 기억하고 있다. 또한, 제1 프로세서(101)로 실행하는 제1 메인 프로그램을 지정하기 위해, 제2 프로세서(111)로부터 제1 프로세서(101)로 기동 지정 플래그 신호가 송신된다. 기동 지정 플래그 신호는, 제1 프로세서(101)가, 제1 불휘발성 메모리(102)의 A면 및 B면 중 어느 쪽에 기억되어 있는 제1 메인 프로그램을 실행할지를 지정하는 것이다.
다른 구성에 대해서는 실시 형태 1과 마찬가지이므로, 그 설명은 생략한다.
다음으로, 이상과 같이 구성된 정보 처리 장치(10)의 기동 처리에 대해 도 13 및 도 14를 참조하면서 설명한다. 도 13 및 도 14의 각 스텝에 대해서, 실시 형태 1의 도 3 및 도 4와 같은 부호인 것은, 기본적으로 같은 내용이므로, 그 설명은 생략한다. 이 실시 형태 2에 있어서는, 도 13의 스텝 S301 후에 스텝 S331로 진행된다. 스텝 S331에 있어서는, 제2 기동 제어부(145)는, 제2 불휘발성 메모리(112)에 기억되어 있는 기동 지령 플래그를 참조하여 기동 지정 플래그 신호를 설정한다. 이때, 예를 들면, 제1 메인 프로그램 A를 지정하는 경우는 하이 레벨, 제1 메인 프로그램 B를 지정할 때는 로우 레벨과 같이 미리 결정해 둔다. 스텝 S331 후에는 스텝 S303으로 진행된다.
그리고, 도 13의 스텝 S208에 있어서는, 제1 기동 제어부(135)는, 기동 지정 플래그 신호를 참조하여, 기동 지정 플래그 신호에 의해 지정되어 있는 쪽의 제1 메인 프로그램을 선택한다. 또한, 도 13의 스텝 S209에 있어서는, 제1 기동 제어부(135)는, 기동 지정 플래그 신호를 참조하여, 기동 지정 플래그 신호에 의해 지정되어 있지 않은 쪽의 제1 메인 프로그램을 선택한다. 다른 스텝은 실시 형태 1과 마찬가지이다.
다음으로, 이상과 같이 구성된 정보 처리 장치(10)의 프로그램 갱신 처리에 대해 도 15 내지 도 18을 참조하면서 설명한다. 도 15 내지 도 18의 각 스텝에 대해서, 실시 형태 1의 도 7 내지 도 10과 같은 부호인 것은, 기본적으로 같은 내용이므로, 그 설명은 생략한다. 이 실시 형태 2에 있어서는, 도 18의 스텝 S221 후에 도 10의 스텝 S273을 실시하는 일 없이, 제1 프로세서(101)는 리셋된다.
또한, 도 18의 스텝 S368 후에는, 도 10의 스텝 S371를 실시하는 일 없이, 스텝 S372로 진행된다. 스텝 S372에 있어서는, 제2 프로그램 갱신부(141)는, 제2 불휘발성 메모리(112)에 기억되어 있는 기동 지정 플래그를, 갱신된 제1 메인 프로그램 및 갱신된 제2 메인 프로그램을 지정하도록 갱신한다. 다른 스텝은 실시 형태 1과 마찬가지이다.
전술한 실시 형태 1의 구성에 있어서는, 도 6의 스텝 S371의 실행 후 또한 스텝 S372의 처리 전에 전원 끊김이 발생되면, 제1 기동 지정 플래그의 내용이, 갱신된 제1 메인 프로그램을 지정하는 것이 아니게 되어 버린다. 이 때문에, 제1 불휘발성 메모리(102)에 기억되어 있는 제1 기동 지정 플러그의 내용과 제2 불휘발성 메모리(112)에 기억되어 있는 제2 기동 지정 플래그의 내용이 대응하지 않게 된다.
이에 대해, 이상과 같이 구성된 실시 형태 2의 구성에 의하면, 실시 형태 1과 마찬가지의 효과를 달성할 수 있는 것에 더하여, 기동 지정 플래그를 1개로 통합할 수 있기 때문에, 만일 전원 끊김이 발생되었다고 해도, 제1 프로세서(101)로 실행하는 제1 메인 프로그램의 지정과 제2 프로세서(111)로 실행하는 제2 메인 프로그램의 지정이 대응하지 않게 되는 것을 방지할 수 있다.
또한, 스텝 S373의 갱신 확인 플래그 신호는, 전원 끊김에 의해 초기 상태로 돌아온다. 그래서, 갱신 확인 플래그 신호의 초기 상태를 무효로 해두면 된다. 이와 같이 함으로써, 전원 끊김 후의 최초의 기동시에는, 갱신 전의 메인 프로그램을 이용하여 동작하고, 기동 지정 플래그 갱신 후의 전원 끊김이면, 갱신 후의 메인 프로그램을 이용하여 동작하게 되어, 정보 처리 장치(10)를 정지시키는 일 없이 계속 동작시킬 수 있다.
[산업상의 이용 가능성]
본 발명은, 메인 프로그램을 기억하는 메모리와, 이 메모리에 기억된 메인 프로그램을 읽어내어 실행하는 프로세서를 구비하고, 메모리에 기억된 메인 프로그램을 갱신할 필요가 있는 정보 처리 장치에 이용할 수 있다.
10 정보 처리 장치
11 감시 카메라
12 통신 네트워크
15 서버
16 PC
30 감시반
101 제1 프로세서
102 제1 불휘발성 메모리
103 제1 휘발성 메모리
104 네트워크 컨트롤러
105 HDD
106 모니터
108 USB 컨트롤러
109 USB 메모리
110 USB 커넥터
111 제2 프로세서
112 제2 불휘발성 메모리
113 제2 휘발성 메모리
114 엘리베이터 칸 내 카메라
121 시리얼 통신선
131 제1 프로그램 갱신부
134 제1 타이머
135 제1 기동 제어부
141 제2 프로그램 갱신부
144 제2 타이머
145 제2 기동 제어부
500 엘리베이터 칸
501 엘리베이터 칸 도어

Claims (5)

  1. 제1 메인 프로그램을 기억하는 제1 메모리와,
    상기 제1 메모리에 기억된 상기 제1 메인 프로그램을 읽어내어 실행하는 제1 프로세서와,
    상기 제1 메모리에 기억된 상기 제1 메인 프로그램을 갱신하는 제1 프로그램 갱신부와,
    상기 제1 프로그램 갱신부에 의해 상기 제1 메모리에 기억된 상기 제1 메인 프로그램이 갱신된 후의 상기 제1 프로세서의 리셋시에, 갱신에 의해 고쳐 쓴 상기 제1 메인 프로그램이 올바르게 고쳐쓰기 되어 있는지를 확인하기 위한 갱신 확인 모드로 상기 제1 프로세서를 기동시키는 제1 기동 제어부를 구비하고,
    상기 제1 프로세서는, 갱신 확인 모드로 기동하면, 상기 제1 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제1 감시 프로세스를 생성하여, 상기 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제1 감시 프로세스 기동 완료 신호를 출력하는 정보 처리 장치.
  2. 청구항 1에 있어서,
    상기 제1 메모리는, A면 및 B면의 2개의 기억면을 가지고, A면 및 B면의 각각에 상기 제1 메인 프로그램을 기억하는 것과 함께, 상기 제1 메모리의 A면 및 B면에 기억된 상기 제1 메인 프로그램 중 어느 것을 실행할지를 지정하는 제1 기동 지정 플래그를 기억하고,
    상기 제1 프로세서는, 상기 제1 메모리의 A면 및 B면에 기억된 상기 제1 메인 프로그램 중, 상기 제1 기동 지정 플래그에 의해 지정된 쪽을 읽어내어 실행하며,
    상기 제1 프로그램 갱신부는, 상기 제1 메모리의 A면 및 B면에 기억된 상기 제1 메인 프로그램 중, 상기 제1 기동 지정 플래그에 의해 지정되어 있지 않은 쪽을 갱신하고,
    상기 제1 기동 제어부는, 상기 제1 프로그램 갱신부에 의해 상기 제1 메모리에 기억된 상기 제1 메인 프로그램이 갱신된 후의 상기 제1 프로세서의 리셋시에, 상기 제1 기동 지정 플래그를, 상기 제1 프로그램 갱신부에 의해 상기 제1 메인 프로그램이 갱신된 쪽의 기억면을 지정하는 것으로 하는 정보 처리 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    제2 메인 프로그램을 기억하는 제2 메모리와,
    상기 제2 메모리에 기억된 상기 제2 메인 프로그램을 읽어내어 실행하는 제2 프로세서와,
    상기 제2 메모리에 기억된 상기 제2 메인 프로그램을 갱신하는 제2 프로그램 갱신부와,
    상기 제2 프로그램 갱신부에 의해 상기 제2 메모리에 기억된 상기 제2 메인 프로그램이 갱신된 후의 상기 제2 프로세서의 리셋시에, 갱신 확인 모드로 상기 제2 프로세서를 기동시키는 제2 기동 제어부를 구비하고,
    상기 제2 프로세서는, 갱신 확인 모드로 기동하면, 상기 제2 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 제2 감시 프로세스를 생성하여, 상기 제2 감시 프로세스의 생성이 정상으로 행해졌을 경우에 제2 감시 프로세스 기동 완료 신호를 상기 제1 프로세서로 출력하며,
    상기 제1 프로세서는, 갱신 확인 모드로 상기 제1 감시 프로세스의 생성이 정상으로 행해졌을 경우에, 상기 제1 감시 프로세스 기동 완료 신호를 상기 제2 프로세서로 출력하는 정보 처리 장치.
  4. 청구항 3에 기재된 정보 처리 장치와,
    엘리베이터의 엘리베이터 칸 내에 마련되어, 당해 엘리베이터 칸 내를 촬영하여 아날로그 화상 신호를 상기 정보 처리 장치로 출력하는 카메라와,
    상기 엘리베이터 칸 내에 마련되어, 상기 정보 처리 장치로부터의 디지털 화상 신호의 입력을 받아서 화상을 표시하는 모니터를 구비하며,
    상기 제1 프로세서는 상기 정보 처리 장치로부터 상기 모니터에 출력하는 디지털 화상 신호를 처리하고,
    상기 제2 프로세서는 상기 카메라로부터 상기 정보 처리 장치로 입력된 아날로그 화상 신호를 처리하는 엘리베이터 장치.
  5. 메인 프로그램을 기억하는 메모리와,
    상기 메모리에 기억된 상기 메인 프로그램을 읽어내어 실행하는 프로세서를 구비한 정보 처리 장치의 상기 메모리에 기억된 상기 메인 프로그램을 갱신하는 프로그램 갱신 방법으로서,
    상기 메모리에 기억된 상기 메인 프로그램을 갱신하는 제1 공정과,
    상기 제1 공정에 의해 상기 메모리에 기억된 상기 메인 프로그램이 갱신된 후의 상기 프로세서의 리셋시에, 갱신에 의해 고쳐 쓴 상기 메인 프로그램이 올바르게 고쳐쓰기 되어 있는지를 확인하기 위한 갱신 확인 모드로 상기 프로세서를 기동시키는 제2 공정과,
    갱신 확인 모드로 기동된 상기 프로세서가, 상기 메인 프로그램의 실행에 의해 생성되는 프로세스가 정상으로 동작하고 있는지를 감시하는 감시 프로세스를 생성하여, 상기 감시 프로세스의 생성이 정상으로 행해졌을 경우에 감시 프로세스 기동 완료 신호를 출력하는 제3 공정을 구비한 프로그램 갱신 방법.
KR1020187016032A 2015-12-14 2015-12-14 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법 KR102119626B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/084913 WO2017103971A1 (ja) 2015-12-14 2015-12-14 情報処理装置、エレベータ装置及びプログラム更新方法

Publications (2)

Publication Number Publication Date
KR20180079438A KR20180079438A (ko) 2018-07-10
KR102119626B1 true KR102119626B1 (ko) 2020-06-05

Family

ID=59056118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187016032A KR102119626B1 (ko) 2015-12-14 2015-12-14 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법

Country Status (7)

Country Link
US (1) US10846077B2 (ko)
JP (1) JP6569739B2 (ko)
KR (1) KR102119626B1 (ko)
CN (1) CN108369540B (ko)
DE (1) DE112015007183T5 (ko)
HK (1) HK1255858A1 (ko)
WO (1) WO2017103971A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058984B2 (ja) * 2017-11-20 2022-04-25 キヤノン株式会社 ファームウェア組み込み装置、制御方法、プログラム
JP2020017059A (ja) * 2018-07-25 2020-01-30 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066621A1 (en) * 2000-12-06 2002-06-06 Thomas Wilson Elevator information and advertising delivery system
US20070074015A1 (en) * 2005-09-29 2007-03-29 Nec Corporation Control apparatus, upgrade method and program product of the same
US20070214386A1 (en) * 2006-03-10 2007-09-13 Nec Corporation Computer system, method, and computer readable medium storing program for monitoring boot-up processes
US20080256525A1 (en) * 2007-04-13 2008-10-16 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102294A (ja) * 1997-09-26 1999-04-13 Mitsubishi Electric Corp エレベーターの制御装置
JP3932547B2 (ja) * 2001-10-15 2007-06-20 ソニー株式会社 放送受信装置および方法
JP2005043941A (ja) * 2003-07-22 2005-02-17 Hitachi Ltd クラスタシステム
JP4899296B2 (ja) 2004-07-20 2012-03-21 ソニー株式会社 情報処理装置および方法
JP6212972B2 (ja) 2013-06-19 2017-10-18 株式会社リコー 情報処理システム、ソフトウェア更新方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066621A1 (en) * 2000-12-06 2002-06-06 Thomas Wilson Elevator information and advertising delivery system
US20070074015A1 (en) * 2005-09-29 2007-03-29 Nec Corporation Control apparatus, upgrade method and program product of the same
US20070214386A1 (en) * 2006-03-10 2007-09-13 Nec Corporation Computer system, method, and computer readable medium storing program for monitoring boot-up processes
US20080256525A1 (en) * 2007-04-13 2008-10-16 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device

Also Published As

Publication number Publication date
JP6569739B2 (ja) 2019-09-04
DE112015007183T5 (de) 2018-08-23
WO2017103971A1 (ja) 2017-06-22
CN108369540A (zh) 2018-08-03
JPWO2017103971A1 (ja) 2018-08-30
KR20180079438A (ko) 2018-07-10
HK1255858A1 (zh) 2019-08-30
US10846077B2 (en) 2020-11-24
US20180300119A1 (en) 2018-10-18
CN108369540B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
TWI386847B (zh) 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
JP5431111B2 (ja) 情報処理装置及びシステム設定方法
KR102119626B1 (ko) 정보 처리 장치, 엘리베이터 장치 및 프로그램 갱신 방법
WO2017080225A1 (zh) 数据分区的修复方法、装置及终端
EP3220262A1 (en) Device which is operable during firmware upgrade
JP6177461B2 (ja) 監視レコーダ及びその起動方法
US11546499B2 (en) Image capturing apparatus and method for controlling the same, and non-transitory computer-readable storage medium
CN108829442B (zh) 程序启动方法及装置
US20120011494A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP2017156414A (ja) マルチ表示システム、マスタ映像表示機器、スレーブ映像表示機器、マルチ表示システムにおける表示不具合発生防止方法
CN110347532A (zh) 多分区系统备份方法及装置
JP2012208564A (ja) プログラム処理装置
JP2008129669A (ja) ハードウェア異常記録装置及びハードウェア異常記録方法
JP2010224732A (ja) 情報処理装置
US9369626B2 (en) Electronic device and imaging apparatus that prevent processing related to an invalid function
JP7357611B2 (ja) 動作監視装置、動作監視方法、動作監視プログラム、および動作監視システム
US9798637B2 (en) Information processing apparatus and control method of information processing apparatus with access to storage device based on communication with storage device
CN113126938A (zh) 图像显示控制方法及装置、显示箱体和显示系统
KR102469959B1 (ko) 전산장비의 유지보수를 위한 원격솔루션 제공방법, 장치 및 프로그램
JP2011198224A (ja) 情報処理装置および監視機器システム
JP7363317B2 (ja) 放射線画像撮影装置、電子機器、無線通信システム及びプログラム
JP2006017529A (ja) 試験装置
US20220294976A1 (en) Image capturing control apparatus, image capturing system, image capturing control method, and non-transitory computer-readable storage medium
JP2021057822A (ja) 動作監視装置、動作監視方法、動作監視プログラム及び動作監視システム
JP2710204B2 (ja) 保守診断装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant