KR100652002B1 - 롬 정정 장치 및 방법 - Google Patents

롬 정정 장치 및 방법 Download PDF

Info

Publication number
KR100652002B1
KR100652002B1 KR1019990049486A KR19990049486A KR100652002B1 KR 100652002 B1 KR100652002 B1 KR 100652002B1 KR 1019990049486 A KR1019990049486 A KR 1019990049486A KR 19990049486 A KR19990049486 A KR 19990049486A KR 100652002 B1 KR100652002 B1 KR 100652002B1
Authority
KR
South Korea
Prior art keywords
rom
program
address
rom correction
correction
Prior art date
Application number
KR1019990049486A
Other languages
English (en)
Other versions
KR20010045951A (ko
Inventor
한상철
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1019990049486A priority Critical patent/KR100652002B1/ko
Publication of KR20010045951A publication Critical patent/KR20010045951A/ko
Application granted granted Critical
Publication of KR100652002B1 publication Critical patent/KR100652002B1/ko

Links

Images

Classifications

    • 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
    • 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/0793Remedial or corrective actions
    • 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)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

롬 정정에 관련된 정보를 저장하고 그 정보를 이용하여 정확한 롬 정정이 이루어질 수 있도록 한 롬 정정 장치 및 방법에 관한 것으로, 롬 정정용 프로그램 및 롬 정정 관련 데이터를 저장하기 위한 롬 정정 데이터 저장부와, 현재 실행해야할 어드레스가 오류발생으로 지정된 어드레스일 경우 롬 정정 데이터 저장부에 저장된 롬 정정 관련 데이터를 참조로 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램인지 판단하고 그 판단결과에 따라 현재 실행해야할 어드레스에 해당하는 프로그램 대신 롬 정정 데이터 저장부에 저장된 롬 정정용 프로그램을 실행시키기 위한 마이컴을 포함하여 구성되므로 정확한 롬 정정 동작이 수행되고 마이컴의 오동작을 방지하여 해당 제품의 신뢰성을 향상시킬 수 있다.
롬 정정 버전/롬 테이블

Description

롬 정정 장치 및 방법{APPARATUS AND METHOD FOR ROM CORRECTION}
도 1은 종래의 기술에 따른 롬 정정 장치를 나타낸 블록도
도 2는 종래의 기술에 따른 롬 정정 방법을 설명하기 위한 도면
도 3은 종래의 기술에서 새로운 프로그램이 추가된 롬의 롬 정정 방법을 설명하기 위한 도면
도 4는 본 발명에 따른 롬 정정 장치를 나타낸 블록도
도 5는 본 발명에 따른 롬 정정 방법을 나타낸 플로우챠트
도 6은 본 발명에 따른 롬 정정 방법을 설명하기 위한 도면
도면의 주요부분에 대한 부호의 설명
10: 마이컴 11: 롬
12: 램 20: 롬 정정 데이터 저장부
본 발명은 롬에 저장된 프로그램을 정정하기 위한 롬 정정 장치 및 방법에 관한 것이다.
일반적으로 마이컴을 구비한 전자기기는 전원 차단시에도 전자기기의 동작에 필요한 프로그램이 손실되는 것을 방지하기 위하여 마이컴 내부에 롬(ROM) 등의 비휘발성 메모리를 사용하여 기기의 동작에 관련된 프로그램을 저장하고 외부의 이이피롬(EEPROM) 등을 이용하여 관련 정보를 저장한다.
이때 롬과 같은 비휘발성 메모리의 경우 생산 초기에 소정 프로그램을 기억시키면 이후 해당 프로그램을 정정하는 것이 불가능하므로 어떤 오류가 발생한 경우 프로그래머가 상기 오류가 정정된 프로그램을 이이피롬과 같은 마이컴 외부 메모리에 저장하고 롬에 저장된 프로그램 대신 수행되도록 하였다.
이하, 첨부된 도면을 참조하여 종래의 기술에 따른 롬 정정 장치 및 방법을 설명하면 다음과 같다.
도 1은 종래의 기술에 따른 롬 정정 장치를 나타낸 블록도, 도 2는 종래의 기술에 따른 롬 정정 방법을 설명하기 위한 도면이고, 도 3은 종래의 기술에서 새로운 프로그램이 추가된 롬의 롬 정정 방법을 설명하기 위한 도면이다.
종래의 기술에 따른 롬 정정 장치는 도 1에 도시된 바와 같이, 롬 정정용 프로그램을 저장하기 위한 이이피롬(4), 동작관련 프로그램이 내장된 롬(2)과 실제 동작실행을 위해 상기 롬(2)에 저장된 프로그램을 읽어들여 저장하기 위한 램(3)을 구비하고 현재 프로그램 카운터(도시 생략)가 지시하는 어드레스에 해당하는 프로그램이 상기 이이피롬(4)에 저장된 프로그램의 어드레스와 일치하면 상기 롬(2)에 저장된 원 프로그램 대신 상기 이이피롬(4)에 저장된 롬 정정용 프로그램을 수행하는 마이컴(1)으로 구성된다.
이때 프로그램 카운터는 마이컴(1) 내에서 현재 수행되어야할 프로그램의 어 드레스를 순차적으로 지시하기 위한 구성이다.
이와 같이 구성된 롬 정정 장치의 동작을 도 2 및 도 3을 참조하여 설명하면 다음과 같다.
먼저, 도 2와 같이, 롬(2)에는 각 어드레스별로 해당 기기의 동작을 수행하기 위한 프로그램들이 저장되어 있는데, 이중 빗금친 부분처럼 에러가 발생한 영역이 존재하면, 롬(2) 자체의 프로그램을 정정할 수 없으므로 이이피롬(4)의 일정 영역을 할당하여 롬 정정용 프로그램을 저장한다.
그리고 리셋에 의한 초기 동작이 시작되면, 마이컴(1)은 프로그램 카운터가 지시하는 어드레스와 상기 이이피롬(4)에 저장된 롬 정정용 프로그램의 어드레스를 비교하여 두 어드레스가 동일하면 에러가 발생한 부분의 시작 어드레스부터 롬(2)에 저장된 에러영역 대신 이이피롬(4)에 저장된 동일 어드레스의 프로그램을 수행한다.
이어서 롬 정정용 프로그램의 마지막 어드레스까지의 프로그램 수행이 완료되면 마이컴(1)은 롬(2)에 저장된 원래 프로그램으로 점프(Jump)하도록 명령을 하달하고 점프한 어드레스에 해당하는 원 프로그램이 수행되도록 한다.
한편, 도 3과 같이, 마이컴(1)의 롬(2)에 새로운 프로그램이 추가된 경우 원래 에러가 발생한 어드레스 영역이 뒤로 밀려 원래의 어드레스와 다르게 되는데, 이때 롬(2)과 이이피롬(4)의 어드레스를 일치시키지 못하는 경우 문제가 발생하게 된다.
즉, 상술한 이이피롬(4)에 저장된 롬 정정용 프로그램을 이용하여 롬 정정을 수행할 경우 도 3에서 실제 롬 정정용 프로그램을 수행해야할 어드레스는 상기 새로 추가된 프로그램으로 인해 '2007H'인데, 실제로는 '2002H'부터 수행하게 된다. 그리고 롬 정정용 프로그램을 종료하고 원 프로그램으로 점프해야할 어드레스는 '2011H'인데, 실제로는 '200BH'으로 점프하게 되어 마이컴(1) 동작 이상을 초래한다.
종래의 기술에 따른 롬 정정장치 및 방법은 새로운 프로그램 추가 등으로 인한 어드레스 변경시 해당 롬 정정용 프로그램 저장장치와의 어드레스 불일치로 인한 마이컴의 이상으로 해당 제품의 동작오류를 초래할 수 있는 문제점이 있다.
따라서 본 발명은 상기한 종래의 문제점을 해결하기 위하여 안출한 것으로서, 롬 정정에 관련된 정보를 저장하고 그 정보를 이용하여 정확한 롬 정정이 이루어질 수 있도록 한 롬 정정 장치 및 방법을 제공함에 그 목적이 있다.
본 발명에 따른 롬 정정 장치는 롬 정정용 프로그램 및 롬 정정 관련 데이터를 저장하기 위한 롬 정정 데이터 저장부와, 현재 실행해야할 어드레스가 오류발생으로 지정된 어드레스일 경우 롬 정정 데이터 저장부에 저장된 롬 정정 관련 데이터를 참조로 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램인지 판단하고 그 판단결과에 따라 현재 실행해야할 어드레스에 해당하는 프로그램 대신 롬 정정 데이터 저장부에 저장된 롬 정정용 프로그램을 실행시키기 위한 마이컴을 포함하여 구성됨을 특징으로 한다.
본 발명에 따른 롬 정정 방법은 현재 실행해야할 어드레스가 오류발생으로 지정된 어드레스인지 판단하는 단계와, 오류발생으로 지정된 어드레스이면 롬 정정 데이터 저장부에 저장된 롬 정정 관련 데이터를 참조로 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램인지 판단하는 단계와, 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램이면 현재 실행해야할 어드레스의 프로그램 대신 롬 정정 데이터 저장부에 저장된 롬 정정용 프로그램을 실행하는 단계를 포함하여 이루어짐을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 롬 정정 장치 및 방법의 바람직한 일실시예를 상세히 설명하면 다음과 같다.
도 4는 본 발명에 따른 롬 정정 장치를 나타낸 블록도, 도 5는 본 발명에 따른 롬 정정 방법을 나타낸 플로우챠트이고, 도 6은 본 발명에 따른 롬 정정 방법을 설명하기 위한 도면이다.
본 발명에 따른 롬 정정 장치는 도 4에 도시된 바와 같이, 롬 정정용 프로그램 및 롬 정정 관련 데이터를 저장하기 위한 롬 정정 데이터 저장부(20), 동작관련 프로그램을 저장하기 위한 롬(11)을 구비하고 상기 롬 정정 데이터 저장부(20)에 저장된 롬 정정 관련 데이터에 따라 상기 롬(11)에 저장된 프로그램 대신 상기 롬 정정 데이터 저장부(20)에 저장된 롬 정정용 프로그램을 수행하기 위한 마이컴(10)을 포함하여 구성된다.
이때 롬 정정 데이터 저장부(20)는 해당 기기의 이이피롬중 소정 영역을 할당하여 이루어진다. 그리고 상기 소정 영역을 분할하여 롬 정정용 프로그램과, 롬 정정 기능 수행이 가능한지 여부를 파악하기 위한 롬 정정 이네이블 데이터와, 롬 정정 레벨 또는 롬 정정 회수를 표시하기 위한 롬 버전과, 롬 정정 시작 어드레스와, 현재 수행되어야할 어드레스에 해당하는 프로그램이 기설정된 오류발생 프로그램인지 여부를 파악하기 위해 상기 롬(11)에 저장된 에러 프로그램을 최대 32 바이트(Byte)까지 복사하여 기록한 롬 테이블로 구성된다.
이어서 마이컴(10)은 상기 롬(11)에 저장된 프로그램을 실제 실행을 위해 읽어들여 임시 저장하기 위한 램(12)을 구비한다.
이와 같이 구성된 본 발명의 롬 정정 동작을 도 5 및 도 6을 참조하여 설명하면 다음과 같다.
먼저, 도 6과 같이, 롬(11)에 저장된 프로그램중 에러영역이 발견되면 상기 롬 정정 데이터 저장부(20)에 해당 에러영역을 정정하여 대신 사용할 수 있는 롬 정정용 프로그램을 기록하고 이와 함께 상술한 롬 정정 이네이블 데이터, 롬 버전, 롬 정정 시작 어드레스 및 롬 테이블을 기록한다.
이어서 마이컴(10)이 리셋되면, 먼저 롬 정정 데이터 저장부(20)에서 롬 정정 이네이블/디스에이블 데이터를 읽어들인다(S51).
그리고 롬 정정이 가능한지 즉, 이네이블인지 판단하여(S52), 가능하면 롬 정정 데이터 저장부(20)에서 32바이트의 롬 테이블을 읽어들이고 롬 정정 시작 어드레스 즉, '2002H'를 읽어들여 램(12)에 저장한다(S53).
이때 롬 테이블을 32바이트로 한정하는 이유는 롬(11)에서 에러가 발생하는 영역이 대부분 최고 32바이트 이하이고 롬 정정 데이터 저장부(20)는 메모리 영역 을 할당한 것으로 그 용량에도 한계가 있으므로 이외의 다른 정보를 위해 메모리 사용을 최소화하기 위함이다.
이어서 상기 롬의 에러영역 데이터 즉, '2002H ~ 200BH'의 어드레스에 해당하는 '4BH ~ 44H'와 롬 테이블을 비교하여(S54), 서로 동일하면 롬 정정 버전을 읽어들인다(S55).
그리고 상기 마이컴(10)의 롬 버전과 롬 정정 버전이 동일한지 판단하여(S56), 동일하면 현재까지의 모든 조건 즉, 롬 정정 이네이블 데이터/롬 버전/롬 테이블을 만족하여 정확한 롬 정정이 이루어질 것으로 판단되므로 롬 정정용 프로그램 즉, '64H ~ 20H'를 읽어들여 실제 실행을 위해 내부 램(12)에 저장한다(S57).
이어서 마이컴(10) 내부의 프로그램 카운터가 지시하는 어드레스와 상기 램(12)에 저장된 롬 정정 시작 어드레스가 일치하는지 판단하여(S58), 일치하면 즉, 현재 수행되어야 하는 프로그램이 에러가 발생한 프로그램이면 롬(11)에 저장된 프로그램 대신 상기 롬 정정 시작 어드레스에 해당하는 롬 정정 데이터 저장부(20)에 저장된 롬 정정용 프로그램을 수행한다(S59).
한편, 상기 판단결과들(S52)(S54)(S56)(S58)중 하나라도 만족하지 못할 경우 롬(11)에 저장된 원래 프로그램을 프로그램 카운터가 지시하는 어드레스 순으로 수행한다(S60).
본 발명에 따른 롬 정정 장치 및 방법은 어드레스 변화 등 롬 정정 에러발생 요소에 대응하기 위한 롬 정정 관련 데이터를 롬 정정용 프로그램과 함께 해당 메모리에 저장하고 마이컴이 이를 참조로 롬 정정동작을 수행할 수 있도록 하므로 정확한 롬 정정 동작이 수행되어 마이컴의 오동작을 방지하므로 해당 제품의 신뢰성을 향상시킬 수 있는 효과가 있다.

Claims (3)

  1. 롬 정정용 프로그램 및 롬 정정 관련 데이터를 저장하기 위한 롬 정정 데이터 저장부;
    현재 실행해야할 어드레스가 오류발생으로 지정된 어드레스일 경우 상기 롬 정정 데이터 저장부에 저장된 롬 정정 관련 데이터를 참조로 상기 어드레스의 프로그램이 실제로 오류가 발생한 부분에 해당하여 롬 정정이 수행되어야할 프로그램인지 판단하고 그 판단결과에 따라 상기 어드레스에 해당하는 프로그램 대신 상기 롬 정정 데이터 저장부에 저장된 롬 정정용 프로그램을 실행시키기 위한 마이컴을 포함하여 구성됨을 특징으로 하는 롬 정정 장치.
  2. 롬 정정 데이터 저장부 및 마이컴을 구비한 롬 정정 장치의 롬 정정 방법에 있어서,
    현재 실행해야할 어드레스가 오류발생으로 지정된 어드레스인지 판단하는 단계,
    오류발생으로 지정된 어드레스이면 상기 롬 정정 데이터 저장부에 저장된 롬 정정 관련 데이터를 참조로 상기 현재 실행해야할 어드레스의 프로그램이 실제로 오류가 발생한 부분에 해당하여 롬 정정이 수행되어야할 프로그램인지 판단하는 단계,
    상기 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램이면 상기 현재 실행해야할 어드레스의 프로그램 대신 상기 롬 정정 데이터 저장부에 저장된 롬 정정용 프로그램을 실행하는 단계를 포함하여 이루어짐을 특징으로 하는 롬 정정 방법.
  3. 제2 항에 있어서,
    상기 롬 정정 관련 데이터를 참조로 상기 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램인지 판단하는 단계는
    롬 정정이 요구되는 어드레스의 프로그램과 롬 테이블을 비교하는 제1 단계,
    상기 제1 단계의 비교결과 서로 동일하면 마이컴의 롬 버전과 롬 정정 버전을 비교하는 제2 단계,
    상기 제2 단계의 비교결과 서로 동일하면 현재 실행해야할 어드레스의 프로그램이 실제 롬 정정이 수행되어야할 프로그램으로 판단하는 단계를 포함하여 이루어짐을 특징으로 하는 롬 정정 방법.
KR1019990049486A 1999-11-09 1999-11-09 롬 정정 장치 및 방법 KR100652002B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990049486A KR100652002B1 (ko) 1999-11-09 1999-11-09 롬 정정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990049486A KR100652002B1 (ko) 1999-11-09 1999-11-09 롬 정정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010045951A KR20010045951A (ko) 2001-06-05
KR100652002B1 true KR100652002B1 (ko) 2006-11-30

Family

ID=19619237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990049486A KR100652002B1 (ko) 1999-11-09 1999-11-09 롬 정정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100652002B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218886B1 (ko) * 2010-11-24 2013-01-07 재단법인대구경북과학기술원 메모리 보호를 위한 컨트롤러 장치 및 컨트롤러 장치의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60145596A (ja) * 1984-01-09 1985-08-01 Nec Corp マスクromのプログラム制御装置
JPS62248035A (ja) * 1986-04-21 1987-10-29 Nec Corp プログラム修正方式
JPH0333926A (ja) * 1989-03-28 1991-02-14 Olympus Optical Co Ltd ワンチップマイクロコンピュータ
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
JPH05233266A (ja) * 1992-02-18 1993-09-10 Nec Home Electron Ltd 情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60145596A (ja) * 1984-01-09 1985-08-01 Nec Corp マスクromのプログラム制御装置
JPS62248035A (ja) * 1986-04-21 1987-10-29 Nec Corp プログラム修正方式
JPH0333926A (ja) * 1989-03-28 1991-02-14 Olympus Optical Co Ltd ワンチップマイクロコンピュータ
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
JPH05233266A (ja) * 1992-02-18 1993-09-10 Nec Home Electron Ltd 情報処理装置

Also Published As

Publication number Publication date
KR20010045951A (ko) 2001-06-05

Similar Documents

Publication Publication Date Title
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP4911576B2 (ja) 情報処理装置および追記型メモリ利用方法
US6336176B1 (en) Memory configuration data protection
JP4834721B2 (ja) メモリ制御装置およびメモリ制御方法
RU2269814C2 (ru) Способ надежной записи указателя для кольцевой памяти
CN110442473B (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN102662715B (zh) 一种嵌入式操作系统启动方法
KR100717110B1 (ko) 롬 데이터 패치 회로, 이를 포함하는 임베디드 시스템 및롬 데이터 패치 방법
KR20000023497A (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시메모리에 프로그램을 저장하는 방법
CN108776627B (zh) 一种数据存储方法、装置、读取方法及装置
KR100894251B1 (ko) 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
US7590793B2 (en) Data access controlling method in flash memory and data access controlling program
US20070233940A1 (en) Method for updating data in flash memory
KR100652002B1 (ko) 롬 정정 장치 및 방법
US7490321B2 (en) Method for updating firmware via determining program code
CN110956284A (zh) 一种产品信息的可靠性维护方法、系统、设备及存储介质
CN116755735A (zh) 嵌入式软件在线升级方法、装置、腹膜透析仪、存储介质
US7490232B2 (en) Disk device using disk to rewrite firmware and firmware determination method
JP2004013719A (ja) 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法
US7725644B2 (en) Memory device and an arrangement for protecting software programs against inadvertent execution
US6377493B1 (en) Semiconductor apparatus
JP3358214B2 (ja) 電子装置
US20060069847A1 (en) Corruption tolerant method and system for deploying and modifying data in flash memory
JP3314719B2 (ja) フラッシュeepromとその試験方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121026

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141024

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151023

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee