KR100640612B1 - 메인 코드 기입 방법 및 장치 - Google Patents

메인 코드 기입 방법 및 장치 Download PDF

Info

Publication number
KR100640612B1
KR100640612B1 KR1020040107999A KR20040107999A KR100640612B1 KR 100640612 B1 KR100640612 B1 KR 100640612B1 KR 1020040107999 A KR1020040107999 A KR 1020040107999A KR 20040107999 A KR20040107999 A KR 20040107999A KR 100640612 B1 KR100640612 B1 KR 100640612B1
Authority
KR
South Korea
Prior art keywords
code
main
rom
main code
ram
Prior art date
Application number
KR1020040107999A
Other languages
English (en)
Other versions
KR20060069014A (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 KR1020040107999A priority Critical patent/KR100640612B1/ko
Publication of KR20060069014A publication Critical patent/KR20060069014A/ko
Application granted granted Critical
Publication of KR100640612B1 publication Critical patent/KR100640612B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/445Program loading or initiating

Landscapes

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

Abstract

메인 코드 기입 장치 및 방법이 개시된다. 본 발명은, 부트스트랩 모드가 지원되는 CPU를 이용한 메인 코드 기입 방법에 있어서, a)상기 부트스트랩 모드를 이용하여, RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는, 부트 대용 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; b)상기 부트 대용 코드를 실행시키는 단계; c)상기 부트스트랩 모드를 이용하여, 상기 메인 코드 및 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; 및 d)상기 플래시 로더 코드를 실행시킴으로써 RAM에 저장된 메인 코드를 ROM으로 기입하는 단계를 포함한다. 본 발명에 의하면, ROM에 부트 코드를 이용하지 않기 때문에 플래시 메모리를 효율적으로 사용할 수 있다.

Description

메인 코드 기입 방법 및 장치{Method and Apparatus for writing a main code}
도 1은 종래의 부트 코드를 이용하여 메인 코드를 기입하는 방법을 나타내는 도면이다.도 2 는 종래의 방법에 의한 플래시 메모리의 내부 구조를 나타내는 도면이다. 도 3 은 본 발명에 따른 메인 코드 기입 방법을 나타내는 도면이다.도 4 는 도 3 의 메인 코드 기입 방법을 이용하여, 메인 코드를 갱신하는 방법을 나타내는 도면이다. 도 5는 본 발명에 따른 메인 코드 기입 장치를 나타내는 도면이다.
본 발명은 메인 코드 기입 방법 및 장치에 관한 것으로서, 보다 상세하게는 부트스트랩 모드가 지원되는 CPU에 있어서 부트 코드를 ROM에 기입하지 않고 부트 대용 코드를 이용하여 메인 코드를 ROM 에 기입하는 방법 및 장치에 관한 것이다.
현재 개인용 컴퓨터, 휴대폰, 하드디스크드라이브 등의 기기(device)는 일반적으로 논리적 연산 능력을 이용하여 각자의 원래 기능에 필요한 여러 가지 기능을 수행한다. 이러한 기기들은 그 내부에 CPU, RAM 및 ROM을 가지고 있고, 기기가 파워온 되면, CPU는 ROM 내부의 미리정해진 명령어들의 집합을 실행시킴으로써 사용 자의 입력을 입력받을 수 있는 상태로 진입하는데 이러한 과정을 초기화 과정이라고 한다.
기기의 파워온된 직 후 CPU가 실행시키는 명령어들의 집합은 메인 코드(main code)라 불리우며, 메인 코드내에 포함되는 명령어들은 사용자에 의해 미리작성된 상태로 ROM에 저장된다.
메인 코드가 유실(loss)되거나 또는 메인 코드를 업그레이드하는 경우, 메인 코드는 새로 ROM으로 기입(write)되거나 갱신(update)되어야 한다. 이 때 ROM은 다시-쓰기가 가능한 FLASH ROM이다. 업그레이드의 경우에는, 종래의 메인 코드를 실행시킬 수 있기 때문에, 외부 장치로부터 ROM 으로의 새로운 메인 코드의 기입을 수행하는데 아무런 문제점이 없다. 그러나 유실의 경우에는, 종래의 메인 코드를 실행시킬 수 없기 때문에 외부장치로의 데이터 전송 및 ROM으로의 기입 작업의 수행이 불가능하다.
이러한 문제점을 해결하기 위해, 종래에는 ROM 내에 메인 코드 이외에, 부트 코드를 별도로 기입하였다. 부트 코드(boot code)는 기기를 초기화하는데 필요한 최소한의 명령어 집합을 나타내며 예를 들면 외부 장치로부터 기기내의 RAM 으로 어떠한 데이터를 입력할 수 있게 하는 명령어 즉 기기내로/부터의 입출력을 수행하는 명령어들을 포함한다.
부트 코드 및 메인 코드는 ROM의 미리정해진 영역에 저장되고, 파워온되면 기기는 먼저 메인 코드의 실행을 시도하고, 메인 코드가 없거나 메인 코드를 실행시킬 수 없으면 부트 코드를 실행시킨다. 부트 코드와 메인 코드는 ROM내의 위치 즉 메모리 주소에 의해 식별된다.메인 코드의 갱신은 외부 장치에 저장된 새로운 메인 코드를 기기내의 ROM 으로 전송하는 과정을 포함한다.
이러한 부트 코드는 ROM 의 하드웨어적 고장등으로 인해 메인 코드를 실행시킬 수 없을 때 외부 장치로부터 메인 코드를 전송할 수 있게 하기 위한 예비적 수단으로서 널리 사용된다. 즉 기기는 파워온후에 메인 코드를 실행시킬 수 없을 경우에는 부트 코드를 실행시킨다.
도 1은 종래의 부트 코드를 이용하여 메인 코드를 기입하는 방법을 나타내는 도면이다.
단계 110에서, 기기가 파워온되면, 기기는 먼저 ROM 내의 메인 코드를 실행시키는 시도를 하지만, 메인 코드가 유실되었으므로, 부트 코드를 실행시킨다.
단계 120에서, 외부 장치로부터 RAM으로 기입할 메인 코드를 전송 및 저장한다. 부트 코드가 실행되었기 때문에, 외부 장치에서 RAM으로의 메인 코드의 전송 및 저장은 부트코드를 이용하여 수행가능하다.
단계 130에서, RAM내의 메인 코드를 ROM으로 기입(write)한다. 기입 동작은, 부트 코드가 실행되었기 때문에, 쓰기 명령(write command)에 의해 수행가능하다.
도 2 는 종래의 방법에 의한 플래시 메모리의 내부 구조를 나타내는 도면이다.
이러한 종래의 메인 코드를 기입하는 방법에 따르면, 플레시 메모리의 사용이 효율적이지 못하다. 즉 최근에, 플래시 메모리(200)에 포함되는 데이터의 대용량화에 따라, 플래시 메모리의 편집 단위 즉 페이지(page)(210,220,230,...)가 2KB 에서 32KB로 증가하였다. 그러나 종래의 방법은 부트 코드를 플래시 메모리(200)에 저장하는데, 부트 코드가 차지하는 영역(240)는 최대 12KB 이기 때문에, 플레시 메모리의 하나의 페이지중에서 20KB 정도의 낭비를 초래하는 문제점이 존재하였다.
따라서 본 발명은 전술한 과제를 해결하기 위해 안출된 것으로서, 부트 코드를 플래시 메모리에 저장하지 않고 부팅 대용 코드를 RAM 에 저장함으로써, 플래시 메모리를 효율적으로 사용할 수 있는 메인 코드 기입 방법 및 장치를 제공하고자 한다.
상기와 같은 목적을 달성하기 위한, 본 발명은, 부트스트랩 모드가 지원되는 CPU를 이용한 메인 코드 기입 방법에 있어서, a)상기 부트스트랩 모드를 이용하여, RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는, 부트 대용 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; b)상기 부트 대용 코드를 실행시키는 단계; c)상기 부트스트랩 모드를 이용하여, 상기 메인 코드 및 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; 및 d)상기 플래시 로더 코드를 실행시킴으로써 RAM에 저장된 메인 코드를 ROM으로 기입하는 단계를 포함한다.
여기서, 부트 스트랩 모드의 수행시 데이터 전송은 RS-232 직렬 통신 포트를 이용하여 수행된다. 또한 여기서, 상기 CPU는 마벨사의 피카츄시리즈의 CPU 이다. 또한 여기서, 상기 플래시 로더 코드의 명령 수행에 필요한 하위 기능은 주소 설정 기능을 포함한다.
또한 본 발명은, 부트스트랩 모드가 지원되는 CPU를 이용한, 메인 코드 업그레이드를 위한 메인 코드 기입 방법에 있어서, a)종래의 메인 코드를 실행하는 단계; b)부트스트랩 모드를 이용하여 새로운 메인 코드 및 RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; 및 c)플래시 로더 코드를 실행시킴으로써 상기 새로운 메인 코드를 ROM으로 기입하는 단계를 포함하고, 상기 종래의 메인 코드는, 상기 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하다.
여기서, 상기 c)단계는, c1)상기 ROM으로부터 ROM의 제조사, 규격, 편집 단위, 저장 용량중 어느하나 또는 이들의 조합을 포함하는 ROM 정보를 추출하고, 추출한 ROM 정보에 기초하여 상기 ROM에 저장된 상기 종래의 메인 코드를 삭제(erase)하는 단계; c2)상기 새로운 메인 코드를 RAM으로부터 ROM으로 쓰기(write)하는 단계; 및 c3)상기 쓰기(write) 동작이 정상적으로 수행되었는지 검사하는 단계를 포함한다.
또한 본 발명은, 메인 코드 기입 장치에 있어서, a)부트스트랩 모드를 이용하여 외부 장치로부터, 주 메모리부로부터의 데이터를 플래시메모리부로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는, 부트 대용 코드를 주 메모리부로 저장 및 실행하 고, 외부 장치로부터 메인 코드 및 상기 플래시 로더 코드를 주 메모리부로 저장하고, 플래시 로더 코드를 실행시킴으로써 메인 코드를 플래시 메모리부으로 기입하는 중앙 처리부; b)중앙 처리부로부터 부트 대용 코드, 메인 코드 및 플래시 로더 코드를 수신하여 저장하는 주 메모리부; c)상기 중앙 처리부의 기입 명령에 의해 상기 주 메모리부로부터 상기 메인 코드를 수신 및 저장하는 플래시 메모리부를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
도 3 은 본 발명에 따른 메인 코드 기입 방법을 나타내는 도면이다.
단계 310에서, 부트스트랩 모드를 이용하여 부트 대용 코드를 외부 장치로부터 RAM으로 전송 및 저장한다.
부트스트랩 모드는, 별도의 프로그램의 실행 없이 즉 ROM에 저장된 명령어의 실행 없이도, 외부 장치로부터 RAM으로의 데이터 전송을 가능하게 하는 CPU의 기능이다. 부트스트랩 모드는 일반적으로 미리정해진 명령어를 CPU내에 미리 저장해놓음으로써 구현된다. 부트스트랩 모드를 지원하는 CPU는 예를 들면 마벨사의 피카츄 시리즈에 속하는 CPU가 있다.
부트 스트랩 모드의 수행시 데이터 전송은 CPU와 외부 장치사이의 예를 들면 RS-232 등의 직렬 통신 포트를 이용하여 수행된다.
단계 320에서, 단계 310에서 RAM에 저장된 부트 대용 코드를 실행시킨다.
부트 대용 코드는 사용자에 의해 미리작성되어 외부 장치에 저장된 프로그램 이며, CPU와 RAM 사이의 데이터 입출력 명령에 관한 기본적인 기능을 수행하는 명령어들을 포함한다. 이러한 기본적인 기능은 RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어들의 집합을 나타내는 플래시 로더 코드(flash loader code)를 수행하는데 필요한 하위 기능 즉 예를 들면 메모리 주소 설정과 같은 하위 기능을 포함한다. 이러한 부트 대용 코드의 특성 때문에, 부트 대용 코드가 실행되면, RAM에 있는 데이터를 ROM으로 저장할 수 있는 환경이 구축된다.
단계 330에서, 부트스트랩 모드를 이용하여 메인 코드 및 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장한다. 전술한 바와 같이, 플래시 로더 코드는 RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어들의 집합을 나타낸다.
단계 340에서, 단계 330에서 RAM에 저장된 플래시 로더 코드를 실행시킴으로써 RAM에 저장된 메인 코드를 ROM으로 기입한다.
이제 메인 코드가 ROM에 기입되었으므로, 파워를 껐다가 켜면 기기는 메인 코드를 실행하고, 기기는 초기화된다.
이러한 메인 코드 기입 방법에 따르면, 부트 코드가 ROM 즉 플래시 메모리에 저장되지 않기 때문에, 전술한 종래의 방법에 의한 플래시 메모리의 비효율적 사용의 문제점이 발생하지 않는다.
도 4 는 도 3 의 메인 코드 기입 방법을 이용하여, 메인 코드를 갱신하는 방법을 나타내는 도면이다.
메인 코드 갱신은 ROM 내의 종래의 메인 코드를 새로운 메인 코드로 교체하 는 과정이며, 메인 코드를 업그레이드하는 경우에 수행된다. 종래의 메인 코드가 ROM 내에 존재하기 때문에 종래의 메인 코드를 실행시킬 수 있다는 점에서, 메인 코드 유실(loss)의 경우에 메인 코드를 갱신하는 과정과 구별된다. 메인 코드 유실의 경우에 메인 코드를 기입하는 방법은 도 3과 동일하다. 메인 코드 업그레이드의 경우 메인 코드를 기입하는 방법은 다음과 같다.
단계 410에서, 종래의 메인 코드를 실행한다. 메인 코드의 실행은 기기의 파워온으로 인해 자동 실행되므로, 기기가 정상적으로 초기화되었다면 메인 코드는 이미 실행중일 것이다.
도 3 의 실시예와 달리, 부트스트랩 모드를 이용하여 부트 대용 코드를 RAM 에 전송 및 저장할 필요는 없다. 왜냐하면, 플래시 로더 코드가 올바르게 기능하는데 필요한 하위 기능 즉 예를 들면 메모리 주소 설정과 같은 하위 기능은 종래의 메인 코드내에 포함되어 있고, 종래의 메인 코드는 이미 실행중이기 때문이다. 즉 종래의 메인 코드가 이미 실행중이기 때문에, RAM에 있는 데이터를 ROM으로 저장할 수 있는 환경이 이미 구축된 상태이다.
단계 420에서, 부트스트랩 모드를 이용하여 새로운 메인 코드 및 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장한다. 전술한 바와 같이, 플래시 로더 코드는 RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어들의 집합을 나타낸다.
단계 430에서, 단계 420에서 RAM에 저장된 플래시 로더 코드를 실행시킴으로써 RAM에 저장된 새로운 메인 코드를 ROM으로 기입한다.
단계 430의 이하의 세부 단계로 나누어 진다.
단계 432에서, ROM으로부터 ROM의 제조사, 규격, 편집 단위, 저장 용량등과 같은 ROM 정보를 추출하고, 추출한 ROM 정보에 기초하여 ROM에 저장된 종래의 메인 코드를 삭제(erase)한다.
단계 434에서, 단계 432에 의해 ROM에 저장 공간이 확보되면, 새로운 메인 코드를 RAM으로부터 ROM으로 쓰기(write)한다.
단계 436에서, 단계 434의 쓰기(write) 동작이 정상적으로 수행되었는지 검사한다.
단계 440에서, 이제 새로운 메인 코드가 ROM에 기입되었으므로, 파워를 껐다가 켜면 기기는 새로운 메인 코드를 실행하고, 기기는 새로운 메인 코드에 의해 초기화된다.
이러한 메인 코드 기입 방법에 따르면, 플래시 로더 코드가 부트 대용 코드와 별도로 RAM에 저장이 되기 때문에, 메인 코드를 업그레이드할 때에, 별도의 부트 대용 코드를 RAM에 저장 및 실행시킬 필요가 없다.
도 3 및 도 4 의 실시예를 종합해보면, 메인 코드 유실의 경우에는 부트 대용 코드를 RAM에 저장하지만, 메인 코드 업그레이드의 경우에는 부트 대용 코드의 저장 및 실행 없이 바로 플래시 로더 코드를 저장 및 실행할 수 있는 장점이 있다.
만약 플래시 로더 코드가 메인 코드내에 포함되어 있거나, 부트 대용 코드에 포함되어 있다면, 위와 같은 편리함은 달성될 수 없다.
도 5는 본 발명에 따른 메인 코드 기입 장치를 나타내는 도면이다.
본 발명에 따른 메인 코드 기입 장치(500)는 중앙 처리부(510), 주 메모리부(520) 및 플래시 메모리부(530) 및 직렬 통신 포트(540)을 포함한다.
중앙 처리부(510)는 부트스트랩 모드를 이용하여 외부 장치(550)로부터 직렬 통신 포트(540)를 통해 부트 대용 코드를 주 메모리부(520)로 저장 및 실행하고, 그 후 외부 장치(550)로부터 메인 코드 및 플래시 로더 코드를 주 메모리부(520)로 저장하고, 그 후 플래시 로더 코드를 실행시킴으로써 메인 코드를 플래시 메모리부(530)으로 기입(write)한다.
주 메모리부(520)는 중앙 처리부(510)로부터 부트 대용 코드, 메인 코드 및 플래시 로더 코드를 수신하여 저장하며, 일반적으로 랜덤 억세스 메모리(RAM)로 구현된다.
플래시 메모리부(530)는 중앙 처리부(510)의 기입 명령에 의해 주 메모리부(520)로부터 메인 코드를 수신 및 저장하며, 일반적으로 FLASH ROM 으로 구현된다.
직렬 통신 포트(540)는 중앙 처리부(510)과 외부 장치(550)사이의 통신 선로를 형성하며, 일반적으로 RS-232C 직렬 통신 규격으로 구현된다.
한편, 본 발명에 따른 메인 코드 기입 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 메인 코드 기입 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따르면, 부트 코드가 ROM 즉 플래시 메모리에 저장되지 않기 때문에, 전술한 종래의 방법에 의한 플래시 메모리의 비효율적 사용의 문제점이 발생하지 않는다.
또한 본 발명에 따르면, 플래시 로더 코드가 부트 대용 코드와 별도로 RAM에 저장이 되기 때문에, 메인 코드를 업그레이드할 때에, 별도의 부트 대용 코드를 RAM에 저장 및 실행시킬 필요가 없다.

Claims (10)

  1. 부트스트랩 모드가 지원되는 CPU를 이용한 메인 코드 기입 방법에 있어서,
    a)상기 부트스트랩 모드를 이용하여, RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는, 부트 대용 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계;
    b)상기 부트 대용 코드를 실행시키는 단계;
    c)상기 부트스트랩 모드를 이용하여, 상기 메인 코드 및 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; 및
    d)상기 플래시 로더 코드를 실행시킴으로써 RAM에 저장된 메인 코드를 ROM으로 기입하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 부트 스트랩 모드의 수행시 데이터 전송은 RS-232 직렬 통신 포트를 이용하여 수행되는 것을 특징으로 하는 방법.
  3. 삭제
  4. 제 1 항에 있어서, 상기 플래시 로더 코드의 명령 수행에 필요한 하위 기능은 주소 설정 기능을 포함하는 것을 특징으로 하는 방법.
  5. 부트스트랩 모드가 지원되는 CPU를 이용한, 메인 코드 갱신 방법에 있어서,
    a)종래의 메인 코드를 실행하는 단계;
    b)부트스트랩 모드를 이용하여 새로운 메인 코드 및 RAM에 있는 데이터를 ROM으로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드를 외부 장치로부터 RAM으로 전송 및 저장하는 단계; 및
    c)플래시 로더 코드를 실행시킴으로써 상기 새로운 메인 코드를 ROM으로 기입하는 단계를 포함하고,
    상기 종래의 메인 코드는, 상기 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 상기 c)단계는,
    c1)상기 ROM으로부터 ROM의 제조사, 규격, 편집 단위, 저장 용량중 어느하나 또는 이들의 조합을 포함하는 ROM 정보를 추출하고, 추출한 ROM 정보에 기초하여 상기 ROM에 저장된 상기 종래의 메인 코드를 삭제(erase)하는 단계;
    c2)상기 새로운 메인 코드를 RAM으로부터 ROM으로 쓰기(write)하는 단계; 및
    c3)상기 쓰기(write) 동작이 정상적으로 수행되었는지 검사하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 메인 코드 기입 장치에 있어서,
    a)부트스트랩 모드를 이용하여 외부 장치로부터, 주 메모리부로부터의 데이터를 플래시메모리부로 저장하는데 필요한 명령어를 포함하는 플래시 로더 코드의 명령 수행에 필요한 하위 기능을 수행하는 명령어들을 포함하는, 부트 대용 코드를 주 메모리부로 저장 및 실행하고, 외부 장치로부터 메인 코드 및 상기 플래시 로더 코드를 주 메모리부로 저장하고, 플래시 로더 코드를 실행시킴으로써 메인 코드를 플래시 메모리부으로 기입하는 중앙 처리부;
    b)중앙 처리부로부터 부트 대용 코드, 메인 코드 및 플래시 로더 코드를 수신하여 저장하는 주 메모리부;
    c)상기 중앙 처리부의 기입 명령에 의해 상기 주 메모리부로부터 상기 메인 코드를 수신 및 저장하는 플래시 메모리부를 포함하는 것을 특징으로 하는 장치.
  8. 제 7 항에 있어서, 상기 부트스트램 모드는 RS-232의 직렬 통신 규격을 통해 수행되는 것을 특징으로 하는 장치.
  9. 삭제
  10. 제 1 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040107999A 2004-12-17 2004-12-17 메인 코드 기입 방법 및 장치 KR100640612B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040107999A KR100640612B1 (ko) 2004-12-17 2004-12-17 메인 코드 기입 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040107999A KR100640612B1 (ko) 2004-12-17 2004-12-17 메인 코드 기입 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20060069014A KR20060069014A (ko) 2006-06-21
KR100640612B1 true KR100640612B1 (ko) 2006-11-01

Family

ID=37163241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040107999A KR100640612B1 (ko) 2004-12-17 2004-12-17 메인 코드 기입 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100640612B1 (ko)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020040107999 - 676588
1020040107999 - 676589

Also Published As

Publication number Publication date
KR20060069014A (ko) 2006-06-21

Similar Documents

Publication Publication Date Title
JP6568947B2 (ja) 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US6148441A (en) Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US20060064576A1 (en) Boot systems and methods
CN110096300B (zh) 一种fpga程序文件备份管理系统、运行方法及升级方法
CN104123153A (zh) 用于使用usb升级固件的装置与方法
KR20100110652A (ko) 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법
TWI421686B (zh) 資料存取方法與系統、儲存媒體控制器與儲存系統
US20080270685A1 (en) Information processing apparatus and firmware updating method
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
US5940627A (en) User selectable feature set for a flash ROM based peripheral
CN109213510A (zh) 一种用于嵌入式设备的应用程序升级方法及存储介质
CN111813432A (zh) 一种fpga配置升级方法和fpga平台
CN104035757A (zh) 基于MIPS处理器的u-boot移植的实现方法
CN108694052B (zh) 一种固件升级方法、固件升级装置及固件升级系统
CN109426511B (zh) 软核更新方法和系统
US6925522B2 (en) Device and method capable of changing codes of micro-controller
CN108334362B (zh) 一种fpga芯片的升级方法、装置及存储设备
CN116302011B (zh) 一种电缆监测设备固件升级方法
CN111694580B (zh) 存储设备升级及初始化的方法、装置、电子设备
KR100640612B1 (ko) 메인 코드 기입 방법 및 장치
US8347387B1 (en) Addressing security in writes to memory
KR20220005852A (ko) 컨트롤러 및 컨트롤러의 동작방법
US8230209B1 (en) Method and apparatus for automatically providing a user the opportunity to boot from an alternate storage device where a valid operating system resides

Legal Events

Date Code Title Description
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: 20091016

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee