KR100324834B1 - 전자장치 - Google Patents

전자장치 Download PDF

Info

Publication number
KR100324834B1
KR100324834B1 KR1019930018511A KR930018511A KR100324834B1 KR 100324834 B1 KR100324834 B1 KR 100324834B1 KR 1019930018511 A KR1019930018511 A KR 1019930018511A KR 930018511 A KR930018511 A KR 930018511A KR 100324834 B1 KR100324834 B1 KR 100324834B1
Authority
KR
South Korea
Prior art keywords
correction
address
storage means
access
data
Prior art date
Application number
KR1019930018511A
Other languages
English (en)
Other versions
KR940008509A (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 KR940008509A publication Critical patent/KR940008509A/ko
Application granted granted Critical
Publication of KR100324834B1 publication Critical patent/KR100324834B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

<목적> 대량 생산한 전자 장치에 내장된 펌웨어를 외부로 부터 수정 가능하게 한다.
<구성> EEPROM(13)에 기억되고 있는 ROM(3)의 수정 정보는 ROM(3)에 격납되어 있는 IPL 에 의해 인터럽트 발생 어드레스 레지스터(21), RAM(4)에 기억된다. 비교기(8)는 어드레스 버스 중의 실행 어드레스와 인터럽트 발생 어드레스 레지스터(21)에 기억되어 있는 수정 어드레스를 비교하고 일치했을때 인터럽트제어 회로(7d)에 의해 CPU(2)에 인터럽트를 건다. 이 결과, ROM(3)의 수정 부분을 대신해서 RAM(4)에 기억된 수정 내용이 실행된다. 외부의 커맨더(15)에 의해 EEPROM(13)의 기억 내용을 재기록하는 커맨드를 입력했을때엔 IPL 에 의한 수정정보의 기억이 금지된다.

Description

전자 장치
<산업상의 이용분야>
본 발명은 전용 마이크로컨트롤러 등의 전자 장치, 특히 중앙 처리 장치(이하, CPU라 한다)와, 프로그램이나 데이터를 고정적으로 격납한 판독 전용 메모리(이하, ROM이라 한다), 랜덤 액세스 메모리(이하, RAM이라 한다)등을 1 칩에 집적한 전자 장치에 관한 것이다.
<종래의 기술>
종래, 카메라 일체형 비디오 테이프 레코더(이하, 캠코더라 함) 등의 전자 기기에는 그 전체 또는 일부를 제어하는 제어 수단으로서 원칩화된 커스텀 LSI(Custom LSI)의 전자 장치, 소위 마이크로컨트롤러가 탑재되어 있다.
이와 같은 마이크로컨트롤러는 일반적으로, CPU와, ROM이나 RAM 등의 메모리와, 입출력 포트 등의 주변 회로 등으로 구성되는 전용 마이크로컴퓨터이다.
여기에서, CPU는 어드레스 컨트롤러로서 메모리 등으로의 액세스를 제어하고, 또는 프로세서로서 프로그램을 실행한다. 또한, ROM에는 프로그램이나 데이터 등, 탑재된 전자 기기를 제어하기 위한 정보가 펌웨어(firmware)의 형태로 고정적으로 격납되고, RAM은 CPU에 프로그램 실행 시에 작업 영역 등을 제공하고, 주변 회로는 외부와의 통신에 사용된다.
이 ROM을 예컨대 마스크 ROM으로 형성함으로써, 이와 같은 전자 장치는 양산화에 의해 가격을 저렴하게 할 수가 있다.
<발명이 해결하려는 과제>
근래에 있어서 전자 기기의 고성능화나 차별화하기 위해, 마이크로컨트롤러의 ROM에 격납되는 펌웨어의 용량은 해마다 증가하고 있다. 펌웨어의 품질에 대해선 프로그램의 구조나 여러 가지 검사에 의해, 마이크로컨트롤러의 양산 후에 버그가 발생하지 않도록 최대한의 노력이 주어지고 있다. 만일, 양산 버그가 발견된 경우, 종래, 외부부착 회로의 추가 등에 의한 수정이나, 버그를 정정한 마이크로컨트롤러를 재차 양산하여 교환하는 등의 비용과 시간과 인재를 필요로 하는 대책을 취하고 있었다, 단, 캠코더와 같이 부품의 실장 밀도가 높은 전자 기기의 경우, 외부부착 회로의 추가에 의한 수정은 거의 불가능하게 되어 있다.
본 발명은 이와 같은 문제점을 해결하기 위해서 이뤄진 것으로, 마이크로컨트롤러 등의 전자 장치의 아키텍처를 미리 양산 버그에 대응시킬 수 있는 것으로 함으로써, 만일, 양산 버그가 발견된 경우에도, 외부로부터 수정 정보를 한번 부여하는 것만으로 버그의 회피가 가능토록 하고, 또한, 수정 정보에 오류가 있는 경우에는 그 재기록이 가능하도록 한 전자 장치를 제공하는 것을 목적으로 한다.
<과제를 해결하기 위한 수단>
상기 문제점을 해결하기 위해서, 본 발명은 정보를 고정적으로 기억하는 고정 기억 수단과, 상기 고정 기억 수단에 기억된 정보에 기초해서 처리를 행하는 처리 수단과, 외부에 대해서 정보를 입출력하는 입출력 수단을 일체로 집적한 전자 장치에 있어서, 고정 기억 수단에 기억된 정보의 수정 어드레스를 기억하는 수정어드레스 기억 수단과, 고정 기억 수단에 기억된 정보의 수정 내용을 기억하는 수정 내용 기억 수단과, 처리 수단의 실행 어드레스와 수정 어드레스를 비교하여, 일치했을 때에 일치 신호를 출력하는 비교 수단과, 비교 수단이 일치 신호를 출력했을 때, 처리 수단에 의한 액세스를 고정 기억 수단으로부터 수정 내용 기억 수단으로 전환하는 액세스 전환 수단과, 수정 어드레스 기억 수단 또는 수정 내용 기억 수단에 대한 정보의 기억 또는 액세스 전환 수단에 의한 액세스의 전환을 허가 또는 금지하는 제어 수단을 구비하고, 외부 기억 수단에 기억되어 있는 수정 어드레스 및 수정 내용을 수정 어드레스 기억 수단 및 수정 내용 기억 수단에 기억하는 동시에, 제어 수단이 수정 어드레스 또는 수정 내용의 기억 또는 액세스의 전환을 금지하고 있을 때, 외부 기억 수단에 대해서 수정 어드레스 및 수정 내용의 기록 또는 재기록을 행하도록 구성했다.
제어 수단은 전자 장치의 외부에 설치된 수정 어드레스 및 수정 내용의 기록 또는 재기록의 커맨드를 입력하는 수단과 전자 장치와의 사이의 통신 수단의 상태에 따라서, 정보의 기억 또는 액세스의 전환을 허가 또는 금지하도록 구성한다.
또한, 전자 장치 외부에 조작 수단을 설치하고, 이 조작 수단을 조작함으로서, 전환 수단의 내부에 설치된 액세스의 전환을 금지하는 수단을 동작시키도록 구성해도 된다.
또한, 전자 장치의 외부에 조작 수단을 설치하고, 이 조작 수단을 조작함으로서, 비교 수단의 출력이 전환 수단에 입력되지 않도록 구성해도 된다.
<작 용>
본 발명은 전자 장치의 고정 기억 수단에 양산 버그가 발견된 경우에, 수정 어드레스와 수정 내용을 입력하는 것만으로 버그의 회피가 가능해진다. 또한, 수정 내용 기억 수단에 틀린 수정 내용을 기억했기 때문에 프로그램이 폭주하고, 수정 내용의 재기록을 행하는 프로그램에 제어가 이행되지 않게 되었을 경우에도, 제어 수단에 의해서, 수정 내용의 재기록을 행하는 프로그램이 동작하는 상태로 되돌릴 수 있다.
<실 시 예>
이하, 본 발명의 실시예에 대해서 도면을 참조하면서 상세히 설명한다.
(제 1 실시예)
제 1 도는 본 발명의 제 1 실시예에 의한 전자 장치의 구성을 도시하는 블록도이다, 우선, 본 실시예의 구성을 설명한다,
본 실시예에 의한 전자 장치(1)는 CPU(2), ROM(3), RAM(4), 데이터 버스(5), 어드레스 버스(6), 액세스 전환부(7), 비교기(8), 인터럽트 발생 어드레스 레지스터(9) 및 통신 회로(10, 11)를 구비하고 있다. 통신 회로(10)는 통신 회선(12)에 의해 EEPROM(13)에 접속되며, 통신 회로(11)는 통신 회선(14)에 의해 커맨더(15)에 접속되어 있다.
EEPROM(13)은 ROM(3)에 있어서의 수정 어드레스, 즉 수정 부분의 어드레스 또는 스타트 어드레스와, 수정 내용, 즉 수정 부분에 패치하고 싶은 내용이나 패치 후에 복귀하는 ROM(3)상의 어드레스 등을 격납하고 있는 외부 기억 수단이다. 이하, 수정 어드레스와 수정 내용을 일괄해서 수정 정보라 한다.
EEPROM(13)에 격납된 수정 어드레스는 통신 회선(12), 통신 회로(10) 및 8 비트의 데이터 버스(5)를 거쳐서 16 비트의 인터럽트 발생 어드레스 레지스터(9)에 기록된다. 마찬가지로, EEPROM(13)에 격납된 수정 내용은 RAM(4)에 기록된다. 상기 기록은 ROM(3)에 격납되어 있는 IPL(Initial Patch Loader; 초기 패치 로더)에 의해 실행된다.
16 비트의 비교기(8)는 어드레스 버스(6)의 실행 어드레스를 모니터하고, 수정 어드레스에 일치하면 일치 신호 E를 출력한다. 상기 비교기(8)는 하드웨어로 구성해도, 소프트웨어로 구성해도 좋다.
액세스 전환부(7)를 구성하는 제어 플래그 래치(7a)는 ROM(3)의 수정 부분의 유무를 나타내는 래치이며, 수정 정보가 입력되면 「1」로 세트되고, 입력이 없는 경우에는 「0」으로 리세트된다. 제어 플래그 래치(7a)가 「0」인 경우, 스위치(7c)는 「열림」이고, 「1」로 되면 「닫힘」으로 제어되므로, 일치신호(E)는 인터럽트 요구 신호로서 인터럽트 제어 회로(7d)에 입력되고, 인터럽트 제어 회로(7d)에 의한 인터럽트 처리에 의해 인터럽트 벡터 레지스터(7b)에 나타내는 어드레스로 제어가 이동한다, 여기에서, 상기 인터럽트 벡터 레지스터(7b)에는 RAM(4)에 격납한 수정 내용의 선두 어드레스가 수정 정보의 기록 시에 래치되어 있다.
RAM(4)에 격납된 수정 내용의 말미는 예컨대 ROM(3)의 수정 부분을 스킵한 어드레스로의 점프 명령 등으로 되므로, 제어는 RAM(4)으로부터 ROM(3)으로 되돌려진다. 여기에서, 인터럽트 처리로부터의 복귀 리턴 명령이 아니고 점프명령을 쓰는 것은 RAM(4)중의 수정 부분을 스킵하기 위해서이다. 또한, 이것에 따라서 인터럽트시에 스택 등에 퇴피한 데이터의 폐기 등이 필요해진다.
커맨더(15)는 수정 정보의 기록이나 재기록을 행하기 위한 조작 수단이며, 각종 조작키나 디스플레이가 설치되어 있다. 커맨더(15)에 의해 수정 정보의 기록 또는 재기록의 커맨드를 입력하면, 통신 회선(14), 통신 회로(11) 및 8비트의 데이터 버스(5)를 거쳐서 CPU(2)에 입력된다.
CPU(2)는 상기 커맨드를 수신하면, EEPROM(13)에 격납되어 있는 수정 어드레스를 인터럽트 발생 어드레스 레지스터에 기록하는 것 및 RAM(4)에 격납한 수정 내용의 선두의 어드레스를 인터럽트 벡터 레지스터(7b)에 기록하는 것을 금지하고, 또한 제어 플래그 래치(7a)를 「0」으로 리세트한다. 상기 처리를 행하는 이유는 아래와 같다.
즉, EEPROM(13)에 격납되어 있는 수정 정보에 오류가 있는 경우, 패치 처리에 들어간 후에 프로그램이 폭주하고, 어드레스 제어가 ROM(3)에 복귀하지 못하게 될 가능성이 있다. 이 경우, EEPROM(13)에 기억되어 있는 수정 정보를 재기록하면, 바른 처리를 행하게 하는 것은 가능하지만, 수정 정보의 기록이나 재기록을 전자 장치(1)의 ROM(3)에 격납된 IPL을 써서 행하고 있으므로, 상술한 바와 같이 프로그램이 폭주한 경우에는, 상기 IPL에 제어가 옮기지 않게 되므로, 수정 정보를 재기록할 수 없게 된다, 이것에 대해서 상기 처리를 행하면, 패치처리에 들어가지 않게 되므로, IPL에 의한 제어가 가능해진다.
제 2 도는 본 발명의 제 1 실시예의 동작을 도시하는 흐름도이다. 이하, 제 1 도 및 제 2 도를 참조하면서, 제 1 실시예의 동작을 설명한다.
우선, 전원 투입 후의 초기화 시, ROM(3)에 격납된 IPL에 의해서 커맨더(15), 통신 회선(14) 및 통신 회로(11)간의 상태가 안정되도록 기다린다(제 2 도의 S1). 이 처리는 타이머에 의해 시간을 측정하도록 해도 좋고, 커맨더(15)와 통신 회로(11)의 사이에서 신호의 송수신을 행하여 안정 상태를 검지하도록 해도 좋다.
다음에, 통신 회선(14)이 소정의 상태인지 어떤지를 판단한다(S2). 여기에서, 통신 수단이 소정의 상태라는 것은, 예컨대, 커맨더(15)로부터 수정 정보의 기록 또는 재기록의 커맨드가 입력되어 있지 않는 상태, 전자 장치(1)에 커맨더(15)가 접속되어 있지 않는 상태 등이 있다,
통신 수단이 소정의 상태가 아닌 때는, IPL에 의한 처리를 종료한다(S6). 그리고, 예컨대 커맨더(15)로부터의 수정 정보의 기록 또는 재기록의 커맨드가 입력되어 있으면, ROM(3)내의 패치 데이터 변경용 프로그램으로 처리가 이동한다. 또한, 전자 장치(1)에 커맨더(15)가 접속되어 있지 않을 때는, 예컨대, 전자 장치(1)를 내장하고 있는 전자 기기의 제어 대상(캠코더의 서보계 등)을 제어하는 프로그램 등으로 제어가 이동한다.
통신 수단이 소정의 상태인 때는, IPL에 의해 EEPROM (13)에 격납된 수정정보 중 수정 어드레스를 인터럽트 발생 어드레스 레지스터(9)에 래치한다(S3). 또한, 수정 내용의 선두 어드레스를 인터럽트 벡터 레지스터(7b)에 래치한다(S4). 더욱이, 수정 내용을 RAM(4)의 소정의 어드레스에 기록하고, 제어 플래그래치(7a)를 「1」로 세트한다(S5). 이것으로 IPL에 의한 처리가 종료한다.
다음에, 16 비트의 비교기(8)는 어드레스 버스(6)에 출력되는 실행 어드레스와 인터럽트 발생 어드레스 레지스터(9)에 래치된 수정 어드레스를 비교하여(S7), 불일치의 경우 인터럽트는 발생치 않으며, 액세스는 ROM(3)에 대해서 행해진다(S13), 한편, 일치된 경우엔 비교기(8)로부터 일치 신호 E가 스위치(7c)를 거쳐서 인터럽트 제어 회로(7d)에 부여되고, 인터럽트가 발생한다(S8). 인터럽트가 발생하면, 인터럽트 벡터 레지스터(7b)에 래치된 어드레스, 즉 RAM(4)의 수정 내용의 선두 어드레스로 제어는 이동하고(S9), RAM(4)에 격납된 수정 내용(프로그램)이 실행된다(S10).
인터럽트로부터의 복귀를 점프 명령으로 행하므로, 수정 내용의 후미에는 스택 등에 대피한 리턴 어드레스 등을 폐기하는 명령이 있으며, 이것을 실행한다(S11).
최후로 수정 프로그램에 기재된 점프 명령을 실행하고, 제어는 ROM(3)의 수정 부분을 스킵한 어드레스에 되돌려진다(S12). 이 수정 부분으로의 재차 액세스에 대비하기 위해서, 비교기(8)에 의한 어드레스 비교는 계속해서 행해진다(S7),
또한, 제 1 도에 있어서 외부의 스위치 등을 조작함으로서 제어 플래그래치(7a)를 리세트하거나, 인터럽트 발생 어드레스 레지스터(9)에 무효 어드레스를 래치하도록 구성해도 좋다, 또한, 제어 플래그 래치(7a), 비교기(8), 인터럽트 제어 회로(7d)의 출력을 온, 오프 제어하는 게이트 회로나 스위칭 회로를 설치하여, 외부로부터 온, 오프 제어가 행해지도록 구성해도 좋다. 이와 같이 구성하면, 제 2 도의 스텝(S1, S2 및 S6)의 처리는 불필요해진다.
또한, 제 1 도에서 스텝(S1) 전에 EEPROM(13)에 격납되어 있는 수정 정보를 RAM(4)에 기록하고, 스텝(S2)에서 통신 수단이 소정의 상태일 때, RAM(4)에 기록한 수정 어드레스를 인터럽트 발생 어드레스 레지스터(9)에 래치하고, 수정내용의 선두 어드레스를 인터럽트 벡터 레지스터(7b)에 래치하도록 구성해도 된다.
또한, ROM(3)에 복수 개소의 수정 부분이 있는 경우에는, 상술한 흐름도 중, 스텝(S10)에 계속해서 인터럽트 발생 어드레스 레지스터(9)와 인터럽트 벡터레지스터(7b)를 각각 다음의 수정 어드레스와 다음의 수정 내용의 선두 어드레스로 갱신하면 된다.
또한, 제 1 도에 있어서 스위치(7c)를 닫고, 제어 플래그 래치(7a)에 의해서 비교기(8)의 동작을 온, 오프 제어하도록 해도 된다. 또한, 제어 플래그 래치(7a)와 스위치(7c)를 닫고, ROM(3)에 수정 부분이 존재하지 않는 경우에는 인터럽트 발생 어드레스 레지스터(9)에 무효 어드레스를 래치하도록 해도 된다.
또한, 제 1 도에 있어서 EEPROM(13)을 전자 장치(1)의 내부에 설치하고 통신 회선(12)에 EEPROM 기록기를 접속하여, 수정 정보를 EEPROM(13)에 기록함으로써, 수정 정보가 전자 장치(1)의 내부에 재기록 가능한 상태로 상주하도록 해도 된다.
(제 2 실시예)
제 3 도는 본 발명의 제 2 실시예를 도시하는 블록도이다. 여기에서, 제 1 도와 공통의 부분에는 동일 부호를 붙여 그 설명을 생략한다.
(21)은 ROM(3)상의 수정하려는 1 워드의 어드레스, 즉 수정 어드레스를 일시 기억하기 위한 수정 어드레스 레지스터이며, (22)는 1 워드의 수정 데이터를 일시기억하기 위한 수정 데이터 레지스터이다, 또한, (23)은 데이터 버스(5)에 ROM(3)으로부터의 데이터를 출력하는지 또는 수정 데이터 레지스터(22)로부터의 수정 데이터를 출력하는지를 선택하는 스위치이다.
제 4 도는 본 발명의 제 2 실시예의 동작을 도시하는 흐름도이다. 이하, 제 3 도 및 제 4 도를 참조하면서, 제 2 실시예의 동작을 설명한다.
우선, 전원 투입 후의 초기화 시, ROM(3)에 격납된 IPL에 의해서 커맨더(15), 통신 회선(14) 및 통신 회로(11)간의 상태가 안정으로 되기를 기다린다(제 4 도의 S21). 다음에, 통신 회선(14)이 소정의 상태인지 어떤지를 판단한다(S22). 그리고, 소정의 상태가 아닌 때는 IPL에 의한 처리를 종료한다(S26). 이상의 처리는 제 2 도에 도시한 제 1 실시예의 동작과 같다.
통신 수단이 소정의 상태인 때는, IPL에 의해 EEPROM(13)에 격납된 수정 정보 중 수정 어드레스를 수정 어드레스 레지스터(21)에 래치하고(S23), 수정 데이터를 수정 데이터 레지스터(22)에 래치한다(S24). 또한, 수정 내용을 RAM(4)에 판독한다(S25). 이것으로 IPL에 의한 처리가 종료된다. 다음에, 비교기(8)는 어드레스 버스(6)에 출력되는 실행 어드레스를 수정 어드레스 레지스터(21)에 기억된 수정 어드레스와 비교한다(S27). 그리고, 실행 어드레스와 수정 어드레스가 불일치인 경우, 스위치(23)는 ROM(3)측에 전환되고(S34), CPU(2)의 ROM(3)으로의 액세스 결과로서 ROM(3)중에 격납되어 있는 데이터가 데이터 버스(5)에 출력된다(S35).
한편, 실행 어드레스와 수정 어드레스가 일치한 경우, 스위치(23)는 수정 데이터 레지스터(22)측에 전환되므로(S28), 수정 데이터 레지스터(22)에 래치된 수정데이터가 데이터 버스(5)에 출력된다(스텝 S29). 여기에서, 수정 데이터는 ROM(3)상의 테이블을 참조하는 1 바이트의 테이블 콜 명령이다. 이 테이블을 참조하여 ROM(3)상의 소정의 어드레스에 격납되어 있는 수정 프로그램 기동 처리 프로그램을 실행하고, RAM(4)상의 수정 프로그램의 어드레스의 산출 등을 행한다(S30). 그리고, RAM(4)상의 수정 프로그램을 실행한다(S31). 테이블 콜로부터의 복귀를 점프 명령으로 행하므로, 수정 내용의 후미에는 스택 등에 대피한 리턴 어드레스 등을 폐기하는 명령이 놓여 있으며, 이것을 실행한다(S32), 최후에 수정 프로그램에 기록된 점프 명령을 실행하여 ROM(3)의 수정 부분을 스킵한 어드레스로 되돌아간다(S33). 이 수정 부분으로의 재차 액세스에 대비하기 위해서, 비교기(8)에 의한 어드레스 비교는 계속해서 행해진다(S27).
또한, ROM(3)에 복수 개소의 수정 부분이 있는 경우엔, 상술한 흐름도중, 스텝(S31)에 계속해서 수정 어드레스 레지스터(21)와 수정 데이터 레지스터(22)를 각각 다음의 수정 어드레스와 다음의 수정 데이터로 갱신하면 된다. 또한, 비교기(8), 수정 어드레스 레지스터(21) 및 수정 데이티 레지스터(22)를 복수 구비함으로써, 복수의 수정 개소에 대응하도록 해도 된다.
또한, 제 3 도에서 비교기(8)와 스위치(23)와의 사이에, 제 1 도의 제어 플래그 래치(7a)나 스위치(7c)를 설치해도 된다.
제 1 도는 본 발명의 제 1 실시예에 의한 전자 장치의 구성을 도시하는 블록도.
제 2 도는 본 발명의 제 1 실시예의 동작을 도시하는 흐름도.
제 3 도는 본 발명의 제 2 실시예에 의한 전자 장치의 구성을 도시하는 블록도.
제 4 도는 본 발명의 제 2 실시예의 동작을 도시하는 흐름도.
♣ 도면의 주요부분에 대한 부호의 설명 ♣
1 : 전자 장치 2 : CPU
3 : ROM 4 : RAM
7 : 액세스 전환부 8 : 비교기
9 : 인터럽트 발생 어드레스 레지스터
10, 11 : 통신 회로 12, 14 : 통신 회선
13 : EEPROM 15 : 커맨더
21 : 수정 어드레스 레지스터
22 : 수정 데이터 레지스터
23 : 스위치
이상, 상세히 설명한 바와 같이, 본 발명에 의하면, 외부로부터의 수정정보를 한번 부여하는 것만으로 버그의 회피가 가능해지며, 또한 수정 정보에 오류가 있는 경우에는 그 재기록이 가능케 된다.

Claims (4)

  1. 판독 전용 데이터를 기억하기 위한 고정 기억 수단과, 상기 고정 기억 수단에 기억된 데이터에 의거해서 처리를 행하기 위한 처리 수단과, 외부 소스로부터 데이터를 입력하고 외부 소스에 데이터를 출력하기 위한 입출력 수단을 일체로 집적한 전자 장치에 있어서,
    상기 고정 기억 수단에 기억된 데이터의 수정 어드레스를 기억하기 위한 수정 어드레스 기억 수단과,
    상기 고정 기억 수단에 기억된 데이터의 수정 내용을 기억하기 위한 수정 내용 기억 수단과,
    상기 처리 수단의 실행 어드레스와 상기 수정 어드레스를 비교하고 상기 두 어드레스들이 서로 일치하는 것이 발견되었을 경우 일치 신호를 출력하기 위한 비교 수단과,
    상기 비교 수단이 상기 일치 신호를 출력하는 경우, 상기 처리 수단에 의한 액세스를 상기 고정 기억 수단으로부터 상기 수정 내용 기억 수단으로 전환하기 위한 액세스 전환 수단과,
    상기 수정 어드레스 기억 수단 및 상기 수정 내용 기억 수단에 대해 데이터의 기억을 선택적으로 가능케 하고, 상기 액세스 전환 수단에 의해 액세스의 전환을 선택적으로 가능케 하기 위한 제어 수단과,
    수정 어드레스 및 수정 내용이 외부 기억 수단으로부터 검색되도록 하고 수정 어드레스 기억 수단 및 수정 내용 기억 수단에 각각 배치되도록 하기 위한 초기 패치 로더(initial patch loader)를 포함하며,
    상기 제어 수단은 외부 입력 수단으로부터의 커맨드 신호를 수신한 경우, 상기 초기 패치 로더가 그 제어 태스크를 실행하도록 하기 위해, 수정 어드레스 및 수정 내용을 외부 기억 수단으로부터 검색하는 것과 수정 어드레스 기억 수단 및 수정 내용 기억 수단에 기록하는 것을 금지하는 전자 장치.
  2. 제 1 항에 있어서,
    통신 수단을 더 포함하며, 상기 통신 수단은 상기 외부 기억 수단에 수정 어드레스 및 수정 내용을 기록하고 갱신하기 위해 커맨드들을 상기 외부 입력 수단으로부터 전자 장치에 입력시키도록 하는 상기 외부 입력 수단과 통신하며,
    상기 제어 수단은 상기 통신 수단의 상태를 모니터하고, 상기 상태에 기초하여, 상기 액세스 전환 수단에 의해 액세스의 전환을 선택적으로 불가능하게 할 뿐만 아니라, 데이터의 기억을 수정 어드레스 기억 수단 및 수정 내용 기억 수단에 선택적으로 불가능하게 하는, 전자 장치.
  3. 제 1 항에 있어서,
    상기 액세스 전환 수단 내에 있고, 외부 입력 수단으로부터의 커맨드에 응답하여, 상기 처리 수단에 의해 상기 액세스의 전환을 금지시키기 위한 금지수단을 더 포함하는, 전자 장치.
  4. 제 1 항에 있어서,
    상기 액세스 전환 수단 내에 있고, 외부 입력 수단으로부터의 커맨드에 응답하여, 비교 수단으로부터의 일치 신호의 출력이 액세스 전환 수단에 입력되는 것으로부터 금지시키기 위한 금지 수단을 더 포함하는, 전자 장치.
KR1019930018511A 1992-09-18 1993-09-15 전자장치 KR100324834B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP92-275197 1992-09-18
JP4275197A JPH06318261A (ja) 1992-09-18 1992-09-18 電子装置

Publications (2)

Publication Number Publication Date
KR940008509A KR940008509A (ko) 1994-04-29
KR100324834B1 true KR100324834B1 (ko) 2002-06-20

Family

ID=17552039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930018511A KR100324834B1 (ko) 1992-09-18 1993-09-15 전자장치

Country Status (4)

Country Link
US (1) US5454100A (ko)
JP (1) JPH06318261A (ko)
KR (1) KR100324834B1 (ko)
DE (1) DE4331703C2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04346127A (ja) * 1991-05-23 1992-12-02 Sony Corp 電子装置
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
JP3230262B2 (ja) * 1992-01-24 2001-11-19 ソニー株式会社 電子装置及びその固定情報修正方法
JP3810805B2 (ja) * 1992-09-19 2006-08-16 ソニー株式会社 情報修正システム
JP3563768B2 (ja) * 1994-05-31 2004-09-08 株式会社ルネサステクノロジ Romプログラム変更装置
JPH08166877A (ja) * 1994-12-13 1996-06-25 Olympus Optical Co Ltd 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ
US5832263A (en) * 1996-03-15 1998-11-03 Digidox, Inc. System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent
JPH09319569A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp マイクロコンピュータ
JP2867965B2 (ja) * 1996-06-28 1999-03-10 日本電気株式会社 データ処理装置及びデータ処理方法
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US6141740A (en) * 1997-03-03 2000-10-31 Advanced Micro Devices, Inc. Apparatus and method for microcode patching for generating a next address
US5983337A (en) * 1997-06-12 1999-11-09 Advanced Micro Devices, Inc. Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction
US6476779B1 (en) * 1998-03-31 2002-11-05 Sony Corporation Video display device
JP3948692B2 (ja) * 1999-03-26 2007-07-25 シャープ株式会社 半導体記憶装置
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
JP2001256044A (ja) * 2000-03-14 2001-09-21 Sony Corp データ処理装置
DE10017934A1 (de) * 2000-04-11 2001-08-09 Fujitsu Siemens Computers Gmbh Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
DE10133994A1 (de) * 2001-07-12 2003-01-30 Conti Temic Microelectronic Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE10152458A1 (de) * 2001-10-24 2003-05-22 Giesecke & Devrient Gmbh Programmausführung bei einer Chipkarte
US7895224B2 (en) * 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
US7263521B2 (en) * 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
CA2516741C (en) * 2003-02-21 2013-10-08 Caringo, Inc. Additional hash functions in content-based addressing
US7596721B1 (en) * 2004-01-09 2009-09-29 Maxtor Corporation Methods and structure for patching embedded firmware
US7464248B2 (en) 2005-04-25 2008-12-09 Mediatek Incorporation Microprocessor systems and bus address translation methods
JP2008198060A (ja) * 2007-02-15 2008-08-28 Seiko Epson Corp 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255031A (ja) * 1991-02-06 1992-09-10 Nec Corp マイクロコンピュータ

Family Cites Families (38)

* 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
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
US4028683A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with counter
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
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
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
JPS6182201A (ja) * 1984-09-29 1986-04-25 Nec Home Electronics Ltd フエイルセ−フ制御回路
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
JPS62249231A (ja) * 1986-04-23 1987-10-30 Pfu Ltd マイクロプログラム制御処理方式
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
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
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
EP0393290B1 (en) * 1989-04-19 1995-08-16 International Business Machines Corporation Memory and peripheral chip select apparatus
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255031A (ja) * 1991-02-06 1992-09-10 Nec Corp マイクロコンピュータ

Also Published As

Publication number Publication date
DE4331703C2 (de) 2003-02-06
KR940008509A (ko) 1994-04-29
DE4331703A1 (de) 1994-04-21
US5454100A (en) 1995-09-26
JPH06318261A (ja) 1994-11-15

Similar Documents

Publication Publication Date Title
KR100324834B1 (ko) 전자장치
US6237120B1 (en) Program patching of a ROM
JP3230262B2 (ja) 電子装置及びその固定情報修正方法
JPH07117920B2 (ja) 電気的に消去可能なプログラマブル読み出し専用メモリーに常駐するファームウェアを更新する方法及び装置
KR20010070416A (ko) 컴퓨터
JP3563768B2 (ja) Romプログラム変更装置
EP0447685A2 (en) Programmable controller
US6925522B2 (en) Device and method capable of changing codes of micro-controller
KR100310486B1 (ko) 마이크로컴퓨터
KR100280590B1 (ko) 전자 장치
JP3358214B2 (ja) 電子装置
US5731972A (en) Electronic apparatus which inhibits control of certain objects during initialization processing
JP2001143495A (ja) 半導体装置
KR20020029921A (ko) 정적 기억 장치 내의 마이크로 명령어를 수정하는 방법 및장치
JP3575052B2 (ja) 電子装置
KR20000000888A (ko) 메모리의 프로그램 변경 및 독출 방법
JPH11249887A (ja) プログラム訂正装置
JP2000010772A (ja) マイクロコンピュータ
JPH05233347A (ja) 電子装置
JPH11203115A (ja) 制御装置
JPH06318262A (ja) 複数の電子装置を用いたシステム
JPH03266027A (ja) 電子機器
KR20020061195A (ko) 플래시 메모리의 프로그램 업데이트 시스템 및 그 제어방법
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法
JPH05143316A (ja) プログラムの部分修正方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090123

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee