KR20080084181A - 마이크로 컨트롤러 및 업데이트 방법 - Google Patents

마이크로 컨트롤러 및 업데이트 방법 Download PDF

Info

Publication number
KR20080084181A
KR20080084181A KR1020070025509A KR20070025509A KR20080084181A KR 20080084181 A KR20080084181 A KR 20080084181A KR 1020070025509 A KR1020070025509 A KR 1020070025509A KR 20070025509 A KR20070025509 A KR 20070025509A KR 20080084181 A KR20080084181 A KR 20080084181A
Authority
KR
South Korea
Prior art keywords
storage unit
microcontroller
program
stored
update
Prior art date
Application number
KR1020070025509A
Other languages
English (en)
Other versions
KR100891390B1 (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 KR1020070025509A priority Critical patent/KR100891390B1/ko
Priority to US11/958,371 priority patent/US8108663B2/en
Publication of KR20080084181A publication Critical patent/KR20080084181A/ko
Application granted granted Critical
Publication of KR100891390B1 publication Critical patent/KR100891390B1/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
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 마이크로 컨트롤러에 관한 것으로, 시스템의 파워온 동작을 수행하기 위한 프로그램 데이터를 저장하는 제 1 저장부; 및 상기 제 1 저장부의 제어에 의해 시스템이 동작하는 동안 외부 저장수단으로부터 로딩되는 시스템 동작을 위한 알고리즘 프로그램 데이터를 임시 저장하는 제 2 저장부를 포함한다.
마이크로 컨트롤러, ROM, RAM

Description

마이크로 컨트롤러 및 업데이트 방법{Micro controller and method of updating the same}
도 1은 종래의 마이크로 컨트롤러의 구조를 나타낸 블록도이다.
도 2는 본 발명의 실시 예에 따른 마이크로 컨트롤러 적용 시스템의 구조를 나타낸 블록도이다.
도 3은 도 2의 마이크로 컨트롤러 업데이트 방법의 동작 상태에 따른 도면이다.
도 4는 본 발명의 실시 예에 따른 마이크로 컨트롤러 업데이트 방법의 동작 순서도이다.
*도면의 주요 부분의 간단한 설명*
200 : 메모리 소자 210 : 명령 인터페이스부
220 : 오실레이터 230 : 컨트롤러부
231 : 클럭 생성부 232 : RAM
233 : 프로그램 카운터 234 : ROM
235 : 명령 디코더 236 : 플래그 처리부
237 : 출력 제어부 240 : 메모리 컨트롤러
250 : 메모리 셀 어레이
본 발명은 메모리 소자의 마이크로 컨트롤러에 관한 것으로, 특히 시스템의 동작을 제어하는 내부 알고리즘을 업데이트할 수 있는 마이크로 컨트롤러 및 업데이트 방법에 관한 것이다.
최근, 캠코더, 디지털 카메라, 휴대폰, MP3(MPEG-1 Layer3) 플레이어 등과 같은 모바일(mobile) 제품들에 대한 수요가 증가함에 따라 모바일 제품들의 동작 성능을 더욱 향상시키기 위한 노력들이 이루어지고 있다. 특히, 모바일 제품은 저 전력으로 장시간 동안 동작해야 하기 때문에, 저 전력 소비형 모바일 제품들이 많이 개발되고 있다. 이처럼 모바일 제품의 소비 전력을 줄이기 위해서는 모바일 제품에 포함되는 반도체 칩들의 소비 전력이 감소되어야 한다. 한편, 모바일 제품에서는 내부의 각 장치들의 동작을 제어하기 위한 마이크로 컨트롤러가 사용된다. 마이크로 컨트롤러는 내부적인 연산(예를 들어, 산술(arithmetic) 연산, 부울 연산(Boolean operation) 등) 처리를 실행하고, 클록 신호에 동기 하여 시스템 내부의 전반적인 타이밍 제어뿐만 아니라 각 장치들의 동작을 제어하는 제어 신호를 발생한다.
도 1은 종래의 마이크로 컨트롤러의 구조를 나타낸 블록도이다.
도 1을 참조하면, 외부로부터 입력되는 명령(Command)을 처리하는 명령 인터페이스부(110)와 클럭 생성을 위한 오실레이터(120)와 연결되는 마이크로 컨트롤 러(130)는 오실레이터(120)로부터 제공되는 두 가지 종류의 클럭(Clock1, Clock2)을 입력받아 동작에 필요한 클럭을 생성하는 클럭 발생부(131)와, 명령 동작을 위한 프로그램 알고리즘 정보를 저장하는 저장부(132)와, 저장부(132)의 명령 실행을 위한 어드레스 카운트를 수행하는 프로그램 카운터(133)와, 상기 저장부(132)에 저장된 명령 디코딩을 위한 명령 디코더(134)와, 상기 명령 디코더(134)에서 전달하는 플래그 정보를 처리하여 클럭 생성부(131)에 제공하여 동작 클럭을 생성하도록 하는 플래그 처리부(135) 및 상기 저장부(132) 또는 명령 디코더(134)가 출력하는 제어 명령을 메모리 소자의 동작을 위해 출력하는 출력 제어부(136)를 포함한다.
상기한 마이크로 컨트롤러(130)는 명령 인터페이스부(110)를 통해 입력되는 동작 명령에 따라 저장부(132)에 저장된 프로그램 알고리즘이 구동을 하고, 프로그램 카운터(133)에 의해 저장부(132)의 어드레스가 변경되면서 차례로 프로그램 알고리즘이 명령 디코더(134), 플래그 처리부(135) 또는 출력 제어부(136)로 버스(M_BUS<i-1:0>)로 출력된다.
플래그 처리부(135)는 명령 디코더(134) 또는 저장부(132)로부터 입력되는 플래그 정보에 따라 클럭 생성부(131)가 동작 클럭을 생성하여 저장부(132)에 제공하도록 하고, 명령 디코더(134)는 저장부(132)로부터 전달되는 명령어를 디코딩하여 플래그 처리부(135) 또는 출력 제어부(136)로 전달한다.
출력 제어부(136)는 저장부(132) 또는 명령 디코더(134)로부터 전달되는 제어신호들을 외부로 출력한다.
상기의 마이크로 컨트롤러(130)의 저장부(132)에는 메모리 소자의 동작 제어 를 위한 알고리즘 프로그램이 저장되어있으며, 일반적으로 ROM(Read Only Memory)이 이용된다. ROM으로 구성되는 저장부(132)는 ROM의 특성에 따라 저장된 알고리즘 프로그램의 변경 또는 업그레이드가 불가능하다.
따라서 본 발명이 이루고자 하는 기술적 과제는 마이크로 컨트롤러의 동작 제어를 위한 알고리즘 프로그램이 저장되는 롬을 변경하여 동작 알고리즘 프로그램을 변경할 수 있도록 하는 마이크로 컨트롤러 및 업데이트 방법을 제공하는데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 마이크로 컨트롤러는,
시스템의 파워온 동작을 수행하기 위한 프로그램 데이터를 저장하는 제 1 저장부; 및 상기 제 1 저장부의 제어에 의해 시스템이 동작하는 동안 외부 저장수단으로부터 로딩되는 시스템 동작을 위한 알고리즘 프로그램 데이터를 임시 저장하는 제 2 저장부를 포함한다.
상기 제 1 저장부는 ROM(Read Only Memory)인 것을 특징으로 한다.
상기 파워온 동작은, 상기 외부 저장수단에 저장된 알고리즘 프로그램을 로딩하여 상기 제 2 저장부에 임시 저장하는 동작을 포함하는 것을 특징으로 한다.
상기 제 2 저장부는 RAM(Random Access Memory)인 것을 특징으로 한다.
본 발명의 특징에 따른 마이크로 컨트롤러의 업데이트 방법은,
마이크로 컨트롤러의 업데이트 방법에 있어서, 입력되는 업데이트 명령에 따라, 마이크로 컨트롤러의 외부에 연결되는 저장수단에 업데이트 데이터를 저장하는 단계; 상기 외부 저장수단에 저장된 업데이트 데이터를 로딩하여 상기 마이크로 컨트롤러에 저장부에 임시 저장하는 단계; 및 상기 마이크로 컨트롤러의 저장부에 임시 저장된 데이터를 구동하여 동작 제어를 수행하는 단계를 포함한다.
상기 마이크로 컨트롤러의 파워 온 동작시, 상기 마이크로 컨트롤러의 제 1 저장부의 프로그램이 동작하는 단계; 상기 제 1 저장부의 프로그램에 의해 상기 외부 저장수단에 저장된 동작 프로그램을 로딩하여 상기 마이크로 컨트롤러의 제 2 저장부에 임시 저장하는 단계; 및 상기 제 2 저장부에 저장된 동작 프로그램을 실행하는 단계를 포함한다.
상기 외부 저장수단에 저장된 업데이트 데이터는, 상기 제 1 저장부에 저장된 프로그램 동작에 의해 로딩되어 제 2 저장부에 임시 저장되는 것을 특징으로 한다.
상기 마이크로 컨트롤러의 동작 종료시, 상기 제 2 저장부에 임시 저장된 동작 프로그램을 상기 외부 저장수단에 저장하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따른 마이크로 컨트롤러의 업데이트 방법은,
마이크로 컨트롤러의 업데이트 방법에 있어서, 입력되는 업데이트 명령에 따라, 상기 마이크로 컨트롤러의 저장부에 업데이트 데이터를 임시 저장하는 단계; 상기 마이크로 컨트롤러의 저장부에 임시 저장된 데이터를 구동하여 동작 제어를 수행하는 단계; 및 상기 마이크로 컨트롤러의 동작 종료시 상기 마이크로 컨트롤러의 저장부에 임시 저장된 업데이트 데이터를 외부의 저장수단에 저장하는 단계를 포함한다.
상기 마이크로 컨트롤러의 파워 온 동작시, 상기 마이크로 컨트롤러의 제 1 저장부의 프로그램이 동작하는 단계; 상기 제 1 저장부의 프로그램에 의해 상기 외부 저장수단에 저장된 동작 프로그램을 로딩하여 상기 마이크로 컨트롤러의 제 2 저장부에 임시 저장하는 단계; 및 상기 제 2 저장부에 저장된 동작 프로그램을 실행하는 단계를 포함한다.
상기 업데이트 데이터는 상기 제 2 저장부에 임시 저장되는 것을 특징으로 한다.
상기 마이크로 컨트롤러의 종료시, 상기 제 1 저장부의 프로그램이 동작하여 업데이트 여부를 판단하는 단계; 및 상기 판단결과, 업데이트가 있는 경우 상기 제 2 저장부에 임시 저장된 데이터를 상기 외부 저장수단에 저장하는 단계를 포함한다.
상기 판단결과, 업데이트가 없는 경우 상기 제 2 저장부의 데이터를 상기 외부 저장수단에 저장하지 않는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공 되는 것이다.
도 2는 본 발명의 실시 예에 따른 마이크로 컨트롤러 적용 시스템의 구조를 나타낸 블록도이다.
상세하게, 도 2는 본 발명의 실시 예에 따른 낸드 플래시 메모리에 연결되는 마이크로 컨트롤러의 구조를 나타낸 도면이다.
도 2를 참조하면, 낸드 플래시 메모리와 연결되는 마이크로 컨트롤러(230)는 외부로부터 명령을 입력받아 전달받기 위한 명령 인터페이스부(210)와, 클럭 발생하는 오실레이터(220)와 연결되며 또한 메모리 셀 어레이(250)와 메모리 컨트롤러(240)와도 연결된다.
마이크로 컨트롤러(230)는 클럭 생성부(231)와, 저장부(232)와, 명령 디코더(235)와, 플래그 처리부(236) 및 출력 제어부(237)를 포함한다. 이때, 저장부(232)는 프로그램 카운터(233)와, ROM(234) 및 RAM(Random Access Memory)을 포함하여 구성된다.
클럭 생성부(231)는 오실레이터(220)가 제공하는 기본클럭과 플래그 처리부(237)로부터 입력되는 플래그 정보에 따라 동작 클럭을 생성하여 저장부(232)에 제공한다.
상기 클럭 생성부(231)가 생성하는 동작 클럭에 따라 프로그램 카운터(233)가 동작하며, 프로그램 카운터(233)의 카운팅 신호에 따라 ROM(234) 또는 RAM(235)의 알고리즘 프로그램의 동작을 제어한다.
ROM(234)에는 상기 메모리 소자의 기본 동작을 위한 알고리즘 프로그램이 저 장되어 있다. 이때 기본 동작이라 함은 초기 구동시의 초기화 동작, RAM(235)에 데이터를 업데이트하기 위한 제어 동작 등을 포함한다.
RAM(235)은 메모리 소자의 구동시에 메모리 셀 어레이(250)에 저장되어 있던 기본 동작 알고리즘 프로그램 이외의 알고리즘 프로그램이 저장되어 메모리 소자가 구동하는 동안 동작할 수 있도록 하고 전원이 오프되면 저장된 데이터의 내용이 삭제된다.
명령 디코더(236)는 저장부(232)로부터 출력되는 명령어를 디코딩하여 출력하고, 플래그 처리부(237)는 저장부(232) 또는 명령 디코더(236)로부터 전달되는 플래그 정보를 처리하여 클럭생성부(231)에 제공한다.
출력 제어부(238)는 명령 디코더(236) 또는 저장부(232)에서 출력되는 명령 신호를 외부로 출력한다.
메모리 셀 어레이(250)는 데이터 저장이 가능한 복수개의 셀로 구성되며, 메모리 셀 어레이(250)에 설정된 주소 영역에는 메모리 소자의 구동이 시작할 때, RAM(235)에 옮겨질 알고리즘 프로그램이 저장되어 있다. 즉 메모리 소자가 구동을 시작하면 메모리 셀 어레이(250)의 설정된 주소 영역에서 데이터를 로딩하고, 로딩된 데이터를 RAM(235)에 임시 저장하고 메모리 소자에 파워가 제공되는 동안 동작할 수 있도록 한다.
메모리 컨트롤러(240)는 상기 메모리 셀 어레이(250)에 데이터를 저장, 독출 하기 위한 동작 제어를 수행한다. 또한 메모리 셀 어레이(250)의 동작을 위해 필요한 페이지 버퍼(미도시)를 포함한 주변의 회로는 생략하였다.
상기 상기한 마이크로 컨트롤러(230)를 포함하는 메모리 소자는 전원이 인가되면 ROM(234)에 저장되어 있는 기본 동작 알고리즘 프로그램이 구동하고, 상기 기본 동작 알고리즘 프로그램이 메모리 컨트롤러(240)를 제어하여 메모리 셀 어레이(250)의 설정된 주소 영역의 알고리즘 프로그램 데이터를 로딩하고, 로딩된 데이터를 RAM(235)에 저장하도록 제어한다.
RAM(235)에 알고리즘 프로그램 데이터가 저장된 이후에는, 메모리 소자의 동작들이 RAM(235)에 저장된 알고리즘 프로그램 데이터에 의해 제어된다.
따라서 ROM(234)에 저장되는 기본 동작 알고리즘 프로그램 이외에 메모리 소자의 동작을 제어하는 알고리즘 프로그램을 수정하거나, 업데이트하기 위해서는 메모리 소자에 파워가 제공되는 동안 외부로부터 RAM(235)에 직접 액세스하여 알고리즘 프로그램을 저장하고, 파워 오프 동작시에 이를 메모리 셀 어레이(250)에 저장하도록 할 수 있다. 또한 메모리 셀 어레이(250)에 설정된 주소 영역의 데이터를 바꾸어 RAM(235)에 로딩되는 알고리즘 프로그램 데이터를 변경하여 업데이트하는 것도 가능하다.
도 3은 도 2의 마이크로 컨트롤러 업데이트 방법의 동작 상태에 따른 도면이다.
도 3을 참조하면, 마이크로 컨트롤러(230)의 알고리즘 프로그램을 업데이트하기 위해서는 먼저 메모리 소자에 전원이 온 되고, ROM(234)가 메모리 컨트롤러(240)를 제어하여 메모리 셀 어레이(250)에 저장된 알고리즘 프로그램 데이터를 로딩하도록 하는 로딩 상태(310)로 상태 변경이 된다.
상기 로딩 상태(310)에서는 메모리 컨트롤러(240)가 메모리 셀 어레이(250)를 제어하여 설정된 주소 영역에 저장된 알고리즘 프로그램 데이터를 독출하고, 독출된 데이터를 RAM(235)로 저장하는 동작을 수행한다.
로딩 상태(310) 이후에는 RAM(235)에 저장된 알고리즘 프로그램 데이터를 이용한 실행 상태(340)로 변경되며(S301), 실행 상태(340)에서는 ROM(234)와 RAM(235)에 저장된 알고리즘 프로그램을 이용한 마이크로 컨트롤러(230)의 일반적인 동작을 실행한다. 즉 메모리 소자의 제어 동작을 수행한다.
상기 실행 상태(340)와 로딩 상태(310)는 명령 인터페이스부(210)로부터 입력되는 명령의 종류에 따라 되풀이 된다(S301, S302). 즉 메모리 셀 어레이(250)에 저장된 모든 알고리즘 프로그램 데이터를 한번에 로딩 하여 RAM(232)에 저장할 수도 있으나, 입력되는 명령에 따라 필요한 알고리즘 프로그램 데이터만을 로딩 하여 RAM(232)에 저장하여 실행하도록 하는 것도 가능하다.
그리고 실행 상태(340)에서 알고리즘 프로그램이 업데이트되기 위해 외부로부터 직접 RAM(235)에 알고리즘 프로그램이 저장되는 저장상태(330)로 변경될 수 있다(S307).
또한 로딩상태(310)에서 ROM(234)이 기본 동작 알고리즘 프로그램을 구동하여 업데이트 상태(320)로 천이한 후(S303), 입력되는 알고리즘 프로그램을 그대로 메모리 셀 어레이(250)로 저장하도록 하는 저장상태(330)로 변경될 수도 있다(S305).
또한 업데이트 상태(320)에서 업데이트 내용을 메모리 셀 어레이(250)가 아 닌 RAM(235)에 바로 저장하도록 하여 실행 상태(340)로 천이하고(S304), 전원 오프 동작시에 저장 상태(330)로 천이하여 RAM(235)에 저장된 알고리즘 프로그램을 메모리 셀 어레이(250)에 저장하도록 할 수 있다.
상술한 각각의 상태(310 내지 340)간의 천이 동작을 제어하기 위한 최소한의 프로그램이 ROM(234)에 저장된다.
상술한 업데이트 방식을 간략히 다시 정리하여 설명하면 두 가지 방식으로 나눌 수 있다.
첫 번째로 메모리 소자가 동작하는 동안 명령 인터페이스부(210)로부터 입력되는 업데이트 프로그램이 있는 경우, 이를 ROM(234)에서 확인하여 메모리 컨트롤러(240)를 제어하여 입력되는 업데이트 프로그램을 메모리 셀 어레이(250)에 저장한다. 그리고 메모리 셀 어레이(250)에 저장된 업데이트 프로그램을 로딩 하여 RAM(235)에 저장하고, 실행한다.
두 번째로는 메모리 소자가 동작하는 동안 명령 인터페이스부(210)로부터 입력되는 업데이트 프로그램은 그대로 RAM(235)에 저장된다. 그리고 저장된 업데이트 프로그램을 실행하여 메모리 소자가 동작을 한다. 이후에 메모리 소자가 동작을 마치고 전원 오프를 하는 단계에서 RAM(235)에 저장되었던 업데이트 프로그램이 메모리 셀 어레이(250)로 저장된다.
상기의 두 번째 방식을 예를 들어 동작 순서를 좀더 자세히 설명하면 다음과 같다.
도 4는 본 발명의 실시 예에 따른 마이크로 컨트롤러 업데이트 방법의 동작 순서도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 메모리 소자의 동작을 위한 파워온이 되면(S401), ROM(234)의 기본 동작 프로그램이 로딩 되어 동작을 시작한다(S402). ROM(234)에 저장되어 있는 기본 동작 프로그램이 구동되면, 우선 메모리 셀 어레이(250)에 저장되어 있는 알고리즘 프로그램 데이터를 로딩 한다(S403).
상기 단계 S403에서 로딩된 데이터는 RAM(235)에 저장된다(S405). 그리고 명령 인터페이스부(210)로부터 입력되는 동작 명령에 따라 RAM(235)에 저장되어 있는 알고리즘 프로그램이 선택되어 실행된다.
명령 인터페이스부(210)로부터 알고리즘 프로그램 업데이트에 관련된 명령이 입력되면(S405), 입력되는 업데이트 데이터는 RAM(235)에 저장된다(S406). RAM(235)에 저장된 업데이트 데이터는 메모리 소자가 동작하는 동안 실행되어 새로운 알고리즘 프로그램에 의한 메모리 소자의 동작 제어가 가능하다(S407).
이후에 시스템에 파워 오프 명령이 입력되면(S408), ROM(234)는 RAM(235)에 저장되어 있던 모든 알고리즘 프로그램을 메모리 셀 어레이(250)에 저장하고 종료하도록 동작을 제어한다(S409).
상기 ROM(234)는 파워 오프 명령이 입력되는 경우, 업데이트했던 알고리즘 프로그램이 있었는지를 확인하여 업데이트가 없는 경우는 RAM(235)에 알고리즘 프로그램 데이터를 메모리 셀 어레이(250)에 저장하는 단계를 실행하지 않도록 할 수 있다.
또한 도 3의 설명에서 서술한 바와 같이, 업데이트 명령이 입력되면 ROM(234)이 바로 메모리 컨트롤러(240)를 제어하여 입력되는 업데이트 데이터를 메모리 셀 어레이(250)에 저장하고, 저장된 데이터를 로딩하여 RAM(235)에 저장할 수도 있다.
또한 본 발명의 실시 예와 같이 플래시 메모리 소자에 마이크로 컨트롤러의 경우는 메모리 셀 어레이(250)의 일부분을 설정하여 알고리즘 프로그램을 저장하는 것이 가능하고, 그밖에 마이크로 컨트롤러를 적용하는 시스템에서는 별도의 저장장치에 알고리즘 프로그램을 저장하고, 시스템이 동작할 때만 저장된 알고리즘 프로그램을 RAM으로 로딩한 후, 동작하도록 한다. 따라서 알고리즘 프로그램이 저장되는 저장장치는 시스템에 따라 변경이 가능하다. 또한 만약 RAM의 크기가 작다면 입력되는 명령에 따라 필요한 알고리즘 프로그램만을 로딩하여 RAM으로 로딩시켜 동작하는 과정을 반복하도록 한다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 마이크로 컨트롤러 및 업데이트 방법은 필요한 프로그램 이외의 알고리즘 프로그램을 별도의 저장 장치에 저장하 고, 마이크로 컨트롤러 구동시 램에 알고리즘 프로그램을 로딩시켜 동작하도록 함으로써 시스템의 동작 변경 및 업그레이드에 따라 마이크로 컨트롤러의 성능 변경이 자유롭다.

Claims (13)

  1. 시스템의 파워온 동작을 수행하기 위한 프로그램 데이터를 저장하는 제 1 저장부; 및
    상기 제 1 저장부의 제어에 의해 시스템이 동작하는 동안 외부 저장수단으로부터 로딩되는 시스템 동작을 위한 알고리즘 프로그램 데이터를 임시 저장하는 제 2 저장부
    를 포함하는 마이크로 컨트롤러.
  2. 제 1항에 있어서,
    상기 제 1 저장부는 ROM(Read Only Memory)인 것을 특징으로 하는 마이크로 컨트롤러.
  3. 제 1항에 있어서,
    상기 파워온 동작은,
    상기 외부 저장수단에 저장된 알고리즘 프로그램을 로딩하여 상기 제 2 저장부에 임시 저장하는 동작을 포함하는 것을 특징으로 하는 마이크로 컨트롤러.
  4. 제 1항에 있어서,
    상기 제 2 저장부는 RAM(Random Access Memory)인 것을 특징으로 하는 마이 크로 컨트롤러.
  5. 마이크로 컨트롤러의 업데이트 방법에 있어서,
    입력되는 업데이트 명령에 따라, 마이크로 컨트롤러의 외부에 연결되는 저장수단에 업데이트 데이터를 저장하는 단계;
    상기 외부 저장수단에 저장된 업데이트 데이터를 로딩하여 상기 마이크로 컨트롤러에 저장부에 임시 저장하는 단계; 및
    상기 마이크로 컨트롤러의 저장부에 임시 저장된 데이터를 구동하여 동작 제어를 수행하는 단계
    를 포함하는 마이크로 컨트롤러의 업데이트 방법.
  6. 제 5항에 있어서,
    상기 마이크로 컨트롤러의 파워 온 동작시,
    상기 마이크로 컨트롤러의 제 1 저장부의 프로그램이 동작하는 단계;
    상기 제 1 저장부의 프로그램에 의해 상기 외부 저장수단에 저장된 동작 프로그램을 로딩하여 상기 마이크로 컨트롤러의 제 2 저장부에 임시 저장하는 단계; 및
    상기 제 2 저장부에 저장된 동작 프로그램을 실행하는 단계
    를 포함하는 마이크로 컨트롤러의 업데이트 방법.
  7. 제 6항에 있어서,
    상기 외부 저장수단에 저장된 업데이트 데이터는,
    상기 제 1 저장부에 저장된 프로그램 동작에 의해 로딩되어 제 2 저장부에 임시 저장되는 것을 특징으로 하는 마이크로 컨트롤러의 업데이트 방법.
  8. 제 6항에 있어서,
    상기 마이크로 컨트롤러의 동작 종료시,
    상기 제 2 저장부에 임시 저장된 동작 프로그램을 상기 외부 저장수단에 저장하는 단계를 더 포함하는 마이크로 컨트롤러의 업데이트 방법.
  9. 마이크로 컨트롤러의 업데이트 방법에 있어서,
    입력되는 업데이트 명령에 따라, 상기 마이크로 컨트롤러의 저장부에 업데이트 데이터를 임시 저장하는 단계;
    상기 마이크로 컨트롤러의 저장부에 임시 저장된 데이터를 구동하여 동작 제어를 수행하는 단계; 및
    상기 마이크로 컨트롤러의 동작 종료시 상기 마이크로 컨트롤러의 저장부에 임시 저장된 업데이트 데이터를 외부의 저장수단에 저장하는 단계
    를 포함하는 마이크로 컨트롤러의 업데이트 방법.
  10. 제 9항에 있어서,
    상기 마이크로 컨트롤러의 파워 온 동작시,
    상기 마이크로 컨트롤러의 제 1 저장부의 프로그램이 동작하는 단계;
    상기 제 1 저장부의 프로그램에 의해 상기 외부 저장수단에 저장된 동작 프로그램을 로딩하여 상기 마이크로 컨트롤러의 제 2 저장부에 임시 저장하는 단계; 및
    상기 제 2 저장부에 저장된 동작 프로그램을 실행하는 단계
    를 포함하는 마이크로 컨트롤러의 업데이트 방법.
  11. 제 10항에 있어서,
    상기 업데이트 데이터는 상기 제 2 저장부에 임시 저장되는 것을 특징으로 하는 마이크로 컨트롤러의 업데이트 방법.
  12. 제 10항에 있어서,
    상기 마이크로 컨트롤러의 종료시,
    상기 제 1 저장부의 프로그램이 동작하여 업데이트 여부를 판단하는 단계; 및
    상기 판단결과, 업데이트가 있는 경우 상기 제 2 저장부에 임시 저장된 데이터를 상기 외부 저장수단에 저장하는 단계
    를 더 포함하는 마이크로 컨트롤러의 업데이트 방법.
  13. 제 12항에 있어서,
    상기 판단결과, 업데이트가 없는 경우 상기 제 2 저장부의 데이터를 상기 외부 저장수단에 저장하지 않는 것을 특징으로 하는 마이크로 컨트롤러의 업데이트 방법.
KR1020070025509A 2007-03-15 2007-03-15 마이크로 컨트롤러 및 업데이트 방법 KR100891390B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070025509A KR100891390B1 (ko) 2007-03-15 2007-03-15 마이크로 컨트롤러 및 업데이트 방법
US11/958,371 US8108663B2 (en) 2007-03-15 2007-12-17 Micro controller and method of updating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070025509A KR100891390B1 (ko) 2007-03-15 2007-03-15 마이크로 컨트롤러 및 업데이트 방법

Publications (2)

Publication Number Publication Date
KR20080084181A true KR20080084181A (ko) 2008-09-19
KR100891390B1 KR100891390B1 (ko) 2009-04-02

Family

ID=39763857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070025509A KR100891390B1 (ko) 2007-03-15 2007-03-15 마이크로 컨트롤러 및 업데이트 방법

Country Status (2)

Country Link
US (1) US8108663B2 (ko)
KR (1) KR100891390B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886264B2 (en) * 2014-12-09 2018-02-06 Xiaomi Inc. Method and device for upgrading firmware

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835760A (en) 1995-10-13 1998-11-10 Texas Instruments Incorporated Method and arrangement for providing BIOS to a host computer
KR19990046934A (ko) * 1997-12-01 1999-07-05 윤종용 마이크로 컨트롤러 및 그의 프로그래밍 방법
US6631520B1 (en) * 1999-05-14 2003-10-07 Xilinx, Inc. Method and apparatus for changing execution code for a microcontroller on an FPGA interface device
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
US6738887B2 (en) * 2001-07-17 2004-05-18 International Business Machines Corporation Method and system for concurrent updating of a microcontroller's program memory
US7299463B2 (en) * 2001-09-28 2007-11-20 Intel Corporation Method for atomically updating a plurality of files
KR20060087038A (ko) * 2005-01-27 2006-08-02 엘지전자 주식회사 마이크로컨트롤러 시스템 및 그 롬 데이터 프로그램 방법
US20070055968A1 (en) * 2005-09-07 2007-03-08 Rader Shawn T Reliable BIOS updates
US20080307157A1 (en) * 2007-06-06 2008-12-11 Yi-Feng Jang Method and system for updating firmware of microcontroller

Also Published As

Publication number Publication date
KR100891390B1 (ko) 2009-04-02
US8108663B2 (en) 2012-01-31
US20080229060A1 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
US20040236898A1 (en) Synchronous semiconductor storage device module and its control method, information device
JP4869713B2 (ja) マルチチップパッケージデバイス
KR100549675B1 (ko) 플래시 메모리 장치
WO2023070823A1 (zh) 启动引导程序加载方法、装置、系统、电子设备及介质
US20160179684A1 (en) Nonvolatile memory device and operating method thereof
KR100212142B1 (ko) 매크로 명령기능을 가진 동기식 반도체 메모리장치와 매크로 명령의 저장 및 실행방법
JP2005182996A (ja) 同期式フラッシュメモリ装置及びその動作方法
JP2993466B2 (ja) 情報処理装置
JP2003044303A (ja) コンピュータ装置
JP2000276370A (ja) マイクロコンピュータ、電子機器及びエミュレーション方法
KR100891390B1 (ko) 마이크로 컨트롤러 및 업데이트 방법
KR20080070463A (ko) 임베디드 낸드 플래시 메모리 제어 장치 및 방법
US20130132659A1 (en) Microcontroller and method of controlling microcontroller
JP2009009388A (ja) 携帯端末装置およびそのブート処理方法
US8341334B2 (en) Flash memory apparatus and method for operating the same and data storage system
CN110383232B (zh) 具有序列处理单元的存储器控制系统
JP2002207715A (ja) マイクロコンピュータ及びそれに用いるメモリ制御方法
CN114327660A (zh) 基于fpga的外接内存的初始化方法
CN115808964A (zh) 存储器、存储器控制方法和系统
JP4383494B1 (ja) データ処理システム及びデバッグ方法
JP5414323B2 (ja) 半導体集積回路装置
KR100501847B1 (ko) 유사 이중 포트 메모리 제어 장치 및 그 제어 방법
CN114489308B (zh) 集成电路及其系统内编程电路
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
JP2008191840A (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: 20130225

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150223

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170223

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180223

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200226

Year of fee payment: 12