KR100281155B1 - 전자 장치 - Google Patents
전자 장치 Download PDFInfo
- 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
Links
- 238000012937 correction Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 27
- 230000003287 optical effect Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 abstract description 6
- 238000012986 modification Methods 0.000 abstract description 6
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 abstract 1
- 238000007562 laser obscuration time method Methods 0.000 abstract 1
- 230000007257 malfunction Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101000760620 Homo sapiens Cell adhesion molecule 1 Proteins 0.000 description 1
- 101000710013 Homo sapiens Reversion-inducing cysteine-rich protein with Kazal motifs Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 108090000237 interleukin-24 Proteins 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot 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)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Recording Or Reproducing By Magnetic Means (AREA)
- Control Of Electric Motors In General (AREA)
- Studio Devices (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항에 있어서, 특정 제어 대상중에 테이프 주행계를 제어하는 모터의 구동 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
- 제1항 또는 제2항에 있어서, 특정 대상중에 테이프 주행계에 설치되어 있는 헤드의 전류를 구동하는 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
- 제1항 또는 제2항에 있어서, 특정 제어 대상중에 텔레비젼 카메라의 광학계를 구동하는 모터의 구동 회로가 포함되어 있는 것을 특징으로 하는 전자 장치.
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)
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)
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 |
US4028678A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching 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 |
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 | マイクロプログラム制御処理方式 |
ATE83106T1 (de) * | 1986-06-09 | 1992-12-15 | Securicrypto Ab | Einrichtung zur verschluesselung und zur entschluesselung. |
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 |
-
1992
- 1992-09-19 JP JP27494492A patent/JP3284614B2/ja not_active Expired - Fee Related
-
1993
- 1993-09-13 KR KR1019930018332A patent/KR100281155B1/ko not_active IP Right Cessation
-
1996
- 1996-05-20 US US08/650,212 patent/US5731972A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06342370A (ja) | 1994-12-13 |
US5731972A (en) | 1998-03-24 |
KR940007668A (ko) | 1994-04-27 |
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) | 전자 장치 | |
EP0173967B1 (en) | Microprogram load unit | |
KR100280590B1 (ko) | 전자 장치 | |
KR100223844B1 (ko) | 옵션 자동 설정 회로 | |
KR920006768B1 (ko) | 사전에 결정된 순서대로 두개의 명령시이퀀스를 실행하는 방법 및 장치 | |
KR100310486B1 (ko) | 마이크로컴퓨터 | |
JP2888720B2 (ja) | エンジン制御装置 | |
EP1246201A2 (en) | Semiconductor memory | |
JPS6031643A (ja) | 状態履歴記憶回路 | |
JP2000039928A (ja) | マイクロコンピュータ | |
JPH07287603A (ja) | エンジン制御装置 | |
JPH1131068A (ja) | リセットベクタ切替え方法ならびに同方法を用いた情報処理装置 | |
JP2000020498A (ja) | マイクロコンピュータおよびその復帰方法 | |
KR100284044B1 (ko) | 연관 관계를 갖는 기능 기기들의 이상 동작 복구 방법 | |
JP3575052B2 (ja) | 電子装置 | |
JPH0876990A (ja) | カメラ用制御回路 | |
JPH11229953A (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 |