KR100281155B1 - 전자 장치 - Google Patents

전자 장치 Download PDF

Info

Publication number
KR100281155B1
KR100281155B1 KR1019930018332A KR930018332A KR100281155B1 KR 100281155 B1 KR100281155 B1 KR 100281155B1 KR 1019930018332 A KR1019930018332 A KR 1019930018332A KR 930018332 A KR930018332 A KR 930018332A KR 100281155 B1 KR100281155 B1 KR 100281155B1
Authority
KR
South Korea
Prior art keywords
microcomputer
correction
address
electronic device
program
Prior art date
Application number
KR1019930018332A
Other languages
English (en)
Other versions
KR940007668A (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 KR940007668A publication Critical patent/KR940007668A/ko
Application granted granted Critical
Publication of KR100281155B1 publication Critical patent/KR100281155B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)
  • Studio Devices (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

(목적) 패치 수정이 가능한 마이크로컴퓨터를 사용하여 전자기기를 제어하는 전자 장치에서 전원 온했을 때의 버그로 일어나는 중대한 고장을 회피한다.
(구성) 전원을 온하고 마이컴 자체의 초기화를 종료한 후는 마이컴의 패치 수정을 위한 초기화 처리가 종료했는지 여부를 판단하고(ST23), 이 초기화 처리가 종료되어 있지 않을 때는 오동작했을 때 중대한 고장을 발생하는 것같은 특정 제어 대상에 대한 마이컴의 제어 동작은 실행되지 않게 바이패스하고 또한, 그외의 제어 대상에 대해선 제어 동작을 실행한다(ST24, 25). 이것으로 전원 온시 등의 천이시에 일어나기 쉬운 버그에 의거하는 중대한 고장 발생을 회피할 수 있다. 패치 수정을 위한 초기화가 종료되면 ST12 이후의 패치 수정이 가능한 프로그램으로 이행한다.

Description

전자 장치
제1도는 본 발명의 실시예에서 사용하는 마이크로컴퓨터의 일예를 도시하는 블록도.
제2도는 동일 마이크로컴퓨터의 동작의 일예를 도시하는 흐름도.
제3도는 동일 마이크로컴퓨터에서의 소프트 점퍼 기동 처리의 흐름도.
제4도는 동일 마이크로컴퓨터에서의 소프트 점퍼의 흐름도.
제5도는 동일 마이크로컴퓨터에서의 어드레스 맵상의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 마이크로컴퓨터 5 : 일치 신호
12 : 입력 수단 13 : 데이타 버스
14 : CPU 15 : ROM
16 : 어드레스 버스 26 : RAM
22 : 비교기 27 : EEPROM
31 : 수정 어드레스 레지스터 32 : 수정 데이타 레지스터
33 : 스위치
[산업상의 이용분야]
본 발명은 마이크로컴퓨터를 탑재한 전자기기를 제어하는 구성의 전자 장치에 관한 것이다.
[종래의 기술]
종래, 민생용의 카메라 일체형 VTR이나 소형 비디오데크등의 전자기기에서는 그 전자기기의 전체 또는 일부를 제어하기 위해서, 기억 수단으로의 액세스 제어 및 연산 처리 등을 행하는 중앙 처리 수단(CPU)과 정보를 고정적으로 기억하는 Read Only Memory(ROM) 및 정보의 기록과 판독이 가능한 Random Access Memory(RAM) 등의 기억 수단과 입출력 포트 등의 주변 회로 등을 1칩에 집적한 1칩 마이크로컴퓨터를 상기의 전자기기 본체에 탑재하여 사용하였다.
그리고, 이같은 1칩에 집적된 마이크로컴퓨터는, 대량 생산에 의한 대폭적인 가격 저감 효과를 기대할 수 있다는 장점을 갖고 있으나 그밖에도 특히 최근의 반도체의 집적 기술의 발달에 의해서 ROM에 기억되는 프로그램의 양을 비약적으로 증대시킬 수 있게 되었기 때문에 이 ROM에 기억되고 있는 프로그램에 따라서 실행되는 제어도 다종다양하고 복잡한 내용의 것이 가능하게 되었다.
[발명이 해결하려는 과제]
상기와 같이 1칩 마이크로컴퓨터를 탑재하여 전자기기의 제어를 행하게 한 최근의 전자 장치에서는, 마이크로컴퓨터의 ROM에 대량의 프로그램을 기억해둠으로서 다종다양하고 복잡한 제어가 가능해졌는데, 반면, ROM에 기억되는 프로그램의 증대는 그 프로그램에 적지않은 버그가 발생한다는 문제를 야기하게 되었다.
특히, 버그가 대량 생산후에 발견된 경우엔, 종래는, 버그를 수정한 마이크로컴퓨터를 재차 대량 생산하고 전자기기에 탐재하고 있는 것과 교환하든가 또는 버그를 수정하기 위한 외부 부품을 전자기기에 부설한다는 대응책이 채택되어 왔는데 어느 것이나 막대한 비용이 소요되는 것이었다. 카메라 일체형 VTR 같은 부품의 실장 밀도가 높은 전자기기에선, 외부 부품을 부설한다는 대응책은 거의 실시되지 않는다는 문제도 있었다.
그래서, 본 발명은 패치(patch) 수정이 가능한 마이크로컴퓨터를 제어 장치로서 사용하므로서 이같은 문제점을 해결하는 것인데, 이같은 패치 수정이 가능한 마이크로컴퓨터를 써도, 일반적으로 버그는, 전원이 온될 때 등의 천이시에 많이 생기는 경우가 많으므로, 전원을 온하고 아직 패치 수정을 위한 초기화 처리를 마이크로컴퓨터가 종료하고 있지 않은 상태에선, 패치 수정 기능이 작동하지 않기 때문에 버그에 의해서 전자기기가 오동작해서 중대한 지장을 초래하는 경우가 있다.
[과제를 해결하기 위한 수단]
본 발명에선, 1칩 마이크로컴퓨터 같이 제어 장치를 전자기기에 탑재해서 제어를 행하게 한 전자 장치에서, 상기 제어 장치의 구조를 미리 대량 생산 버그에 대응해서 패치 수정을 할 수 있게 하고 있다.
또한, 본 발명의 전자 장치에선, 전원을 온하고 장치를 기동하므로서, 패치 수정을 위한 초기화 처리를 행하는 프로그램, 전자기기를 제어하기 위한 프로그램등이 실행 개시되는데, 특히, 이 패치 수정을 위한 초기화 처리가 종료했는지의 여부를 판정하는 판정 수단을 설치하고, 상기 판정 수단의 출력에 의거해서, 상기 초기화 처리가 종료되어 있지 않을 때는, 전자기기를 제어하기 위한 프로그램중에서의 특정의 제어 대상에 대한 제어 동작을 정지시켜두게 하고 있다.
이 경우, 제어 동작이 정지되는 특정의 제어 대상으로선, 예컨대, 마이컴 제어 장치에 의해서 카메라 일체형 VTR를 제어하는 것에 대해선, 테이프 주행게를 제어하는 여러가지의 모터 구동회로, 기록 또는 소거 등을 위한 헤드의 전류를 구동하는 회로, 또는 텔레비젼 카메라의 광학계를 구동하기 위한 모터 구동 회로로 하는 것이 바람직하다.
[작용]
본 발명의 전자 장치는 탑재되어 있는 마이크로컴퓨터의 구조가 패치 수정가능한 것으로 되어 있으므로 만일, 마이크로컴퓨터에 대량 생산 버그가 발견된 경우에도 종래같이 내부 부품의 교환, 또는 외부 부품의 부설 등의 처리를 하지 않아도 버그에 대응한 수정 정보를 외부로부터 한번 부여하므로서 자동적으로 버그 회피가 가능하다.
또, 상술같이 패치 수정이 가능한 마이크로컴퓨터를 탐재하고 전자기기의 제어를 행하도록 한 본 발명의 전자 장치에선, 그 전원을 온하고 작동을 개시했을 때 패치 수정을 위한 초기화 처리가 종료되고 있지 않은 단계에서는, 전자기기를 제어하기 위한 프로그램을 실행하고 있는 도중에 패치 수정 기능이 충분히 작용하지 않으므로 이 단계에서 마이크로컴퓨터에 의해 제어되어 있는 제어 대상이 버그에 의해서 오동작하고 마는 가능성이 있다.
그래서, 본 발명에선, 이들 제어 대상중에서도 특히 오동작에 의해 중대한 지장을 초래할 우려가 있는 것같은 제어 대상, 예컨대, 제어되는 전자기기가 카메라 일체형 VTR인 경우, 그 테이프 구동계에 설치되어 있는 모터의 구동 회로, 테이프의 기록, 소거 등을 행하는 헤드의 전류를 구동하는 회로, 또는 광학계를 구동하기 위한 모터의 구동 회로 등에 대해선 패치 수정을 위한 초기화 처리가 종료되지 않는 기간은 마이크로컴퓨터에 의한 제어 동작을 정지시켜두도록 하고 있다.
이것으로 초기화 처리가 종료되고 있지 않은 단계에서 버그에 의해 오동작이 일어나고 중대한 지장이 발생하는(예컨대 상술한 예에선 테이프의 파손이라든가 테이프의 기기록부분의 정보의 파손 및 오소거, 또는 광하계를 손상케하는 작동 등) 일이 없다.
[실시예]
이하, 본 발명의 실시예에 대해서 도면을 참조하면서 설명한다. 먼저, 본 발명의 전자 장치에 적용하는 마이크로컴퓨터에 관하여, 그 일예를 도시하는 제1도의 블록도를 토대로 설명한다.
제1도의 마이크로컴퓨터(1)는 그곳에 도시되듯이 종래의 CPU((14), RAM(26), ROM(15), 데이타 버스(13), 어드레스 버스(16) 등으로 이루는 1칩 마이크로컴퓨터의 내부에, 또한, 수정 어드레스 레지스터(31)와 수정 데이타 레지스터(32)와 비교기(22)와 스위치(33)와 입력 수단(12)을 설치한 구조를 가지고 있다.
또 마이크로컴퓨터(1)의 외부에는 외부 기억장치로서의 EEPROM(27)이 설치되어 있으며 이 EEPROM엔 ROM(15)내에 발생한 버그를 수정하기 위해서 필요한 정보를 미리 외부로부터 기억시키도록 한다.
여기에서 상기의 버그를 수정하기 위한 정보에 대해서 설명하면, 이 수정 정보는 ROM(15)에서의 프로그램중의 버그의 존재로 변경을 요하는 부분의 선두 어드레스(이하, 이것을 수정 어드레스라 한다), 버그 수정 프로그램중에서 상기 ROM(15)의 변경을 요하는 부분의 프로그램을 대신해서 실행되는 프로그램(이하, 이것을 소프트 점퍼라 하며, 이 소프트 점퍼는 원칙적으로는 ROM(15)중에 존재하는 개개의 버그에 대응해서 버그와 같은 개수 준비된다. 그리고, 이 마이크로컴퓨터에선 ROM(15)의 버그가 존재하는 변경해야할 부분을 대응하는 소프트 점퍼로 바꿔놓고 실행하는 소위 패치 수정으로 버그의 수정이 행해진다), 버그 수정 프로그램을 종료한 후에 복귀하는 ROM(15)상의 어드레스, 즉, ROM(15)상의 변경을 요하는 부분의 직후의 어드레스 등으로 구성된다.
다음에 이 마이크로컴퓨터(1)를 사용해서 전자기기를 제어하는 경우의 전체적인 흐름의 일예를 제2도에 도시되는 흐름도를 참조하면서 설명한다.
전원을 온하고 마이크로컴퓨터(1)를 기동하면 우선, 마이크로컴퓨터 자체의 초기화 처리, 즉, RAM이나 각종 레지스터의 초기화, 통신기능 및 포트 등의 초기화 등이 실행된다(ST27). 이 초기화 처리가 종료되면, 이것에 계속해서 실행되어야할 최초의 실행번지가 설정되며(ST28) 다음에 패치 수정을 위한 초기화 처리가 종료되었는지 어떤지를 판단하는 스텝이 실행된다(ST23).
또한, 이 패치 수정을 위한 초기화 처리는 상기의 EEPROM(27)에 기억되고 있는 수정 정보를 입력 수단(12)을 거쳐서 마이크로컴퓨터(1)로 들이는 조작을 가리키며, 구체적으로는 상기의 수정 정보를 RAM(26)으로 전사하는 조작, RAM(26)으로 전사된 수정 정보중에 포함되어 있는 개개의 소프트 점퍼의 선두번지를 산출하는 동시에 이 산출한 선두번지를 RAM(26)내의 테이블로 격납하는 조작, 수정 어드레스를 수정 어드레스 레지스터로 격납하는 조작, 수정 데이타를 수정 데이타 레지스터로 격납하는 조작 등으로 되어 있다.
상기의 판단 스템 ST(23)에서 패치 수정을 위한 초기화 처리가 종료되고 있지 않다고 판단되는 경우에는, ST(22)에서 설정한 실행 번지의 내용이 특정 제어 대상을 제어하는 동작에 관한 것인지 어떤지가 조사된다(ST24).
여기에서 특정한 제어 대상이란 상술같이 마이크로 컴퓨터에 의해 제어되는 전자기기내의 제어 대상중, 특히, 오동작으로 중대한 지장을 초래할 우려가 있는 제어 대상을 가리키며, 예컨대, 제어되는 전자기기가 카메라 일체형 VTR인 경우엔 이 카메라 일체형 VTR의 테이프 구동계에 설치되어 있는 모터의 구동 회로, 테이프로의 신호의 기록 및 소거 등을 행하기 위한 헤드의 전류를 구동하는 회로, 또는 광학계를 구동하기 위한 모터의 구동 회로 등이다.
그리고, 상기의 실행 번지의 내용이 특정한 제어 대상에 관한 것이 아니라고 판단된 경우엔 그 내용을 실행(ST25)한 후, 또, 특정의 제어 대상에 관한 것이라고 판단되는 경우에는 그 내용을 실행하지 않고 다음 스텝 ST(26)으로 나아가서 다음에 실행해야할 번지를 설정한 후, 다시 판단 스텝ST(23)으로 되돌아간다.
이같이 특정 제어 대상에 대한 제어 동작이 패치 수정을 위한 초기화 처리가 종료되기 까지는 실행되지 않게 되어 있으므로, 예컨대, 상술의 카메라 일체형 VTR의 경우엔 카세트 하프내에 테이프를 감지않는 동안에 카세트 배출의 오동작이 일어나서 테이프를 상하게 한다든가 기록 상태가 아닌데 소거 헤드나 기록 헤드에 전류가 잘못 흘러서 기록 완료의 테이프의 정보를 손실하든가 또는 광학계의 줌, 조리개, 포커스 등의 오동작에 의한 요동이 불쾌감을 부여한다는 문제가 생기는 일이 없다.
이상과 같이해서 패치 수정을 위한 초기화 처리가 종료되기 까지는 ST(23∼26)으로 구성되는 루프가 반복된다.
또한, 이 루프내의 ST(25)에서 실행되는 내용은 구체적으로는 상술의 패치 수정을 위한 초기화 처리, 전자기기내의 여러가지 센서, 스위치 등으로부터의 정보 수집 처리, 전자기기내의 여러가지 메카니즘 등으로 인가하는 제어 신호를 도출하기 위한 계산 처리 등이며, 중대한 지장을 초래할 우려가 있는 특정 제어 대상 이외의 제어 대상에 대해선 마이크로컴퓨터 자체의 초기화 처리(ST27)가 끝나는 대로 즉시 제어 동작이 개시되어서 전자기기가 빨리 상승된다.
그리고, 상기의 루프를 반복 실행하므로서 패치 수정을 위한 초기화 처리가 종료되면 패치 수정 동작이 가능으로 되는 ST(12) 이후의 프로그램으로 이행한다.
이 프로그램에선, 우선, 제1도의 비교기(22)에서 수정 어드레스 레지스터(31)에 격납되어 있는 수정 어드레스와 어드레스 버스(16)로부터 공급되는 CPU(14)의 실행 번지와의 비교가 행해지고(제2도의 ST12), CPU(14)의 실행 번지가 ROM(15)내에 격납되어 있는 전자기기 제어를 위한 통상 프로그램중의 버그가 존재하는 변경해야할 부분에 도달하기 이전, 즉 수정 어드레스에 도달하기 이전은 비교기(22)로부터 출력되는 신호에 의해서 스위치(33)의 가동 단자가 ROM(15)측의 고정 단자에 접속된 상태가 유지되고 실행 번지의 내용의 실행, 및 다음 실행 번지의 설정이 행해진다(ST 20 및 21).
그리고, ST(12, 19, 20, 21)에 의해서 구성되는 루프를 반복하므로서 프로그램 실행이 진행되고 그 실행 번지가 수정 어드레스에 도달하면 비교기(22)의 출력측에는 일치 신호(5)가 발생하고 상기 일치 신호(5)가 스위치(33)로 공급되므로서 스위치(33)의 가동 단자(a)가 수정 데이타 레지스터(32)측의 고정 단자로 절환 접속된다(ST15).
상기 절환 동작에 의해서 CPU(15)의 통상 프로그램을 대신해서 수정 데이타 레지스터(32)에 격납되고 있는 수정 데이타인 1바이트의 테이블 콜 명령을 접수하게 되며 콜된 테이블에 기억되고 있는 번지로의 서브 루틴 콜 동작이 실행된다. 그리고, 상기 콜 선의 번지 이후에는 버그를 수정하기 위한 프로그램이 격납되고 있으며 버그 수정이 실행되게 된다(ST16 및 17).
또한, 상기 실시예에선 테이블 콜 명령은 미리 개개의 버그에 대응한 것이 준비되고 있으며 버그 수정을 실행할 때마다 다음에 실행해야 할 버그 수정에 대응한 테이블 콜 명령이 수정 데이타 레지스터에 격납되게 되어 있다. 또, 수정 어드레스 레지스터에 격납되는 수정 어드레스도 마찬가지로 버그 수정을 실행할 때마다 다음에 실행해야 할 버그 수정에 대응한 수정 어드레스로 바꿔써진다.
버그 수정의 최후의 스텝에선 ROM(15)상의 수정 부분의 직후의 번지로 되돌아가기 위한 점프 동작이 실행되며 ROM(15)상의 통상 프로그램의 실행이 재개된다.
상기 실시예에서의 패치 수정에선 이상에서 설명하듯이 1바이트의 테이블 콜 명령을 이용하고 ROM(15)에 격납되어 있는 통상 프로그램으로부터 버그 수정 프로그램으로 이행하고 또, 버그 수정 프로그램의 실행을 종료하면 점프 명령에 의해서 버그 수정 프로그램으로부터 통상 프로그램으로 되돌아가게 하고 있으므로 통상 프로그램에서의 어떤 길이의 수정 부분에 대해서도 버그 수정용 프로그램을 마련할 수 있으며 게다가 이 프로그램의 길이도 필요에 따라서 임의의 것을 채용할 수 있으므로 통상 프로그램에서의 임의의 버그에 대해서 높은 수정 능력을 발휘할 수 있다.
특히, 패치 수정으로서 1 바이트의 갈아끼우기 밖에 할 수 없는 마이크로컴퓨터에서 1 바이트 명령으로서 임의의 어드레스에 점프하는 명령을 낸 것이 아니어도 이 실시예 같이 1 바이트의 테이블 콜 명령과 점프 명령을 채용하므로서 임의의 크기의 패치 수정 프로그램을 짤 수 있다.
다음에, 제2도에서의 버그 수정 ST(17)의 흐름을 상세하게 설명한다.
버그 수정 프로그램을 실행함에 있어선 우선, 최초에 RAM(26)에 기억된 개개의 소프트 점퍼를 실행하기에 앞서서 필요로 되는 공통의 전처리 조작, 즉 소프트 점퍼 기동 처리를 행할 필요가 있으며 이 실시예에서의 버그 수정 프로그램은 소프트 점퍼 기동 처리 프로그램과 소프트 점퍼로 구성된다.
그래서, 우선, 소프트 점퍼 처리 프로그램을 제3도에 의해 설명한다.
이 실시예의 마이크로컴퓨터(1)에선 소프트 점퍼 기동 처리 프로그램은 미리 ROM(15)의 특정 영역에 격납된 구조로 되어 있으며 또, 수정 데이타 레지스터(32)에 기억되고 있는 테이블 콜 명령이 지시하는 테이블의 어드레스에는 상기의 소프트 점퍼 기동 처리 프로그램을 격납하고 있는 특정 영역의 선두 번지가 기억되고 있으므로 전자 장치(1)의 CPU(14)는 상기 테이블 콜 명령을 접수함으로서 상기의 소프트 점퍼 기동 처리 프로그램의 실행을 개시한다.
소프트 점퍼 기동 처리가 개시되면 우선, 즉시, 마이크로컴퓨터(1)의 프로그램 상태어 PSW의 값 및 각 레지스터의 값이 RAM에 보존된다(ST28). 상기 보존된 값은 RAM(26)상의 실행해야 할 소프트 점퍼의 선두 어드레스로 점프하는 직전에 복귀되어진다(ST31).
상기 보존, 복귀 조작에 의해 마이크로컴퓨터(1)는 소프트 점퍼 기동 처리중의 내부 상태의 변화에 상관없이 겉보기로 테이블 콜 명령 발생 시점에서 즉시 소프트 점퍼의 실행을 개시한 것과 똑같이 할 수 있다.
상기의 ST(28)의 보존 조작 다음에 현재의 소프트 점퍼 기동 처리를 개시하는 계기로된 테이블 콜 명령을 판별하므로서 실행해야 할 소프트 점퍼가 몇번째의 것인가를 판단한다. 그리고, 이 판단 결과에 의거해서 이 실행해야할 소프트 점퍼의 선두 번지를 상술의 패치 수정을 위한 초기화 처리에서 각 소프트 점퍼의 선두 번지를 격납한 RAM(26)의 테이블중에서 판독한다(ST29).
다음에 테이블 콜 명령의 발생에 따라서 RAM의 스택에 격납된 귀환 번지를 폐기한다(ST30). 이것은 다음 이유에 의한다. 즉, 이 실시예에선 테이블 콜 명령에 의해서 버그 수정 프로그램이 분기하는 동시에 이 프로그램을 실행한 후는 점프 명령에 의해서 통상 프로그램으로 복귀토록 하고 있으므로 테이블 콜 명령 발생시에 스택에 푸시된 귀환 번지는 불필요하게 된다.
따라서, 상기의 폐기 처리(pop)를 행하지 않는 경우엔 버그 수정 프로그램이 실행될 때마다 스택으로의 푸시 동작만이 행해지게 되므로 스택의 기억 데이타량이 계속 증대하며 최종적으로는 RAM의 스택 영역외에 기억되고 있는 다른 데이타를 파괴할 우려가 있다. 이것을 방지하기 위해서 상기의 폐기 처리를 행한다.
다음에 상술한 대로 보존해둔 값을 복귀시킨(ST31) 다음, ST(29)에서 판독한 소프트 점퍼의 선두 번지로 점프하고(ST32), 소프트 점퍼의 실행을 개시한다.
다음에 소프트 점퍼의 구체적 스텝을 제4도에 의해 설명한다.
소프트 점퍼에선 우선 ROM(15)의 수정 부분을 대신하는 올바른 작업 프로그램을 실행한다(ST33).
상기 작업을 종료한 후, 수정 어드레스 레지스터에 다음의 수정 부분의 수정 어드레스를 격납하는(ST34) 동시에, 수정 데이타 레지스터에 다음에 실행해야 할 소프트 점퍼에 대응한 테이블 콜 명령을 격납하고(ST35) 다음에 실행해야할 버그 수정을 위한 준비를 한다.
단, 이들 수정 어드레스 레지스터, 수정 데이타 레지스터의 데이타 바꿔쓰기 처리는 수정 어드레스가 1개 밖에 없는 경우엔 생략할 수 있다.
그리고, 최후에 ROM(15)의 귀환 번지로 점프하고 통상 프로그램을 재개한다(ST36).
이상에 설명한 패치 수정의 진행의 모양을 ROM(15) 및 RAM(26)의 어드레스 맵과 더불어 도시하면 제5도와 같이 된다. 이 도면에선 통상 프로그램의 실행 어드레스가 수정 어드레스(XN)에 도달하고 부터 버그 수정 프로그램의 실행으로 점프하고 그후, 재차 ROM(15)상의 통상 프로그램으로 복귀하는 모양을 도시하고 있다. 도면에서의 프로세스의 진행은 (1), (2), (3), (4)의 순으로 나아간다.
끝으로, EEPROM(27)으로부터 RAM(26)으로 전사되는 수정 정보에 대해서 제5도를 참조로 보완 설명한다.
상기의 수정 정보중의 개개의 소프트 점퍼는 제5도에 도시되듯이 RAM(26)의 수정 정보 기억 영역중에서 각각의 소프트 점퍼(1), (2),...가 선두의 소프트 점포로부터 차례로 조밀하게 기억되어 있다. 이같은 기억 형태를 취함으로서 EEPROM(27) 및 전사처의 RAM(26)의 기억 영역을 대폭적으로 절약할 수 있다.
그리고, 이같은 기억 형태에선 각각의 소프트 점퍼의 선두번지는 선행하는 소프트 점퍼의 길이에 따라서 변화하고 일정하게 되지 않으므로 이 선두 번지를 알기 위한 방법으로서 제5도에 도시되듯이 오프셋 데이타도 수정 정보중에 포함시켜둔다.
여기에서 오프셋 데이타는 도면의 수정 정보 기억 영역의 선두 번지와 각 소프트 점퍼를 기억하고 있는 영역의 선두 번지와의 차이를 나타내고 있으며 예컨대 오프셋 데이타(1)는 상기의 수정 정보 기억 영역의 선두 번지의 소프트 점퍼(1)를 기억하고 있는 영역의 선두 번지와의 차이를 나타내고 잇다.
그리고, 상술한 패치 수정을 위한 초기화 처리에서 RAM(26)상에서의 각각의 소프트 점퍼의 선두 번지가 대응하는 오프셋 데이타의 값과 RAM(26)상의 수정 정보 기억 영역의 선두 번지를 가산함으로서 산출되며 이것들의 산출된 선두 번지가 RAM(26)내의 테이블에 격납된다.
이상의 실시예에서 상술하듯이 본 발명은 마이크로컴퓨터를 탑재하고 전자기기를 제어하는 구성의 전자 장치에 관한 것인데, 물론, 본 발명은 이같은 실시예의 구성에 한정되는 것은 아니며 예컨대 다음 1 ∼ 3에 도시하듯이 구성을 변경해도 된다.
1. 제1도에 도시되는 구성같이 외부 기억 장치를 마이크로컴퓨터(1)의 외부에 설치하는 대신에 마이크로컴퓨터(1)의 내부에 설치한다.
2. 소프트 점퍼 선두 번지의 산출을 소프트 점퍼 기동 처리 프로그램중에서 행하게 한다. 즉, 개개의 버그 수정이 실행될 때마다 실행해야 할 소프트 점퍼의 선두 번지를 산출하고 RAM 등에 기억해두게 한다.
3. 테이블 콜 명령의 발생에 따라서 스택에 푸시된 귀환 번지의 폐기 처리를 소프트 점퍼중에서 행하게 한다.
[발명의 효과]
이상, 상세히 설명했듯이 본 발명에 의하면 대량 생산후에 버그가 발견되거나 또는 부분적 변경의 필요성이 생긴 경우, 종래같은 외부 회로의 부가나 마이크로컴퓨터의 재차의 대량 생산이라는 많은 비용이 드는 대응 방법을 대신해서 다만 외부로부터 수정 정보를 부여하는 것만으로 패치 수정이 가능한 전자 장치가 제공된다.
그리고, 전원 온했을 때 등의 버그가 발생하기 쉬운 천이시에서도 패치 수정을 위한 초기화 처리가 종료되고 있지 않은 동안은 오동작으로 중대한 지장이 생기기 쉬운 특정 제어 대상에 대해선 제어 동작이 실행되지 않는 구성을 취함으로써 전자기기를 천이시의 버그에 의한 오동작으로부터 보호할 수 있다.
또한, 마이크로컴퓨터내의 수정 정보 기억 수단의 기억 영역을 충분히 확보할 수 없는 경우여도 그 기억 영역을 절약할 수 있는 기억 방법을 채용함으로서 충분한 수정 기능이 발휘된다.

Claims (4)

  1. 패치 수정 수단을 구비한 마이크로컴퓨터와 상기 마이크로컴퓨터에 의해 제어되는 복수의 제어 대상을 구비한 전자기기로 구성되는 전자 장치에 있어서, 상기 마이크로컴퓨터는 패치 수정을 위한 초기화 처리를 실행하는 수단과, 상기 초기화 처리가 종료되었는지의 여부를 판정하는 판정 수단과, 상기 판정 수단의 출력에 의거해서 상기 초기화 처리가 종료되고 있지 않을 때는 상기 복수의 제어 대상중 특정 제어 대상에 대한 마이크로컴퓨터에 의한 제어 동작을 정지시켜두는 수단을 구비하고 있는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서, 특정 제어 대상중에 테이프 주행계를 제어하는 모터의 구동 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
  3. 제1항 또는 제2항에 있어서, 특정 대상중에 테이프 주행계에 설치되어 있는 헤드의 전류를 구동하는 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
  4. 제1항 또는 제2항에 있어서, 특정 제어 대상중에 텔레비젼 카메라의 광학계를 구동하는 모터의 구동 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
KR1019930018332A 1992-09-19 1993-09-13 전자 장치 KR100281155B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP27494492A JP3284614B2 (ja) 1992-09-19 1992-09-19 電子装置
JP92-274944 1992-09-19

Publications (2)

Publication Number Publication Date
KR940007668A KR940007668A (ko) 1994-04-27
KR100281155B1 true KR100281155B1 (ko) 2001-02-01

Family

ID=17548734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930018332A KR100281155B1 (ko) 1992-09-19 1993-09-13 전자 장치

Country Status (3)

Country Link
US (1) US5731972A (ko)
JP (1) JP3284614B2 (ko)
KR (1) KR100281155B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3230262B2 (ja) * 1992-01-24 2001-11-19 ソニー株式会社 電子装置及びその固定情報修正方法
US6651172B1 (en) * 1999-05-28 2003-11-18 Advanced Micro Devices, Inc. Multi-phase EEPROM reading for network interface initialization
US6744386B2 (en) * 2000-06-02 2004-06-01 Thomson Licensing, S.A. Prevention of incompatible keyboard selections from being entered during power initialization
KR100410557B1 (ko) * 2001-11-19 2003-12-18 주식회사 하이닉스반도체 프로그램 수정 가능한 마이크로컨트롤러 및 구동방법
US9348597B2 (en) * 2008-06-30 2016-05-24 Infineon Technologies Ag Device and method for bypassing a first program code portion with a replacement program code portion

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
JPS5721799B2 (ko) * 1975-02-01 1982-05-10
JPS5245232A (en) * 1975-10-08 1977-04-09 Hitachi Ltd Micro program modification circuit
US4028683A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with counter
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
US4028679A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with increased capability
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4291375A (en) * 1979-03-30 1981-09-22 Westinghouse Electric Corp. Portable programmer-reader unit for programmable time registering electric energy meters
US4296470A (en) * 1979-06-21 1981-10-20 International Business Machines Corp. Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system
JPS56136054A (en) * 1980-03-26 1981-10-23 Hitachi Ltd Function assigning circuit
US4319343A (en) * 1980-07-16 1982-03-09 Honeywell Inc. Programmable digital memory circuit
US4456966A (en) * 1981-02-26 1984-06-26 International Business Machines Corporation Memory system with flexible replacement units
JPS57150019A (en) * 1981-03-13 1982-09-16 Hitachi Ltd Control system of terminal device
JPS57211651A (en) * 1981-06-23 1982-12-25 Toshiba Corp Patch system
US4490783A (en) * 1981-07-02 1984-12-25 Texas Instruments Incorporated Microcomputer with self-test of microcode
US4400798A (en) * 1981-07-13 1983-08-23 Tektronix, Inc. Memory patching system
JPS5816350A (ja) * 1981-07-22 1983-01-31 Toshiba Corp メモリ拡張代替方式
JPS5886648A (ja) * 1981-11-18 1983-05-24 Mitsubishi Electric Corp トレ−ス装置
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4490812A (en) * 1982-09-30 1984-12-25 Mostek Corporation User reprogrammable programmed logic array
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
US4769767A (en) * 1984-01-03 1988-09-06 Ncr Corporation Memory patching system
US4610000A (en) * 1984-10-23 1986-09-02 Thomson Components-Mostek Corporation ROM/RAM/ROM patch memory circuit
FR2573227B1 (fr) * 1984-11-09 1987-01-30 Palais Decouverte Dispositif de simulation et de securite pour clavier de saisie de donnees
US4745572A (en) * 1985-11-04 1988-05-17 Step Engineering Software editing instrument
JPS62249231A (ja) * 1986-04-23 1987-10-30 Pfu Ltd マイクロプログラム制御処理方式
JPH01503028A (ja) * 1986-06-09 1989-10-12 データコンサルト、イ、マルメ、アクチェボラーグ 暗号化及び解読装置
US4751703A (en) * 1986-09-16 1988-06-14 International Business Machines Corp. Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US4797753A (en) * 1986-10-10 1989-01-10 Minnesota Mining And Manufacturing Company Monitor for visually indicating wear on record media
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
JPS6465633A (en) * 1987-09-07 1989-03-10 Hitachi Ltd Microprogram controller
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
JPH0199129A (ja) * 1987-10-12 1989-04-18 Fujitsu Ltd マイクロプログラム修正方式
JPH01114941A (ja) * 1987-10-28 1989-05-08 Fujitsu Ltd プログラム修正方式
JPH01232447A (ja) * 1988-03-11 1989-09-18 Mitsubishi Electric Corp シングル・チップ・マイクロコンピュータ
JPH01286029A (ja) * 1988-05-13 1989-11-17 Nec Corp マイクロプログラムのパッチ方式
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
US5357627A (en) * 1989-03-28 1994-10-18 Olympus Optical Co., Ltd. Microcomputer having a program correction function
EP0393290B1 (en) * 1989-04-19 1995-08-16 International Business Machines Corporation Memory and peripheral chip select apparatus
US5077737A (en) * 1989-08-18 1991-12-31 Micron Technology, Inc. Method and apparatus for storing digital data in off-specification dynamic random access memory devices
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
GB9011679D0 (en) * 1990-05-24 1990-07-11 Schlumberger Ind Ltd Mask-programmable microprocessors
US5199032A (en) * 1990-09-04 1993-03-30 Motorola, Inc. Microcontroller having an EPROM with a low voltage program inhibit circuit
JP3131234B2 (ja) * 1991-01-14 2001-01-31 株式会社日立製作所 半導体装置
US5408672A (en) * 1991-11-18 1995-04-18 Matsushita Electric Industrial Co. Microcomputer having ROM to store a program and RAM to store changes to the program

Also Published As

Publication number Publication date
KR940007668A (ko) 1994-04-27
US5731972A (en) 1998-03-24
JPH06342370A (ja) 1994-12-13
JP3284614B2 (ja) 2002-05-20

Similar Documents

Publication Publication Date Title
US5109505A (en) Semiconductor memory disk apparatus with backup device capable of being accessed immediately after power source is recovered
KR100444537B1 (ko) 데이타처리장치
KR100324834B1 (ko) 전자장치
KR100415371B1 (ko) 컴퓨터
EP0553733B1 (en) Electronic apparatus and method for patching a fixed information
KR100316981B1 (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법
KR0184346B1 (ko) 롬 프로그램 변경기능을 가진 마이크로컴퓨터
KR100281155B1 (ko) 전자 장치
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
EP0173967B1 (en) Microprogram load unit
KR970066888A (ko) 불 휘발성 메모리를 사용한 마이크로컴퓨터
KR100280590B1 (ko) 전자 장치
KR100310486B1 (ko) 마이크로컴퓨터
JP2888720B2 (ja) エンジン制御装置
KR100394564B1 (ko) 제어회로 및 그를 이용한 반도체장치
EP1246201A2 (en) Semiconductor memory
JPS6031643A (ja) 状態履歴記憶回路
JPH07287603A (ja) エンジン制御装置
JPH1131068A (ja) リセットベクタ切替え方法ならびに同方法を用いた情報処理装置
JP2000020498A (ja) マイクロコンピュータおよびその復帰方法
KR100284044B1 (ko) 연관 관계를 갖는 기능 기기들의 이상 동작 복구 방법
JPH0876990A (ja) カメラ用制御回路
JPH11229953A (ja) エンジン制御装置
JPH06222917A (ja) 電子装置
JP2004062978A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081027

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee