KR20050106644A - 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법 - Google Patents

무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법 Download PDF

Info

Publication number
KR20050106644A
KR20050106644A KR1020040031636A KR20040031636A KR20050106644A KR 20050106644 A KR20050106644 A KR 20050106644A KR 1020040031636 A KR1020040031636 A KR 1020040031636A KR 20040031636 A KR20040031636 A KR 20040031636A KR 20050106644 A KR20050106644 A KR 20050106644A
Authority
KR
South Korea
Prior art keywords
wireless
firmware
firmware upgrade
engine
boot code
Prior art date
Application number
KR1020040031636A
Other languages
English (en)
Other versions
KR100617796B1 (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 KR1020040031636A priority Critical patent/KR100617796B1/ko
Publication of KR20050106644A publication Critical patent/KR20050106644A/ko
Application granted granted Critical
Publication of KR100617796B1 publication Critical patent/KR100617796B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Abstract

본 발명은 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법에 관한 것이다. 상기 방법은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 리소스, 무선 펌웨어 사용 영역이 저장되고, 상기 무선 펌웨어 업그레이드 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리와 랜덤 액세스 메모리를 구비한 무선 단말기의 무선 펌웨어 업그레이드 방법에 있어서, 전원이 인가되면 상기 무선 펌웨어 업그레이드 엔진을 상기 랜덤 액세스 메모리에 로딩하는 과정과, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있는지 여부를 체크하는 과정과, 상기 펌웨어 업그레이드가 필요하다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 펌웨어를 업그레이드시키는 과정을 포함함을 특징으로 한다.

Description

무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법{MOBILE TERMINAL EQUIPMENT CAPABLE OF UPGRADING A WIRELESS FIRMWARE AND METHOD THEREOF}
본 발명은 무선 펌웨어 다운로딩 가능 무선 단말기 및 그 방법에 관한 것으로, 특히 부트 코드(boot code)를 업데이트 할 수 있는 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법에 관한 것이다.
단말기가 출시된 이후에 버그가 발견되거나 단말기 제조사 혹은 서비스 업자가 새로운 기능을 추가하고 싶은 경우에는 단말기의 펌웨어를 업그레이드해야 한다.
IOTA-SD(Internet On The Air Software Downloading)라는 무선 펌웨어 다운로딩 기술은 위와 같은 일이 발생할 경우, 단말기가 무선 데이터 네트워크를 통해 업그레이딩 관련 데이터(이하 델타 파일이라 함.)를 다운받고, 그 델타 파일을 단말기에 이미 내장되어 있는 펌웨어 업그레이딩 엔진이 이용하여 자동으로 단말기의 펌웨어를 업그레이드 하는 기술이다.
도 1은 무선 펌웨어 업그레이드 기능을 가지지 않는 단말기의 구조를 나타낸 것이다.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM(Static RAM) 혹은 ROM(read-only memory)으로 구현할 수 있다.
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램에 의해 플래시 메모리(flash memory) 30A의 특정 번지(A1)에 저장되어 있는 부트 코드를 랜덤 액세스 메모리(Random Access Memory: 이하 RAM이라 함.) 40B의 특정 번지(B2)에 로딩한다. 상기 부트 코드는 부팅을 진행시키는 데 필요한 명령들이다. 그리고 CPU 20은 RAM 40B에 위치된 부트 코드를 실행시켜 플래시 메모리 30A의 특정 번지(A2)에 저장되어 있는 어플리케이션 코드를 RAM 40B의 특정 번지(B1)에 저장시킨다. 그리고 어플리케이션을 실행시키게 된다.
여기서 어플리케이션은 부트 코드를 제외한, 단말기의 동작에 관련된 모든 펌웨어들을 의미한다. 또한 리소스(resource)는 어플리케이션 실행에 필요한 데이터 등을 의미한다.
도 2는 종래의 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 것이다.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM으로 구현할 수 있다.
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30C의 부트 코드를 RAM 40D에 로딩한다. 그리고 CPU 20은 상기 RAM 40D의 부트 코드를 실행시킨다.
플래시 메모리 30C의 특정 번지들(C1 ~ C5)에는 각각 부트 코드, 어플리케이션, 리소스, 및 무선 펌웨어 업그레이드 엔진이 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역도 구비된다. 상기 무선 펌웨어 업그레이드 엔진 사용 영역에는 플래그(flag) 정보 FLG1이 포함되어 있다. CPU 20은 부트 코드를 실행시키는 동안 플래그 정보 FLG1을 확인하여 펌웨어 업그레이드 여부를 판단할 수 있다.
RAM 40D의 특정 번지(D1)에 저장되어 있는 무선 펌웨어 업그레이드 엔진은 펌웨어를 업그레이드 할 필요가 있다고 판단되었을 때 플래시 메모리 30C의 특정 번지(C4)에 저장되어 있던 무선 펌웨어 업그레이드 엔진을 로딩한 것이다. RAM 40D의 다른 특정 번지(D2)에 저장되어 있는 부트 코드는 단말기에 전원이 인가되었을 때 플래시 메모리 30C의 특정 번지(C1)에 저장된 부트 코드를 로딩한 것이다.
도 3은 종래의 무선 펌웨어 업그레이드 방법을 나타낸 흐름도이다.
3a단계에서 전원이 인가되면, 3b단계에서 CPU 20이 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30C에 저장되어 있는 부트 코드를 RAM 40D에 로딩한다. 그리고 3c단계에서 CPU 20은 RAM 40D에 위치된 부트 코드를 실행시킨다. 이때 CPU 20은 부트 코드 실행 중 플래그 정보 FLG1을 체크하여 펌웨어 업그레이드 여부를 체크한다. 만약 펌웨어를 업그레이드 할 필요가 있다고 판단되면, 3d단계에서 CPU 20은 플래시 메모리 30C에 저장되어 있는 무선 펌웨어 업그레이드 엔진을 RAM 40D에 로딩하여 3e단계에서 업그레이드를 실행한다.
상기 3c단계에서 펌웨어를 업그레이드할 필요가 없다고 판단되거나 상기 3e단계에서 업그레이드를 실행한 다음에는 3f단계로 진행하여 펌웨어(이 경우 펌웨어는 어플리케이션을 의미한다.)를 RAM 40D에 로딩한다. 그리고 3g단계에서 대기모드로 전환된다.
그런데 상기한 방법에 따르면, CPU가 먼저 부트 코드를 실행시켜서 그 실행 중에 플래그를 검사한 결과 펌웨어 업그레이드를 하는 것으로 설정되어 있다고 판단되면 무선 펌웨어 엔진을 로딩하기 때문에, 부트 코드 자체는 업그레이드가 될 수가 없었다. 왜냐하면, 단말기에 전원이 인가될 경우 부트 코드는 반드시 실행을 해야 하는데, 부트 코드를 업그레이드 하던 중 전원을 차단하게 되면 부트 코드가 손상을 입게 된다. 그 다음 단말기에 전원을 인가하게 되면 손상된 부트 코드가 동작하기 때문에 무선 펌웨어 업그레이드 엔진이 RAM에 정확하게 로딩되는지 보증할 수 없을 뿐만 아니라, 손상된 부트 코드가 어떤 동작을 일으키는지도 보증할 수 없다.
따라서 본 발명의 목적은 부트 코드도 업그레이드할 수 있는 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 제1발명은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리, 내부 메모리와 중앙처리장치를 가지는 마이크로프로세서, 그리고 RAM을 구비한 무선 펌웨어 업그레이드 가능 무선 단말기에 있어서, 상기 중앙처리장치가 전원이 인가되면 상기 내부 메모리에 저장되어 있는 프로그램을 실행시켜 상기 무선 펌웨어 업그레이드 엔진을 상기 RAM에 로딩한 다음, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 부트 코드를 업그레이드시키도록 구성함을 특징으로 한다.
상기한 목적을 달성하기 위한 본 제2발명은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리와 RAM을 구비한 무선 단말기의 무선 펌웨어 업그레이드 방법에 있어서, 전원이 인가되면 상기 무선 펌웨어 업그레이드 엔진을 상기 RAM에 로딩하는 과정과, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있는지 여부를 체크하는 과정과, 상기 펌웨어 업그레이드가 필요하다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 펌웨어를 업그레이드시키는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 하기 설명에서는 구체적인 메모리 어드레스 할당 순서, 메모리의 종류 등과 같은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 4는 무선 펌웨어 업그레이드에 이용되는 델타 파일의 구조를 나타낸 도면이다.
델타 파일에는 베이스 파일 해시(hash)값 52, 버전 파일 해시값 53, 델타 파일 헤더 체크섬 54, 델타 파일 정보 55가 저장되어 있다.
이전 버전의 펌웨어를 베이스 파일이라고 부른다. 베이스 파일 해시값 53을 참조하면 업그레이드해야 할 대상 및 그 적합성을 확인할 수 있다. 즉, 어플리케이션의 베이스 파일 해시값과 부트 코드의 베이스 파일 해시값이 서로 다른 체계를 가질 것이므로 베이스 파일 해시값으로써 업그레이드 대상 확인이 가능하다. 또한 이 베이스 파일 해시값으로써 단말기에 저장된 업그레이드 대상의 소프트웨어 버전과 델타 파일 정보 55의 소프트웨어 버전이 서로 맞는 것인지 확인 가능하다. 이와 같은 확인이 필요한 이유는 해당 펌웨어의 소프트웨어 버전이 서로 맞지 않으면, 예를 들어 단말기의 부트 코드 소프트웨어 버전을 1에서 2로 바꾸려할 때 부트 코드 버전 3에 대한 델타 파일 정보가 제공된다면, 업그레이드를 수행할 수 없기 때문이다.
새로운 버전의 펌웨어를 버전 파일이라고 부르며, 버전 파일 해시값으로 업그레이드 성공 여부를 알 수 있다. 무선 펌웨어 엔진은 업그레이딩 도중에 전원이 차단되었을 경우 다시 전원을 인가하면 저널링이라는 기술을 이용하여 전원이 차단되었던 시점부터 다시 업그레이드를 할 수 있다.
도 5는 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면이다.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM 혹은 ROM으로 구현할 수 있다.
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 무선 펌웨어 업그레이드 엔진을 RAM 40F에 로딩한다.
플래시 메모리 30E의 특정 번지들(E1 ~ E5)에는 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역도 구비된다. 상기 무선 펌웨어 업그레이드 엔진 사용 영역에는 플래그 정보 FLG1이 포함되어 있다. CPU 20은 무선 펌웨어 업그레이드 엔진의 실행 중에 상기 플래그 정보 FLG1을 이용하여 펌웨어 업그레이드 여부를 판단할 수 있다.
상기 플래시 메모리 30E는 낸드(NAND) 혹은 노아(NOR) 플래시 메모리로 구현할 수 있다. 도시된 순서로 어드레스를 할당한 것은 예에 불과하다. 다시 말해서, 도시된 예에서는 무선 펌웨어 업그레이드 엔진이 저장될 어드레스가 E1에 할당되어 있지만, 부트 코드가 저장될 어드레스가 E1에 할당될 수도 있다.
RAM 40F의 특정 번지(F2)에 저장되어 있는 무선 펌웨어 업그레이드 엔진은 전원이 인가되었을 때 플래시 메모리 30E의 특정 번지(E1)에 저장되어 있던 무선 펌웨어 업그레이드 엔진을 로딩한 것이다.
도 6은 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 방법을 나타낸 흐름도이다.
도시된 예는 낸드 플래시 메모리의 경우를 가정하여 나타낸 것인데, 노아 플래시 메모리의 경우에는 6h단계 및 6i단계를 수행하지 않을 수도 있다는 점에서 낸드 플래시 메모리의 경우와 차이가 있다.
6a단계에서 전원이 인가되면, 6b단계에서 CPU 20이 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30E에 저장되어 있는 무선 펌웨어 업그레이드 엔진을 RAM 40F에 로딩한다. 그리고 6c단계에서 CPU 20은 무선 펌웨어 업그레이드 엔진의 실행 중에 플래그 정보 FLG1을 체크하여 펌웨어를 업그레이드해야 하는지 여부를 판단한다.
만약 펌웨어를 업그레이드 할 필요가 있다고 판단되면, 6d계에서 CPU 20은 델타파일에 있는 해시값을 이용하여 부트 코드에 대한 업그레이드가 필요한지 여부를 판단한다. 상기 체크 결과, 부트 코드 업그레이딩이 필요하다고 판단되면 6g단계에서 플래시 메모리 30C에 저장되어 있는 부트 코드에 대한 업그레이딩을 실시한다. 만일 부트 코드 업그레이딩이 필요한 것이 아니라면, 6e단계에서 CPU 20은 상기 델타파일에 있는 해시값이 어플리케이션에 대한 업그레이드가 필요함을 나타내고 있는지 여부를 판단한다. 상기 체크 결과, 어플리케이션 업그레이딩이 필요하다고 판단되면 6f단계에서 플래시 메모리 30C에 저장되어 있는 어플리케이션에 대한 업그레이딩을 실시한다.
상기 6c단계에서 펌웨어 업그레이딩이 필요하지 않다고 판단된 경우, 상기 6e단계에서 어플리케이션에 대한 업그레이드가 필요하지 않다고 판단된 경우, 상기 6g단계에서 부트 코드 업그레이딩을 실행한 후, 혹은 상기 6f단계에서 어플리케이션 업그레이딩을 실행한 후에는 6h단계로 진행하여 상기 플래시 메모리 30E의 부트 코드를 RAM 40F에 로딩한다. 그리고 6i단계에서 상기 플래시 메모리 30E의 어플리케이션을 로딩한다. 다만, 상기 6c단계에서 펌웨어 업그레이딩이 필요하지 않다고 판단되거나 상기 6e단계에서 어플리케이션에 대한 업그레이드가 필요하지 않다고 판단된 경우에 6h 및 6i단계에서 각각 로딩되는 부트 코드 혹은 어플리케이션은 원래 버전이고, 상기 6g 혹은 6f단계를 수행한 다음에 6h 및 6i단계에서 각각 로딩되는 부트 코드 혹은 어플리케이션은 업그레이드된 것이다.
상기 6i단계 수행 후에는 6j단계에서 대기모드로 전환된다.
위와 같은 동작이 가능하게 하기 위해서는 무선 펨웨어 엔진에서 단말기를 동작시키기 위한 최소한의 초기화 코드가 포함되어야 한다. 여기서 최소한의 초기화 코드란 전원공급 시 무선 펨웨어 엔진에서 바로 단말기를 동작시켜야 하므로, 부트 코드의 초기단계에서 실시하는 단말기의 클럭 설정 및 단말기의 내부 레지스터 설정 등을 말한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐 만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 전원이 인가되면, 부트 코드를 로딩하지 않고, 먼저 플래시 메모리의 무선 펌웨어 업그레이드 엔진을 램에 로딩한 다음 이를 실행시켜 업그레이드 대상 및 그 적합성 여부를 판단한 뒤 해당 펌웨어를 업그레이드시키도록 함으로써 부트 코드도 업그레이드할 수 있는 장점이 있다.
도 1은 무선 펌웨어 업그레이드 기능을 갖지 않는 단말기의 구조를 나타낸 도면
도 2는 종래의 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면
도 3은 종래의 무선 펌웨어 업그레이드 방법을 나타낸 흐름도
도 4는 무선 펌웨어 업그레이드에 이용되는 델타 파일의 구조를 나타낸 도면
도 5는 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면
도 6은 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 방법을 나타낸 흐름도

Claims (10)

  1. 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리, 내부 메모리와 중앙처리장치를 가지는 마이크로프로세서, 그리고 랜덤 액세스 메모리를 구비한 무선 펌웨어 업그레이드 가능 무선 단말기에 있어서,
    상기 중앙처리장치가 전원이 인가되면 상기 내부 메모리에 저장되어 있는 프로그램을 실행시켜 상기 무선 펌웨어 업그레이드 엔진을 상기 랜덤 액세스 메모리에 로딩한 다음, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 부트 코드를 업그레이드시키도록 구성함을 특징으로 하는 단말기.
  2. 제1항에 있어서,
    상기 플래시 메모리는 낸드 플래시 메모리임을 특징으로 하는 단말기.
  3. 제1항에 있어서,
    상기 플래시 메모리는 노아 플래시 메모리임을 특징으로 하는 단말기.
  4. 제1항에 있어서,
    상기 무선 펨웨어 엔진은 전원이 공급될 때 단말기를 동작시키기 위한 최소한의 초기화 코드를 가짐을 특징으로 하는 단말기.
  5. 제1항에 있어서,
    상기 최소한의 초기화 코드가 클럭 설정 혹은 내부 레지스터 설정을 위한 코드를 포함함을 특징으로 하는 단말기.
  6. 제1항에 있어서,
    상기 중앙처리장치는 무선 데이터 네크워크로부터 수신된 델타 파일의 베이스 파일 해시값을 참조하여 업그레이드 대상이 되는 펌웨어를 결정하고 그 적합성을 판단함을 특징으로 하는 단말기.
  7. 제6항에 있어서,
    상기 업그레이드 대상이 되는 펌웨어가 부트 코드임을 특징으로 하는 단말기.
  8. 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리와 랜덤 액세스 메모리를 구비한 무선 단말기의 무선 펌웨어 업그레이드 방법에 있어서,
    전원이 인가되면 상기 무선 펌웨어 업그레이드 엔진을 상기 랜덤 액세스 메모리에 로딩하는 과정과,
    상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있는지 여부를 체크하는 과정과,
    상기 펌웨어 업그레이드가 필요하다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 펌웨어를 업그레이드시키는 과정을 포함함을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 업그레이드되는 펌웨어는 어플리케이션 혹은 부트 코드이며, 이들 중 어느 하나의 선택은 무선 수신된 델타 파일의 베이스 파일 해시값을 참조하여 결정함을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 어플리케이션 혹은 부트 코드 업그레이드 후, 상기 랜덤 액세스 메모리에 상기 부트 코드를 로딩한 다음, 상기 어플리케이션을 로딩하는 과정을 더 포함함을 특징으로 하는 방법.
KR1020040031636A 2004-05-06 2004-05-06 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법 KR100617796B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040031636A KR100617796B1 (ko) 2004-05-06 2004-05-06 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040031636A KR100617796B1 (ko) 2004-05-06 2004-05-06 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050106644A true KR20050106644A (ko) 2005-11-11
KR100617796B1 KR100617796B1 (ko) 2006-08-28

Family

ID=37283374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040031636A KR100617796B1 (ko) 2004-05-06 2004-05-06 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법

Country Status (1)

Country Link
KR (1) KR100617796B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080037450A (ko) * 2006-10-26 2008-04-30 웹싱크 주식회사 소프트웨어 실행모듈의 업데이트 시스템 및 방법
KR100827172B1 (ko) * 2004-05-06 2008-05-02 삼성전자주식회사 휴대단말기 펌웨어를 업그레이드하기 위한 장치와 방법
KR100862971B1 (ko) * 2007-07-26 2008-10-13 강릉대학교산학협력단 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법
KR101353063B1 (ko) * 2007-10-12 2014-01-17 삼성전자주식회사 Fota 수행 방법 및 그 방법에 따른 단말기

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827172B1 (ko) * 2004-05-06 2008-05-02 삼성전자주식회사 휴대단말기 펌웨어를 업그레이드하기 위한 장치와 방법
KR20080037450A (ko) * 2006-10-26 2008-04-30 웹싱크 주식회사 소프트웨어 실행모듈의 업데이트 시스템 및 방법
KR100862971B1 (ko) * 2007-07-26 2008-10-13 강릉대학교산학협력단 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법
US8572600B2 (en) 2007-07-26 2013-10-29 Gangneung-Wonju National University Industrial Academy Cooperation Group Method for updating firmware of sensor nodes on the wireless sensor network
KR101353063B1 (ko) * 2007-10-12 2014-01-17 삼성전자주식회사 Fota 수행 방법 및 그 방법에 따른 단말기

Also Published As

Publication number Publication date
KR100617796B1 (ko) 2006-08-28

Similar Documents

Publication Publication Date Title
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
KR100778293B1 (ko) 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
US7516315B2 (en) Electronic device having an alterable configuration and methods of manufacturing and configuring the same
KR101427755B1 (ko) Usb를 이용한 펌웨어 업그레이드 장치 및 방법
US20040243992A1 (en) Update system capable of updating software across multiple FLASH chips
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
US20080072029A1 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
JPWO2009078285A1 (ja) 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
US20040103172A1 (en) Method of updating an operation system
CN110750280B (zh) 一种基于Android平台的应用升级方法及系统、存储介质
US20160321057A1 (en) Electronic apparatus
CN105677409A (zh) 一种系统升级方法及装置
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
KR100617796B1 (ko) 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
KR100860402B1 (ko) 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법
CN115994003A (zh) 操作系统中共享对象的处理方法及处理装置
US20150033003A1 (en) Host and method of upgrading connection manager of dongles
EP1710697A1 (en) Method and apparatus for executing application in system having NAND flash memory
US11768669B2 (en) Installing application program code on a vehicle control system
CA2539897C (en) An electronic device having an alterable configuration and methods of manufacturing and configuring the same
KR100762618B1 (ko) 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
KR100876748B1 (ko) 부트코드 업데이트 방법
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备

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: 20120730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee