KR20040008007A - Method of upgrading firmware for wireless terminal - Google Patents

Method of upgrading firmware for wireless terminal Download PDF

Info

Publication number
KR20040008007A
KR20040008007A KR1020020041298A KR20020041298A KR20040008007A KR 20040008007 A KR20040008007 A KR 20040008007A KR 1020020041298 A KR1020020041298 A KR 1020020041298A KR 20020041298 A KR20020041298 A KR 20020041298A KR 20040008007 A KR20040008007 A KR 20040008007A
Authority
KR
South Korea
Prior art keywords
firmware
upgrade
program
version
download
Prior art date
Application number
KR1020020041298A
Other languages
Korean (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 KR1020020041298A priority Critical patent/KR20040008007A/en
Publication of KR20040008007A publication Critical patent/KR20040008007A/en

Links

Landscapes

  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

PURPOSE: A method for upgrading a firmware in a wireless terminal is provided to automatically and remotely upgrade a firmware installed and operated in the wireless terminal such as a mobile phone, a PDA(Personal Digital Assistant) or a smart phone. CONSTITUTION: An update check program compares a version of a received new version firmware with a version of an old version firmware, and judges whether it is necessary for upgrade(S100,S114). If the version of the new version firmware is greater than the version of the old version firmware, the update check program initializes a UCF(Update Check Flag) value as 0(S116). A download program initializes a DCF(Download Check Flag) value as 0(S118,S120), and receives the new version firmware from an upgrade server(S122). The download program receives a checksum of a new version firmware from the upgrade server, and compares the received checksum of the new version firmware with the firmware of the downloaded new version firmware(S124). If the two checksums are same, the download program converts the DCF value into 1(S126). If the UCF value is 0 and the DCF value is 1, an update program updates the new version firmware in a storing position of the old version firmware(S132-S140). If the update program converts the UCF value into 1(S142,S144). A jump command, recorded in a memory address firstly accessed after a CPU of a wireless terminal is reset, is converted into a jump command to the storing position of the old version firmware(S146). The soft reset of the wireless terminal is performed(S148).

Description

무선단말기 펌웨어 업그레이드 방법{METHOD OF UPGRADING FIRMWARE FOR WIRELESS TERMINAL}Wireless terminal firmware upgrade method {METHOD OF UPGRADING FIRMWARE FOR WIRELESS TERMINAL}

본 발명은 무선단말기 펌웨어 업그레이드 방법에 관한 것으로서, 더욱 상세히 설명하면, 휴대전화, PDA 또는 스마트폰 등과 같은 무선단말기에 설치 및 구동되는 펌웨어(firmware)를 원격에서 자동으로 업그레이드하는 무선단말기 펌웨어 업그레이드 방법에 관한 것이다.The present invention relates to a wireless terminal firmware upgrade method, and more specifically, to a wireless terminal firmware upgrade method for automatically upgrading firmware (firmware) installed and driven in a wireless terminal such as a mobile phone, a PDA or a smart phone, etc. remotely. It is about.

현재, 무선단말기, 특히 휴대전화에 설치되는 펌웨어는 휴대전화의 제작시에 설치되어 사용되고 있는데, 이러한 펌웨어의 경우 새로운 기능의 추가, 성능 향상 또는 기존 오류의 해결을 위하여 업그레이드를 해야할 필요성이 종종 발생한다.Currently, firmware installed in wireless terminals, especially mobile phones, is installed and used at the time of manufacture of mobile phones, and such firmware often needs to be upgraded to add new functions, improve performance, or solve existing errors. .

현재 휴대전화에 사용되는 펌웨어의 업그레이드를 하기 위하여는 사용자가 직접 단말기 제조업자 또는 이동통신업자가 운영하는 대리점이나 AS 센터에 방문하여 펌웨어 업그레이드 서비스를 받게 된다. 이러한 오프라인 업그레이드 방법은 사용자가 펌웨어 업그레이드를 위하여 직접 대리점 등을 방문하여야 하므로 시간적 경제적 손실이 따르는 문제점이 있었다. 특히 현대 사회는 대부분의 무선단말기 사용자가 바쁜 업무를 수행하고, 교통난이나 주차난이 가중되는 상황이어서 시간적 경제적 손실은 더욱더 증대되고 있는 현실이다.In order to upgrade the firmware currently used in a mobile phone, a user directly visits a dealer or an AS center operated by a terminal manufacturer or a mobile communication company and receives a firmware upgrade service. This offline upgrade method has a problem in that the user has to visit the dealer for firmware upgrade, etc., resulting in time and economic loss. In particular, in the modern society, most wireless terminal users perform busy tasks, and traffic and parking difficulties are aggravated, and thus time and economic losses are increasing.

또한, 무선네트워크의 고속화 및 무선단말기의 고급화 대중화에 힘입어 무선인터넷 서비스가 폭증하고 있는 상황이나 펌웨어 업그레이드가 필요한 신규 서비스의 경우 오프라인 펌웨어 업그레이드 방법의 불편함이 신규 서비스 확장에 걸림돌로 작용하고 있다. 그 이유는 대부분의 무선인터넷 사용자가 대리점을 방문해야 하는 불편함과 펌웨어 업그레이드를 수행하지 않아도 무선단말기의 기본동작에는 큰 불편함이 없기 때문에 펌웨어 업그레이드 서비스를 받지않고 있기 때문이다. 따라서, 오프라인 펌웨어 업그레이드 방법은 사용자와 무선인터넷 서비스 제공자 모두에게 커다란 문제점으로 부각되고 있다.In addition, due to the high speed of the wireless network and the popularization of high-end wireless terminals, the increase of the wireless Internet service or the inconvenience of the offline firmware upgrade method in the case of a new service that requires firmware upgrade is an obstacle to the expansion of the new service. The reason is that most wireless Internet users do not receive a firmware upgrade service because there is no inconvenience in having to visit a dealer and a basic operation of a wireless terminal without performing a firmware upgrade. Therefore, the offline firmware upgrade method is a big problem for both the user and the wireless Internet service provider.

근래들어, 상기와 같은 오프라인 펌웨어 업그레이드의 문제점을 해결하기 위한 많은 발명들이 대두되고 있는데, 실례로서 대한민국 공개특허 2002-0041005호가 있다. 상기 출원발명은 원격지 시스템의 소프트웨어를 망관리 통신채널(Data Communication Channel)을 이용하여 업그레이드하는 방법으로서, 원격 업그레이드 수행 중 오류가 발생할 경우 기존 소프트웨어로 복구할 수 있는 방법을 제시하고있다. 그러나, 상기 출원발명은 이를 위하여 기존의 소프트웨어를 백업하므로 다량의 메모리 공간이 필요하고, 특별한 메모리 구조를 사용함에 따라 시스템 설계시에 이러한 점이 반영되어야 하는 단점이 있었다. 또한, 시스템 구동을 위한 시스템 소프트웨어와 원격 업그레이드를 수행하는 프로그램이 유기적으로 결합되어 있어, 원격 업그레이드를 수행하는 프로그램의 일반성이 결여되어 여러 시스템으로의 확장이나 새로운 기능 추가 등 확장성에 문제점이 있었다. 또한, 시스템 출시시에 업그레이드를 수행, 점검, 판단 및 복구 등을 수행하는 프로그램이 설치되어 있어야 하고 상기 프로그램의 원격 업그레이드가 불가능한 문제점이 있었다.In recent years, many inventions for solving the problems of the offline firmware upgrade are emerging, for example, there is a Republic of Korea Patent Publication No. 2002-0041005. The present invention is a method for upgrading software of a remote system using a network communication channel, and a method for recovering an existing software when an error occurs during a remote upgrade is performed. However, the present invention has a disadvantage in that a large amount of memory space is required since the existing software is backed up for this purpose, and this point must be reflected in system design by using a special memory structure. In addition, since the system software for system operation and the program for performing the remote upgrade are organically combined, the generality of the program for performing the remote upgrade is lacking, which causes problems in scalability such as expansion to various systems or addition of new functions. In addition, a program for performing an upgrade, checking, determining, and restoring at the time of system release should be installed, and there was a problem that the remote upgrade of the program was impossible.

본 발명은 상기와 같은 문제점을 해결하고자 제시된 것으로서, 본 발명의 목적은 무선단말기 펌웨어 업그레이드 방법을 제공하는 것이다.The present invention has been presented to solve the above problems, and an object of the present invention is to provide a wireless terminal firmware upgrade method.

도 1 은 본 발명에 따른 무선단말기의 메모리 맵을 나타낸 도.1 is a diagram illustrating a memory map of a wireless terminal according to the present invention.

도 2 는 본 발명에 따른 무선단말기 펌웨어 업그레이드 과정이 진행되는 흐름도.2 is a flow chart of a wireless terminal firmware upgrade process according to the present invention.

상기의 목적을 달성하기 위하여, 본 발명에 따른 무선단말기 펌웨어 업그레이드 방법은, 무선단말기에 설치된 펌웨어인 올드 버전 펌웨어를 새로운 버전의 펌웨어인 뉴 버전 펌웨어로 업그레이드 하는 무선단말기 펌웨어 업그레이드 방법으로서, 뉴 버전 펌웨어를 제공하는 업그레이드 서버로부터 뉴 버전 펌웨어의 버전을 수신하고, 올드 버전 펌웨어의 업그레이드 필요여부를 판단하는 업데이트 체크 프로그램이 수신된 뉴 버전 펌웨어의 버전과 올드 버전 펌웨어의 버전을 비교하여 업그레이드 필요 여부를 판단하는 버전 비교단계; 올드 버전 펌웨어의 버전보다 뉴 버전 펌웨어의 버전이 클 경우, 업데이트 체크 프로그램이 올드 버전 펌웨어가 업그레이드되었는지 여부를 나타내는 업데이트 체크 플래그 값을 0 으로 초기화하는 플래그 초기화단계; 뉴 버전 펌웨어의 다운로드를 수행하는 다운로드 프로그램이, 뉴 버전 펌웨어의 다운로드 여부를 나타내는 다운로드 체크 플래그 값을 0 으로 초기화하고, 업그레이드 서버로부터 뉴 버전 펌웨어를 다운로드받는 다운로드 단계; 업그레이드 서버로부터 뉴 버전 펌웨어의 체크섬을 수신하고, 다운로드 프로그램이 다운로드된 뉴 버전 펌웨어의 체크섬과 비교하여 양 체크섬이 상이할 경우 다운로드를 재시도하고, 양 체크섬이 동일할 경우 다운로드 체크 플래그 값을 1 로 변환하는 다운로드 확인단계; 올드 버전 펌웨어를 뉴 버전 펌웨어로 업데이트하는 업데이트 프로그램이, 업데이트 체크 플래그 값이 0 이고 다운로드 체크 플래그 값이 1 이면 올드 버전 펌웨어의 저장위치에 뉴 버전 펌웨어를 업데이트하는 업데이트 단계; 업데이트 프로그램이 업데이트 체크 플래그 값을 1 로 변환하는 플래그 변환단계; 및 무선단말기의 CPU 가 리셋 후 처음으로 액세스하는 메모리 주소에 기록되는 점프명령어를 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고, 무선단말기를 소프트 리셋하는 리셋 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the wireless terminal firmware upgrade method according to the present invention is a wireless terminal firmware upgrade method for upgrading an old version firmware, which is firmware installed in a wireless terminal, to a new version firmware, which is a new version firmware. Receives the version of the new version firmware from the upgrade server that provides a, and the update checker to determine whether the upgrade of the old version firmware needs to compare the version of the received new version firmware and the version of the old version firmware to determine whether the upgrade needs Version comparison step; A flag initialization step of, if the version of the new version firmware is greater than the version of the old version firmware, the update check program initializing an update check flag value indicating whether the old version firmware is upgraded to 0; A download step of downloading a new version firmware, initializing a download check flag value indicating whether the new version firmware is downloaded to 0, and downloading the new version firmware from the upgrade server; Receive the checksum of the new version firmware from the upgrade server, retry the download if both checksums are different compared to the checksum of the downloaded new version firmware, and set the download check flag value to 1 if both checksums are the same. A download confirmation step of converting; An update program for updating the old version firmware to the new version firmware, the updating step of updating the new version firmware to a storage location of the old version firmware when the update check flag value is 0 and the download check flag value is 1; A flag conversion step of the update program converting the update check flag value to 1; And a reset step of converting a jump instruction recorded in a memory address which is accessed by the CPU of the wireless terminal for the first time into a jump instruction to a storage location of the old version firmware, and performing a soft reset of the wireless terminal.

또한, 업데이트 체크 프로그램, 다운로드 프로그램 및 업데이트 프로그램을 업그레이드하는 셀프 업그레이드 프로그램이 업그레이드 서버로부터 각 프로그램의 버전을 수신하고, 수신된 버전과 각 프로그램의 버전을 비교하여 각 프로그램의 업그레이드 필요여부를 판단하는 제 1 단계; 수신된 버전이 각 프로그램의 버전보다클 경우, 셀프 업그레이드 프로그램이 각 프로그램의 업그레이드 여부를 나타내는 셀프 업그레이드 플래그 값을 0 으로 초기화하고, 업그레이드 서버로부터 각 프로그램의 업그레이드 파일을 수신하는 제 2 단계; 및 셀프 업그레이드 프로그램이 수신된 업그레이드 파일을 이용하여 각 프로그램을 업그레이드하고, 셀프 업그레이드 플래그 값을 1 로 변환하는 제 3 단계를 더 포함하고,In addition, the self-upgrade program that upgrades the update checker, the download program, and the update program receives the version of each program from the upgrade server, and compares the received version with the version of each program to determine whether the upgrade is necessary for each program. Stage 1; A second step of, when the received version is larger than the version of each program, the self-upgrade program initializes the self-upgrade flag value indicating whether to upgrade each program to 0, and receives an upgrade file of each program from the upgrade server; And a third step of upgrading each program by using the upgrade file received by the self-upgrade program and converting the self-upgrade flag value to 1,

제 1 단계가, 수신된 버전이 각 프로그램의 버전과 동일하고 셀프 업그레이드 값이 0 일 경우, 업그레이드 서버로부터 각 프로그램의 업그레이드 파일을 수신하여 각 프로그램을 업그레이드하고, 수신된 버전이 각 프로그램의 버전보다 작을 경우, 사용자에게 오류발생을 알리고 무선단말기를 소프트 리셋하는 단계를 포함하도록 한다.The first step is to upgrade each program by receiving the upgrade file of each program from the upgrade server if the received version is the same as the version of each program and the self-upgrade value is 0, and the received version is higher than the version of each program. If it is small, it may include notifying the user of an error and soft reset the wireless terminal.

바람직하게는, 버전 비교단계가, 올드 버전 펌웨어의 버전과 뉴 버전 펌웨어의 버전이 같을 경우, 업데이트 체크 플래그 값을 확인하는 단계; 및 업데이트 체크 플래그 값이 0 인 경우 뉴 버전 펌웨어의 다운로드 및 올드 버전 펌웨어의 업그레이드를 재시도하고, 업데이트 체크 플래그 값이 1 인 경우 점프명령어를 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고 무선단말기를 소프트 리셋하는 단계를 포함하고,Preferably, the version comparison step, if the version of the old version firmware and the version of the new version firmware is the same, checking the update check flag value; If the update check flag value is 0, download the new version firmware and retry the upgrade of the old version firmware, and if the update check flag value is 1, convert the jump command into a jump command to the storage location of the old version firmware, and Soft reset the terminal;

올드 버전 펌웨어의 버전보다 뉴 버전 펌웨어의 버전이 작을 경우 사용자에게 오류발생을 알리는 단계; 및 무선단말기를 소프트 리셋하는 단계를 포함하도록 한다.Notifying the user of an error when the version of the new version firmware is smaller than the version of the old version firmware; And soft reset the wireless terminal.

또한, 다운로드 단계는, 뉴 버전 펌웨어를 수신하여 DRAM 또는 플래쉬 메모리에 저장하는 단계를 포함하고,In addition, the downloading step includes receiving the new version firmware and storing in the DRAM or flash memory,

뉴 버전 펌웨어의 다운로드 시도 횟수를 체크하는 단계; 및 다운로드 시도 횟수가 소정의 설정값 이상인 경우 무선단말기 사용자에게 다운로드를 계속할 것인지 여부를 선택하도록 하며,Checking the number of download attempts of the new version firmware; And if the number of download attempts is greater than or equal to a predetermined value, allowing the wireless terminal user to select whether to continue downloading.

업데이트 단계는, 다운로드 체크 플래그가 0 인 경우, 다운로드 프로그램이 뉴 버전 펌웨어의 다운로드를 재시도하는 단계; 및 업그레이드 서버로부터 수신한 뉴 버전 펌웨어의 체크섬과 다운로드된 뉴 버전 펌웨어의 체크섬을 비교하고, 양 체크섬이 상이할 경우 뉴 버전 펌웨어의 다운로드를 재시도하는 단계를 포함하도록 하고,The updating step may include: when the download check flag is 0, the download program retrying the download of the new version firmware; And comparing the checksum of the new version firmware received from the upgrade server with the checksum of the downloaded new version firmware, and retrying to download the new version firmware if the two checksums are different.

다운로드 단계가, 뉴 버전 펌웨어를 다운로드받는 중에 오류가 발생할 경우, 점프명령어를 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고 무선단말기를 소프트 리셋하는 단계를 포함하고, 업데이트 단계가, 업데이트 중에 오류가 발생할 경우 점프명령어를 일련의 펌웨어 업그레이드 과정으로의 점프명령어로 변환하고 무선단말기를 소프트 리셋하는 단계를 포함하도록 하는 것이 바람직하다.The download step includes converting a jump command into a jump command to a storage location of the old version firmware and soft reset the wireless terminal if an error occurs while downloading the new version firmware, and the update step includes an error during the update. In this case, it is preferable to convert the jump instruction into a jump instruction to a series of firmware upgrade processes and soft reset the wireless terminal.

더욱 바람직하게는, 펌웨어 업그레이드 시도 횟수를 체크하는 단계; 및 펌웨어 업그레이드 시도 횟수가 소정의 설정값 이상인 경우 무선단말기 사용자에게 펌웨어 업그레이드를 계속할 것인지 여부를 선택하도록 하는 단계를 더 포함하고,More preferably, checking the number of firmware upgrade attempts; And if the number of firmware upgrade attempts is equal to or greater than a predetermined setting value, causing the wireless terminal user to select whether to continue the firmware upgrade.

무선단말기 사용자가 무선단말기에 저장한 소정의 저장정보를 업그레이드 서버에 전송 및 저장하는 백업 단계; 및 사용자가 저장정보의 복구를 선택한 경우, 업그레이드 서버로부터 저장정보를 다운로드받아 무선단말기에 복구하는 복구 단계를 더 포함하도록 한다.A backup step of transmitting and storing predetermined storage information stored in the wireless terminal by the wireless terminal user to the upgrade server; And when the user selects the recovery of the stored information, the method further includes a recovery step of downloading the stored information from the upgrade server and restoring the stored information to the wireless terminal.

이하에서는, 첨부한 도면을 참조하여 본 발명의 장점, 특징 및 바람직한 실시례에 대해 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the advantages, features and preferred embodiments of the present invention.

도 1 은 본 발명에 따른 무선단말기의 메모리 맵을 나타낸 도이다. 통상적으로 무선단말기의 메모리는 비휘발성 메모리인 플래쉬 메모리(Flash Memory)와 휘발성 메모리인 DRAM(Dynamic Random Access Memory)를 구비한다. 본 발명은 도 1 에 도시된 바와 같이 플래쉬 메모리(10)와 DRAM(20)을 이용하여 무선단말기 펌웨어 업그레이드를 수행한다.1 is a diagram illustrating a memory map of a wireless terminal according to the present invention. Typically, a memory of a wireless terminal includes a flash memory (non-volatile memory) and a dynamic random access memory (DRAM). As shown in FIG. 1, the firmware of the wireless terminal is upgraded using the flash memory 10 and the DRAM 20.

플래쉬 메모리(10)에는 CPU가 리셋(reset)되었을 때 처음으로 수행되는 명령어의 위치에 점프명령어(11)가 기록되고, 업그레이드 이전에 무선단말기에 설치된 펌웨어(12, 이하 '올드 버전 펌웨어'라 한다.)와, 무선단말기 펌웨어 업그레이드를 수행하는 프로그램(이하 '펌웨어 업그레이드 프로그램'이라 한다.)가 저장된다. 또한, DRAM(20)에는 무선단말기 펌웨어 업그레이드를 지원하는 서버(이하 '업그레이드 서버'라 한다.)로부터 다운로드 받은 새로운 버전의 펌웨어(21, 이하 '뉴 버전 펌웨어'라 한다.)가 저장된다.In the flash memory 10, a jump instruction 11 is recorded at a position of an instruction that is first performed when the CPU is reset, and firmware installed in the wireless terminal before the upgrade (hereinafter referred to as “old version firmware”) .) And a program for performing a firmware upgrade of the wireless terminal (hereinafter referred to as a 'firmware upgrade program') are stored. In addition, the DRAM 20 stores a new version of firmware (hereinafter, referred to as “new version firmware”) downloaded from a server supporting a wireless terminal firmware upgrade (hereinafter referred to as an “upgrade server”).

펌웨어 업그레이드 프로그램은 셀프 업그레이드 프로그램(13), 업데이트 체크 프로그램(14), 다운로드 프로그램(15) 및 업데이트 프로그램(16)으로 이루어진다. 펌웨어 업그레이드 프로그램은 업그레이드 서버와의 접속이 이루어지면 무선단말기의 기종 및 모델에 대한 정보를 전송한다. 기종 및 모델에 관한 정보의 전송은 무선단말기의 모델번호 등을 전송함으로써 이루어질 수 있다. 업그레이드 서버는 수신된 정보를 통해 무선단말기를 특정하고, 특정된 무선단말기에 설치되는 각 펌웨어에 대한 식별자 및 최신버전 정보를 전송한다. 따라서, 펌웨어 업그레이드 수신된 펌웨어의 식별자 및 최신버전 정보와 설치된 펌웨어의 정보를 비교함으로써 업그레이드 여부를 판단하고 업그레이드를 진행할 수 있다. 상기 일련의 과정은 펌웨어 업그레이드 프로그램의 별도의 모듈에 의해 이루어지거나 업데이트 체크 프로그램에 의해 수행될 수 있으며, 본 발명이 속한 기술분야의 통상의 전문가라면 쉽게 알 수 있는 내용으로서 상세한 설명은 생략한다.The firmware upgrade program is composed of a self upgrade program 13, an update check program 14, a download program 15, and an update program 16. The firmware upgrade program transmits information about the model and model of the wireless terminal when the connection with the upgrade server is made. Transmission of information about the model and model can be made by transmitting the model number of the wireless terminal. The upgrade server specifies the wireless terminal through the received information, and transmits the identifier and the latest version information for each firmware installed in the specified wireless terminal. Therefore, the upgrade of the firmware can be determined by comparing the identifier and the latest version information of the received firmware with the information of the installed firmware, and the upgrade can be performed. The series of processes may be performed by a separate module of the firmware upgrade program, or may be performed by an update check program, which will be easily understood by those skilled in the art to which the present invention pertains.

셀프 업그레이드 프로그램(13)은 업그레이드 서버와의 접속을 통해 펌웨어 업그레이드 프로그램의 업그레이드 필요여부를 판단한다. 즉, 설치된 펌웨어 업그레이드 프로그램의 버전보다 업그레이드 서버에서 제공하는 프로그램의 버전이 클 경우 업그레이드 필요, 같을 경우 업그레이드 불필요, 작을 경우 오류발생으로 판단한다. 오류가 발생할 경우에는 사용자에게 이를 알리고, 점프명령어(11)를 올드 버전 펌웨어(12)가 점프하도록 설정하고 소프트 리셋을 수행하여 올드 버전 펌웨어(12)가 실행되도록 한다.The self-upgrade program 13 determines whether the firmware upgrade program needs to be upgraded by accessing the upgrade server. In other words, if the version of the program provided by the upgrade server is larger than the version of the firmware upgrade program installed, the upgrade is required. If an error occurs, the user is notified of this, and the jump instruction 11 is set so that the old version firmware 12 jumps and a soft reset is performed so that the old version firmware 12 is executed.

펌웨어 업그레이드 프로그램의 업그레이드가 필요할 경우, 셀프 업그레이드 프로그램(13)은 업데이트 체크 프로그램(14), 다운로드 프로그램(15) 및 업데이트 프로그램(16)을 업그레이드 서버로부터 다운로드 받아 DRAM(20)에 저장하고, 다운로드 상태를 체크섬(checksum) 등을 통해 점검하고 기존 프로그램을 업데이트한다.만일 셀프 업그레이드 과정 중 전원 또는 기타 원인으로 오류가 발생하여 리셋이 수행되는 경우 올드 버전 펌웨어(12)가 정상적으로 실행된다. 올드 버전 펌웨어가 실행된 후 사용자의 펌웨어 업그레이드 재구동으로 인하여 셀프 업그레이드 프로그램이 재실행된 경우 이전 셀프 업그레이드 과정이 완료되지 않았음을 점검하여 셀프 업그레이드 과정을 재시도한다. 셀프 업그레이드 과정이 완료되고 펌웨어 업그레이드 과정 중에 오류가 발생하여 리셋된 경우에는 업그레이드 과정의 진행정도에 따라서 올드 버전 펌웨어가 수행되거나 펌웨어 업그레이드 과정이 자동으로 재실행된다.When the firmware upgrade program needs to be upgraded, the self-upgrade program 13 downloads the update check program 14, the download program 15, and the update program 16 from the upgrade server, and stores them in the DRAM 20. Check through a checksum, etc., and update the existing program. If an error occurs due to power or other causes during the self-upgrade process, the old version firmware 12 is normally executed. If the self-upgrade program is re-executed due to the user's firmware upgrade restart after the old version firmware is executed, check that the previous self-upgrade process is not completed and retry the self-upgrade process. If the self-upgrade process is completed and an error occurs during the firmware upgrade process and is reset, the old version firmware is executed or the firmware upgrade process is automatically re-executed depending on the progress of the upgrade process.

원칙적으로 셀프 업그레이드 프로그램(13)은 업그레이드되지 않으나, 버그와 같은 문제점이 발생한 경우 사용자가 직접 수동으로 업그레이드 서버에 접속하여 펌웨어 업그레이드 프로그램을 다운로드받아 재설치할 수 있다. 또한, 셀프 업그레이드 프로그램(13)을 독립적인 두개의 프로그램으로 나누어 서로 업그레이드시켜주도록 함으로써, 셀프 업그레이드 프로그램을 자동으로 업그레이드할 수 있다.In principle, the self-upgrade program 13 is not upgraded, but if a problem such as a bug occurs, the user may directly access the upgrade server and download and reinstall the firmware upgrade program. In addition, by dividing the self-upgrade program 13 into two independent programs to upgrade each other, the self-upgrade program can be automatically upgraded.

펌웨어 업그레이드 프로그램을 구성하는 셀프 업그레이드 프로그램(13), 업데이트 체크 프로그램(14), 다운로드 프로그램(15) 및 업데이트 프로그램(16)은 프로그램이 비교적 복잡하지 않으므로 상대적으로 버그나 문제가 발생할 가능성이 적다. 그러나, 셀프 업그레이드가 가능하도록 함으로써 펌웨어 업그레이드 프로그램의 버그나 문제가 발생할 경우 사용자 재설치없이 자동으로 업그레이드할 수 있고, 기능추가를 통한 서비스 향상 및 새로운 서비스 제공의 기회가 확대되는 장점이 있다.The self-upgrade program 13, the update check program 14, the download program 15, and the update program 16 constituting the firmware upgrade program are relatively less likely to cause bugs or problems because the programs are not relatively complicated. However, by enabling the self-upgrade, if a bug or problem occurs in the firmware upgrade program, it can be upgraded automatically without re-installing the user, and there is an advantage in that the service enhancement and additional service provision opportunities are expanded by adding functions.

업데이트 체크 프로그램(14)은 업그레이드 서버와의 접속을 통해 무선단말기 펌웨어의 업그레이드 필요여부를 판단한다. 즉, 올드 버전 펌웨어(12)의 버전보다 업그레이드 서버에서 제공하는 펌웨어의 버전이 크면 업그레이드 필요, 같으면 업그레이드 불필요, 작으면 오류발생으로 판단한다. 오류발생의 경우 사용자에게 이를 알리고, 소프트 리셋을 수행하여 올드 버전 펌웨어(12)가 실행되도록 한다.The update check program 14 determines whether the wireless terminal firmware needs to be upgraded through the connection with the upgrade server. That is, if the version of the firmware provided by the upgrade server is larger than the version of the old version firmware 12, it is determined that an upgrade is required, if it is the same, no upgrade is required, and if it is small, an error occurs. In case of an error, the user is notified and a soft reset is performed so that the old version firmware 12 is executed.

다운로드 프로그램(15)은 업그레이드 서버로부터 뉴 버전 펌웨어(21)를 다운로드받아 휘발성 메모리인 DRAM(20)에 저장한다. 만일, 다운로드 중에 하드웨어 또는 소프트웨어적으로 오류가 발생하여 뉴 버전 펌웨어를 다 받지 못한 경우에도 리셋 후에 기존의 올드 버전 펌웨어(12)가 동작하므로 무선단말기의 동작에는 문제가 없다. 다운로드 프로그램(15)이 뉴 버전 펌웨어를 모두 다운로드 받으면 업그레이드 서버로부터 체크섬 정보를 수신하여 정확히 다운로드 받았는지 확인한다. 만일, 비휘발성 메모리인 플래쉬 메모리(10)에 충분한 여유 저장공간이 있을 경우 뉴 버전 펌웨어(21)를 플래쉬 메모리에 저장한다. 이 경우, 플래쉬 메모리 자체 오류의 경우를 제외하고 다운로드 완료 후에 전원 문제와 같은 다른 오류로 인하여 재다운로드 받을 필요가 없어지므로 업그레이드 시간을 단축할 수 있다.The download program 15 downloads the new version firmware 21 from the upgrade server and stores the new version firmware 21 in the volatile memory DRAM 20. If an error occurs in the hardware or software during the download, and the new version firmware is not received, the old version firmware 12 is operated after the reset. Therefore, there is no problem in the operation of the wireless terminal. When the download program 15 downloads all the new version firmware, it receives the checksum information from the upgrade server and checks whether it has been correctly downloaded. If there is sufficient free storage space in the flash memory 10 which is a nonvolatile memory, the new version firmware 21 is stored in the flash memory. In this case, except for the flash memory itself error, the upgrade time can be shortened because the download does not need to be downloaded again due to another error such as a power problem.

업데이트 프로그램(16)은 뉴 버전 펌웨어의 체크섬을 검사하여 체크섬이 올바른 경우, 올드 버전 펌웨어(12)를 뉴 버전 펌웨어(21)로 업데이트한다. 체크섬을 재검사함으로써 업데이트 도중 전원 등의 문제가 발생하여 리셋이 수행될 경우 DRAM(20)에 저장된 뉴 버전 펌웨어 정보가 사라지는 것을 대비할 수 있다.The update program 16 checks the checksum of the new version firmware and, if the checksum is correct, updates the old version firmware 12 to the new version firmware 21. By rechecking the checksum, if a problem such as power is generated during the update and a reset is performed, new version firmware information stored in the DRAM 20 may be lost.

도 2 는 본 발명에 따른 무선단말기 펌웨어 업그레이드 과정이 진행되는 흐름도이다. 도 2 를 참조하면, 본 발명에 따른 무선단말기 펌웨어 업그레이드 과정은 다음과 같은 흐름을 가진다.2 is a flowchart of a wireless terminal firmware upgrade process according to the present invention. 2, the wireless terminal firmware upgrade process according to the present invention has the following flow.

사용자가 펌웨어 업그레이드 기능을 구동시키거나, CPU 리셋 후 실행되는 첫주소의 점프명령어(11)에 셀프 업그레이드 프로그램(13)으로의 점프명령어를 기록하고 리셋을 수행함으로 인하여 셀프 업그레이드 프로그램이 구동된다(S100 단계). 통상적으로 점프명령어(11)로는 올드 버전 펌웨어(12)가 저장된 위치로의 점프명령어가 기록되는데, 올드 버전 펌웨어 업데이트 중 오류가 발생한 경우에는 오류로 인한 리셋 후에 올드 버전 펌웨어가 정상동작하지 않음으로 펌웨어 업그레이드를 재수행하게 하기 위하여 올드 버전 펌웨어 업데이트 이전에 셀프 업그레이드 프로그램으로의 점프명령어로 변환한다.The self-upgrade program is driven by writing a jump instruction to the self-upgrade program 13 in the jump instruction 11 of the first address which is executed after the CPU reset, or after the user resets the firmware (S100). step). Typically, a jump instruction to the position where the old version firmware 12 is stored is recorded as the jump instruction 11. When an error occurs during the update of the old version firmware, the old version firmware does not operate normally after a reset due to an error. To re-upgrade the upgrade, convert it to a jump instruction to the self-upgrade program prior to the old version firmware update.

만일, 소프트 리셋 후에 펌웨어 업그레이드 프로그램을 실행하기 위하여 필요한 초기화 및 설정이 있을 경우 이를 셀프 업그레이드 프로그램(13)의 시작부분에 배치하여 펌웨어 업그레이드 프로그램이 원활히 이루어지도록 할 수 있다. 이러한 프로그램으로는 각종 하드웨어 장치 초기화 및 특정 메모리 영역의 설정 등이 있으며, 이러한 프로그램은 무선단말기의 기종에 따라서 상이할 수 있으므로 무선단말기 별로 개발 배포하여야 한다. 그러나, 대부분 소프트 리셋은 하드웨어 초기화를 수행하지 않으므로 이 경우 상기 프로그램은 필요하지 않을 수 있다.If there is an initialization and setting necessary to execute the firmware upgrade program after the soft reset, the firmware upgrade program may be smoothly arranged by placing it at the beginning of the self-upgrade program 13. Such programs include initialization of various hardware devices and setting of specific memory areas. Since such programs may be different depending on the type of the wireless terminal, they should be developed and distributed for each wireless terminal. However, most soft resets do not perform hardware initialization and in this case the program may not be necessary.

셀프 업그레이드 프로그램(13)은 업그레이드 서버와의 접속을 통해 셀프 업그레이드가 필요한지 여부를 판단한다(S102 단계). 즉, 무선단말기에 설치된 펌웨어 업그레이드 프로그램의 버전보다 업그레이드 서버가 제공하는 펌웨어 업그레이드 프로그램의 버전이 크면 업그레이드 필요, 같으면 업그레이드 불필요, 작으면 오류발생으로 판단한다. 오류가 발생한 경우 이를 사용자에게 알리고 소프트 리셋을 수행하여 종료한다(S128 단계, S148 단계). 이 경우 올드 버전 펌웨어가 정상적으로 수행된다.The self-upgrade program 13 determines whether a self-upgrade is necessary through the connection with the upgrade server (step S102). That is, if the version of the firmware upgrade program provided by the upgrade server is larger than the version of the firmware upgrade program installed in the wireless terminal, it is determined that an upgrade is required, if it is the same, no upgrade is required, and if it is small, an error occurs. If an error occurs, the user is notified and a soft reset is performed (S128 and S148). In this case, the old version firmware is normally executed.

S102 단계에서 업그레이드가 필요한 경우, 셀프 업그레이드 프로그램(13)은 셀프 업그레이드 플래그(SUF, Self Upgrade Flag)를 0 으로 변환하고(S104 단계), 셀프 업그레이드를 시작한다(S106 단계). 셀프 업그레이드 플래그는 실제로 업그레이드 되었는지 여부를 나타내는 값으로서, 업그레이드 프로그램의 버전은 업데이트되었으나 업그레이드가 완료되지 않은 상황에서(즉, 셀프 업그레이드 플래그가 0 인 상황) 오류로 인한 리셋 후 재실행되었을 때 업그레이드 프로그램의 재실행이 필요함을 판단하는데 유용하게 사용된다. 즉, 이 값이 1 인 경우 펌웨어 업그레이드 프로그램이 실질적으로 업그레이드된 것을 의미한다.When the upgrade is necessary in step S102, the self-upgrade program 13 converts the self upgrade flag (SUF) to 0 (step S104), and starts the self-upgrade (step S106). The self-upgrade flag is a value that indicates whether or not the upgrade was actually upgraded. The upgrade program is rerun when the version of the upgrade program is updated but the upgrade is not completed (that is, the status of the self-upgrade flag is 0). This is useful for determining this need. That is, when this value is 1, it means that the firmware upgrade program is substantially upgraded.

셀프 업그레이드 과정은 다운로드 과정과 업데이트 과정으로 이루어지는데, 다운로드 과정에서는 셀프 업그레이드 프로그램(13)이 업데이트 체크 프로그램 (14), 다운로드 프로그램(15), 업데이트 프로그램(16)을 업그레이드 서버로부터 다운로드 받아 휘발성메모리인 DRAM(20)에 저장하고, 업데이트 과정에서는 다운로드 상태를 체크섬 등으로 점검한 뒤 올바르면 기존 프로그램을 업데이트한다. 만일, 셀프 업그레이드 과정 중 다운로드 과정이나 업데이트 과정에서 전원 오류나 기타 오류가 발생하여 리셋된 경우 올드 버전 펌웨어(12)가 정상적으로 수행되고, 이 상태에서 사용자가 펌웨어 업그레이드 기능을 재구동하면 상기 과정을 거쳐 셀프 업그레이드 과정이 반복된다. 따라서, 업데이트 과정 중 발생하는 오류로 인하여 기존의 펌웨어 업그레이드 프로그램이 정상 동작하지 않아도 재설치되므로 문제가 발생하지 않는다. 이러한 셀프 업그레이드 기능을 통해 펌웨어 업그레이드 프로그램 배포 후 프로그램의 수정사항이 발생할 경우 사용자의 재설치 과정없이 바로 업그레이드가 가능하며 기능추가도 가능하다.The self-upgrade process consists of a download process and an update process. In the download process, the self-upgrade program 13 downloads the update check program 14, the download program 15, and the update program 16 from the upgrade server. In the DRAM 20, the update process checks the download status with a checksum or the like and updates the existing program if it is correct. If the reset or the power failure or other error occurs during the self-upgrading process, the old version firmware 12 is normally executed, and if the user restarts the firmware upgrade function in this state, The upgrade process is repeated. Therefore, the problem does not occur because the existing firmware upgrade program is reinstalled even though the firmware upgrade program does not operate normally due to an error occurring during the update process. Through this self-upgrade function, if a modification of the program occurs after the firmware upgrade program is distributed, the user can upgrade immediately without re-installing the user and add a function.

셀프 업그레이드가 완료되면 셀프 업그레이드 플래그를 1 로 변환하고(S108 단계), 업데이트 체크 프로그램(14)을 실행시킨다(S110 단계).When the self-upgrade is completed, the self-upgrade flag is converted to 1 (step S108), and the update check program 14 is executed (step S110).

S102 단계에서 셀프 업그레이드가 불필요한 경우, 셀프 업그레이드 플래그를 체크한다(S112 단계).If self-upgrade is unnecessary in step S102, the self-upgrade flag is checked (step S112).

셀프 업그레이드 플래그가 0 인 경우 S106 단계의 셀프 업그레이드를 시작한다. 이 경우는 셀프 업그레이드 과정 중 업데이트 과정에서 버전은 업데이트되었으나 S108 단계까지는 완료되지 않은 상태에서 오류가 발생한 경우로서, 오류로 인하여 리셋이 수행되고 리셋에 의하여 올드 버전 펌웨어가 구동된 후 사용자의 펌웨어 업그레이드 기능 구동으로 셀프 업그레이드 프로그램이 재실행되었을 때 발생할 수 있다.If the self-upgrade flag is 0, the self-upgrade of step S106 is started. In this case, an error occurs when the version is updated in the update process during the self-upgrade process, but is not completed until step S108. The reset is performed due to an error, and the firmware upgrade function of the user is performed after the old version firmware is driven by the reset. This can occur when the self-upgrade program is rerun by startup.

셀프 업그레이드 플래그가 1 인 경우 업데이트 체크 프로그램을 실행한다 (S110 단계). 이 경우는, S108 단계에서 셀프 업그레이드 플래그가 1 로 변환되고 S110 단계의 업데이트 체크 프로그램이 실행된 이후 S132 단계 이전에 발생한 오류로 인하여 리셋이 수행되고, 리셋에 의하여 올드 버전 펌웨어가 구동된 상태에서 사용자의 펌웨어 업그레이드 기능 구동에 의하거나 S132 단계 이후 S146 단계 이전에 발생한 오류에 의하여 자동으로 셀프 업그레이드 프로그램이 실행된 경우에 의해 발생할 수 있다.If the self-upgrade flag is 1, the update check program is executed (step S110). In this case, after the self-upgrade flag is changed to 1 in step S108 and the update check program of step S110 is executed, a reset is performed due to an error that occurred before step S132, and the user is operated while the old version firmware is driven by the reset. It may be caused by the self-upgrade program being executed automatically by the firmware upgrade function of the operation or by an error occurring before the step S146 after the step S132.

업데이트 체크 프로그램(14)은 업그레이드 서버와의 접속을 통해 올드 버전 펌웨어의 업그레이드 필요여부를 판단한다(S114 단계). 만일, 무선단말기에 설치된 펌웨어의 버전보다 업그레이드 서버가 제공하는 펌웨어의 버전이 크면 업그레이드 필요, 같으면 불필요, 작으면 오류발생으로 판단한다. 오류가 발생한 경우 사용자에게 이를 알리고 소프트 리셋을 수행하여 올드 버전 펌웨어를 실행시킨다 (S128 단계, S148 단계).The update check program 14 determines whether the old version firmware needs to be upgraded through a connection with the upgrade server (step S114). If the version of the firmware provided by the upgrade server is larger than that of the firmware installed in the wireless terminal, it is determined that an upgrade is necessary, if it is the same, unnecessary, and if it is small, an error occurs. If an error occurs, the user is notified and a soft reset is performed to execute the old version firmware (steps S128 and S148).

S114 단계에서 업그레이드가 필요하다고 판단되면, 업데이트 체크 프로그램 (14)은 업데이트 체크 플래그(UCF, Update Check Flag)를 0 으로 초기화한다(S116 단계). 업데이트 체크 플래그는 펌웨어가 실질적으로 업그레이드되었는지 나타내는 값이다. 즉, 펌웨어가 버전은 업데이트되었더라도 업그레이드 과정 중 발생한 소정의 오류로 실질적으로 업그레이드 되지 않은 상태를 점검하기 위한 플래그로서, 이 값이 1 이면 펌웨어가 실질적으로 업그레이드된 것으로 판단한다.If it is determined in step S114 that an upgrade is necessary, the update check program 14 initializes an update check flag (UCF) to 0 (step S116). The update check flag is a value indicating whether the firmware has been substantially upgraded. That is, as a flag for checking a state in which the firmware is not actually upgraded due to a predetermined error occurring during the upgrade process even though the version is updated, if the value is 1, it is determined that the firmware is upgraded.

다운로드 프로그램(15)을 실행시키면(S118 단계) 다운로드 프로그램은 다운로드 체크 플래그(DCF, Download Check Flag)를 0 으로 초기화한다(S120 단계). 다운로드 체크 플래그는 뉴 버전 펌웨어를 다운로드 받았는지 여부를 나타내는 값으로서, 0 은 펌웨어를 다운로드받지 않은 상태를 나타내고 1 은 펌웨어를 다운로드받은 상태를 나타낸다.When the download program 15 is executed (step S118), the download program initializes the download check flag (DCF, Download Check Flag) to 0 (step S120). The download check flag is a value indicating whether or not the new version firmware has been downloaded. 0 indicates that no firmware has been downloaded and 1 indicates that the firmware has been downloaded.

바람직하게는, 다운로드 프로그램 구동 초기에 펌웨어 업그레이드 과정으로 인하여 무선단말기 사용자의 저장정보(주소록 등 개인정보 및 사용자 정보)가 삭제되는 경우를 대비하여 사용자 저장정보를 서버로 백업하는 기능을 둘 수 있다. 단, 이 기능을 제공할 경우에는 사용자 정보를 보호하기 위하여 펌웨어 업그레이드 프로그램의 설정에 서버에 저장된 사용자 저장정보를 지울지 남길지를 사용자가 선택하게 하는 기능을 두어야 한다. 즉, 사용자가 업그레이드 후 백업본을 서버에서 지우는 것으로 설정한 경우 업그레이드 정상 종료 후 서버에서 해당 정보를 지우며, 남기는 것으로 설정할 경우 서버에 보관한다. 보관된 사용자 정보는 사용자의 요구에 의하여 사용자의 무선단말기로 재설치될 수 있다.Preferably, a function of backing up the user storage information to the server may be provided in case the storage information (personal information such as address book and user information) of the wireless terminal user is deleted due to the firmware upgrade process at the beginning of the download program driving. However, in case of providing this function, in order to protect the user information, the user should select whether to delete or leave the user stored information stored in the server in the setting of the firmware upgrade program. In other words, if the user sets the backup copy on the server after the upgrade, the information is deleted from the server after the upgrade ends normally. The stored user information may be reinstalled by the user's wireless terminal at the request of the user.

다운로드 프로그램(15)은 업그레이드 서버로부터 뉴 버전 펌웨어를 다운로드 받아 DRAM(20)에 저장한다(S122 단계). 만일 뉴 버전 펌웨어를 다운로드 받는 중에 하드웨어 또는 소프트웨어적으로 오류가 발생하여 뉴 버전 펌웨어를 전부 다운로드 받지 못한 상태에서 리셋된 경우에도 기존의 올드 버전 펌웨어가 동작하므로 단말기 동작에는 문제가 없다.The download program 15 downloads the new version firmware from the upgrade server and stores it in the DRAM 20 (step S122). If a hardware or software error occurs while downloading the new version firmware, the old version firmware is operated even if the new version firmware is reset without being downloaded. Therefore, there is no problem in the operation of the terminal.

다운로드 프로그램은 뉴 버전 펌웨어를 모두 다운로드받고, 업그레이드 서버로부터 체크섬 정보를 수신 및 확인함으로써 뉴 버전 펌웨어를 정확히 다운로드받았는지 확인하여(S124 단계), 다운로드가 올바르지 않으면 다운로드 체크 플래그를 0 으로 변환하고 다운로드를 재시도한다. 그런데, 통신이나 무선단말기 등에 문제가 있어 다운로드가 계속 올바르지 않은 경우 다운로드 프로그램은 무한정 반복하여 다운로드를 시도하게 된다. 따라서, 이를 방지하기 위하여 다운로드 시도횟수를 설정 제한하는 필드(download_try_num)를 두어 설정된 횟수 이상 다운로드를 시도하면 사용자에게 알리고 계속 시도할 것인지 여부를 선택하도록 할 수 있다. download_try_num 필드는 다운로드를 재시도하기에 앞서 체크하며, 초기값으로 0 을 설정하고 S124 단계에서 체크섬을 확인하기 이전에 1 씩 증가시킨다. 만일 download_try_num 필드의 값이 설정된 값보다 큰 경우 이를 사용자에게 알려 다운로드 재시도 여부를 선택하도록 한다. 만일, 사용자가 종료를 선택하면 소프트 리셋하여 올드 버전 펌웨어를 실행시킨다.The download program downloads all the new version firmware, checks the checksum information from the upgrade server, and checks whether the new version firmware has been correctly downloaded (step S124). If the download is not correct, the download program converts the download check flag to 0 and downloads the download. Retry However, if there is a problem with communication or a wireless terminal and the download is still incorrect, the download program repeatedly tries to download indefinitely. Therefore, in order to prevent this, a field (download_try_num) for setting the number of download attempts may be set to notify the user and to select whether to continue the attempt when the download is attempted more than the set number of times. The download_try_num field is checked before retrying the download. The download_try_num field is set to 0 as an initial value and is incremented by 1 before checking the checksum in step S124. If the value of the download_try_num field is larger than the set value, the user is informed to select whether or not to retry the download. If the user chooses to exit, a soft reset is performed to run the old version firmware.

S124 단계에서 다운로드가 올바른 것으로 판단되면, 다운로드 프로그램(15)은 다운로드 체크 플래그를 1 로 변환하여 다운로드가 완료되었음을 표시한다 (S126 단계). 다운로드가 완료되면 업데이트 과정으로 들어가는데 업데이트는 올드 버전 펌웨어를 뉴 버전 펌웨어로 덮어쓰는 과정이므로 이 과정에서 오류가 발생하여 리셋된 경우 올드 버전 펌웨어가 정상적이지 않으므로 실행할 수 없다. 이런 문제점을 해결하기 위하여 업데이트 프로그램 구동 전에 CPU 리셋 후 첫주소의 명령어를 셀프 업그레이드로의 점프명령어로 변환시킨다(S132 단계). 따라서, 업데이트 과정 중 오류가 발생하여 리셋이 수행될 경우 자동으로 펌웨어 업그레이드를 재실행하게 된다.If it is determined in step S124 that the download is correct, the download program 15 converts the download check flag to 1 to indicate that the download is completed (step S126). When the download is completed, the update process is executed. The update is the process of overwriting the old version firmware with the new version firmware. If an error occurs during this process and the reset is performed, the old version firmware is not normal and cannot be executed. To solve this problem, before the update program is driven, the instruction of the first address after the CPU reset is converted into a jump instruction to the self-upgrade (step S132). Therefore, if an error occurs during the update process and a reset is performed, the firmware upgrade is automatically executed again.

S114 단계에서 업그레이드가 불필요한 경우 업데이트 체크 플래그를 체크한다(S130 단계).If an upgrade is not necessary in step S114, the update check flag is checked (step S130).

업데이트 체크 플래그가 0 인 경우, 다운로드 프로그램(15)을 실행시켜 뉴 버전 펌웨어를 다운로드 받는다. 이 경우는 S140 단계 내지 S142 단계의 펌웨어업데이트 과정에서 펌웨어 버전은 업데이트되었으나 S144 단계에서 업데이트 체크 플래그가 1 로 변환되지 않은 상태에서 오류가 발생하여 리셋된 경우에 발생한다. 이 경우 리셋 이전에 다운로드 받아 휘발성 메모리인 DRAM(20)에 저장한 뉴 버전 펌웨어 파일이 사라졌을 것이므로 다운로드 프로그램(15)을 실행하여 재다운로드 받는다. 만일, 비휘발성 메모리인 플래쉬 메모리(10)에 여유공간이 충분하여 뉴 버전 펌웨어 파일을 플래쉬 메모리에 저장하도록 설정하면 다운로드 과정없이 바로 업데이트 프로그램(16)을 실행시켜 펌웨어를 업그레이드 할 수 있다.When the update check flag is 0, the new version firmware is downloaded by executing the download program 15. In this case, the firmware version is updated during the firmware update process in steps S140 to S142, but an error occurs when the update check flag is not changed to 1 in step S144 and is reset. In this case, since the new version firmware file downloaded before the reset and stored in the DRAM 20, which is the volatile memory, may have disappeared, the download program 15 is executed to download again. If there is enough free space in the flash memory 10, which is a nonvolatile memory, and the new version firmware file is stored in the flash memory, the firmware may be upgraded by immediately executing the update program 16 without downloading.

업데이트 체크 플래그가 1 인 경우, 점프명령어(11)를 올드 버전 펌웨어로의 점프명령어로 변환하고(S146 단계) 소프트 리셋을 수행한다(S148 단계). 점프명령어를 올드 버전 펌웨어로의 점프명령어로 변환하는 이유는 S144 단계에서 업데이트 체크 플래그를 1 로 변환한 후에 S146 단계 완료 전에 오류가 발생할 경우, 점프명령어가 업데이트 체크 프로그램으로의 점프명령어로 남아있을 가능성 때문이다. 그러나 이 시간은 수 마이크로초로 매우 짧아서 일어날 가능성은 적다.If the update check flag is 1, the jump instruction 11 is converted into a jump instruction to the old version firmware (step S146) and a soft reset is performed (step S148). The reason for converting the jump instruction into the jump instruction to the old firmware is that if an error occurs before the completion of the step S146 after the update check flag is converted to 1 in step S144, the jump command may remain as a jump command to the update check program. Because. But this time is very short, a few microseconds, so it's unlikely to happen.

S132 단계가 종료되면 업데이트 프로그램(16)을 실행시킨다(S134 단계).When the step S132 is finished, the update program 16 is executed (step S134).

업데이트 프로그램(16)은 다운로드 체크 플래그를 확인하고(S136 단계), 다운로드 체크 플래그가 0 인 경우 다운로드 프로그램을 실행시켜 뉴 버전 펌웨어를 다시 다운로드 받는다.The update program 16 checks the download check flag (step S136), and if the download check flag is 0, executes the download program to download the new version firmware again.

S136 단계에서 다운로드 체크 플래그가 1 인 경우 뉴 버전 펌웨어의 체크섬을 검사한다(S138 단계). 체크섬이 올바르면 업데이트를 수행한다(S140 단계). 체크섬을 다시 검사하는 이유는 업데이트 도중에 전원 문제가 발생하여 리셋이 수행되었을 경우 DRAM(20)에 저장된 뉴 버전 펌웨어 정보가 사라졌을 때를 대비하기 위함이다. 다운로드 체크 플래그는 플래쉬 메모리(10)에 기록되므로 전원 문제가 발생하여도 정보가 남아 있으므로, 다운로드 체크 플래그가 1 이어도 뉴 버전 펌웨어가 올바르지 않을 수 있기 때문이다. 바람직하게는, 뉴 버전 펌웨어를 플래쉬 메모리같은 비휘발성 메모리에 저장하는 경우에도 이러한 점검을 거치도록 한다. 만일, 비휘발성 메모리인 플래쉬 메모리가 충분히 여유가 있는 경우 뉴 버전 펌웨어를 플래쉬 메모리에 저장하도록 설정하여, 플래쉬 메모리의 자체 에러의 경우를 제외한 다른 에러로 인하여 다운로드가 재시도되는 것을 방지할 수 있고, 이를 통해 업그레이드 시간을 단축할 수 있다.If the download check flag is 1 in step S136, the checksum of the new version firmware is checked (step S138). If the checksum is correct, the update is performed (step S140). The reason for rechecking the checksum is to prepare for when the new version firmware information stored in the DRAM 20 disappears when a power problem occurs during the update and a reset is performed. Since the download check flag is recorded in the flash memory 10, the information remains even when a power problem occurs. Therefore, even if the download check flag is 1, the new version firmware may not be correct. Preferably, this check is performed even when the new version firmware is stored in a nonvolatile memory such as a flash memory. If the flash memory, which is a nonvolatile memory, has sufficient space, the new version firmware may be set to be stored in the flash memory, thereby preventing the download from being retried due to an error other than the case of the flash memory itself. This can shorten the upgrade time.

업데이트 과정 중에 전원 또는 기타 오류가 발생하여 리셋될 경우, 상기한 일련의 과정을 통해 업그레이드를 재수행한다. 그런데, 업데이트 프로그램에 오류가 발생하거나 기타 다른 문제로 인하여 계속적으로 업그레이드가 완료되지 않는 경우 업그레이드 과정이 무한정 반복될 수 있다. 따라서, 펌웨어 업그레이드 시도 횟수를 설정 제한하는 필드(upgrade_try_num)를 두어 설정값 이상 업그레이드 과정이 반복될 경우 사용자에게 알리고 업그레이드 시도 여부를 선택하도록 할 수 있다. upgrade_try_num 값은 업데이트 프로그램(16)이 실행되면서 체크되며, 사용자가 펌웨어 업그레이드 기능을 구동하여 S100 단계의 셀프 업그레이드 프로그램 (13) 실행시에 0 으로 초기화되고 S136 단계가 수행되기 앞서 1 씩 증가시킨다. 그러나, CPU 리셋 후 첫주소의 명령어가 셀프 업그레이드 프로그램으로의 점프명령어로 설정된 상태에서 리셋에 의한 셀프 업그레이드 프로그램 구동시에는 0 으로초기화되지 않아야 한다. upgrade_try_num 값이 설정값보다 큰 경우 사용자에게 이를 알리고 업그레이드 재시도 여부를 선택하도록 한다.If a power or other error occurs during the update process and is reset, the upgrade is performed again through the above described process. However, if the upgrade program is not continuously completed due to an error or other problem, the upgrade process may be repeated indefinitely. Therefore, a field (upgrade_try_num) for limiting the number of firmware upgrade attempts may be provided to notify the user when the upgrade process is repeated more than the set value and to select whether to attempt the upgrade. The upgrade_try_num value is checked while the update program 16 is executed. The upgrade_try_num value is initialized to 0 at the time of executing the self-upgrade program 13 in step S100 by the firmware driving function and is increased by 1 before the step S136 is performed. However, when the self-upgrade program is driven by reset while the first address instruction is set as a jump instruction to the self-upgrade program, it should not be initialized to zero. If the upgrade_try_num value is larger than the setting value, inform the user and select whether to retry the upgrade.

뉴 버전 펌웨어를 올드 버전 펌웨어가 저장된 위치로 이동하고(S142 단계), 체크섬을 검사하여 이동이 올바른지 확인한다. 이동 중 오류가 발생하면 상기 일련의 과정을 통해 업그레이드가 재시도된다. 플래쉬 메모리(10)에 여유공간이 충분할 경우 올드 버전 펌웨어를 뉴 버전 펌웨어로 업데이트하기 전에 올드 버전 펌웨어를 백업해 놓고 upgrade_try_num 값이 설정값보다 큰 경우에, 즉 여러차례 업그레이드를 수행했으나 업그레이드가 올바로 실행되지 않는 경우에, 이를 이용하여 올드 버전 펌웨어로 복구하게 하는 기능을 추가할 수 있다. 단, 플래쉬 메모리의 여유공간이 충분하지 않은 경우에는 이 기능은 구동되지 않게 한다.Move the new version firmware to the location where the old version firmware is stored (step S142), and check the checksum to confirm that the move is correct. If an error occurs during the move, the upgrade is retried through the above series of processes. If there is enough free space in the flash memory (10) If the old version firmware is backed up before updating the old version firmware to the new version firmware and the upgrade_try_num value is larger than the setting value, that is, the upgrade has been performed several times, the upgrade may not be executed correctly. If not, you can use it to add the ability to revert to the old version of the firmware. However, if there is not enough free space in the flash memory, this function is disabled.

업데이트 프로그램(16)은 업데이트 체크 플래그를 1 로 변환한다(S144 단계).The update program 16 converts the update check flag to 1 (step S144).

점프명령어(11)를 올드 버전 펌웨어가 저장된 위치로의 점프 명령어로 변환하고(S146 단계) 소프트 리셋을 수행한다(S148 단계). 올드 버전 펌웨어의 저장위치에 뉴 버전 펌웨어가 이동 저장되었으므로 뉴 버전 펌웨어가 자동으로 실행된다. 만일, S144 단계에서 업데이트 체크 플래그를 1 로 변환한 후에 S146 단계가 수행되기 이전에 오류가 발생하여 리셋된 경우, S130 단계에서의 업데이트 체크 플래그의 확인을 통해 올드 버전 펌웨어 저장위치로 점프하므로 뉴 버전 펌웨어가 자동 실행된다.The jump instruction 11 is converted into a jump instruction to a location where the old version firmware is stored (step S146) and a soft reset is performed (step S148). The new version firmware is automatically executed because the new version firmware is moved and stored in the storage location of the old version firmware. If, after converting the update check flag to 1 in step S144 and an error occurs and reset before step S146 is performed, the new version is jumped to the old version firmware storage location by checking the update check flag in step S130. The firmware runs automatically.

이상 설명한 바대로, 본 발명은 무선단말기에 설치된 펌웨어를 원격에서 자동으로 업그레이드할 수 있고, 이미 사용자에게 보급된 무선단말기에 용이하게 적용할 수 있고, 업그레이드 도중 발생할 수 있는 오류에 효율적으로 대처할 수 있는 현저한 효과가 있다.As described above, the present invention can remotely and automatically upgrade the firmware installed in the wireless terminal, can be easily applied to the wireless terminal already distributed to the user, and can efficiently cope with errors that may occur during the upgrade. There is a significant effect.

다시 말해서, 본 발명에 따른 무선단말기 펌웨어 업그레이드 방법은,In other words, the wireless terminal firmware upgrade method according to the present invention,

첫째로, 원격 업그레이드 수행 중 발생하는 문제를 해결하기 위한 특별한 메모리가 필요없고, 적당한 크기의 비휘발성 메모리와 휘발성 메모리가 구비되면 적용이 가능하므로 기출시된 무선단말기에의 적용이 용이하고,First, there is no need for a special memory to solve the problem that occurs during the remote upgrade, and can be applied to the existing wireless terminal because it can be applied if the non-volatile memory and volatile memory of the appropriate size is provided,

둘째로, 일반적인 소프트웨어 다운로드 및 설치 방법으로 프로그램의 설치가 가능하며 펌웨어 업그레이드 프로그램의 원격 설치 및 업그레이드가 가능하고,Second, the program can be installed by the general software download and installation method, and the remote installation and upgrade of the firmware upgrade program is possible.

셋째로, 올드 버전 펌웨어를 백업하기 위한 별도 메모리 공간의 확보가 필요없으므로 효과적으로 메모리를 사용할 수 있고,Thirdly, there is no need to reserve a separate memory space for backing up the old version of the firmware so that the memory can be used effectively.

넷째로, 펌웨어 업그레이드 수행시 발생할 수 있는 오류에 대해 효율적으로 대처함으로써 사용자에게 안정적인 펌웨어 업그레이드를 제공하고,Fourth, by efficiently coping with errors that may occur when performing a firmware upgrade, it provides users with a stable firmware upgrade.

마지막으로, 펌웨어 부분과 펌웨어 업그레이드 프로그램 부분이 독립되어 있으므로 다양한 기종의 무선단말기로의 확장이 용이하다.Finally, since the firmware portion and the firmware upgrade program portion are independent, it is easy to expand to various types of wireless terminals.

본 발명의 바람직한 실시례가 특정 용어들을 사용하여 기술되어 왔지만, 그러한 기술은 오로지 설명을 하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것으로 이해되어져야 한다.While the preferred embodiments of the present invention have been described using specific terms, such descriptions are for illustrative purposes only, and it is understood that various changes and modifications may be made without departing from the spirit and scope of the following claims. Should be done.

Claims (12)

무선단말기에 설치된 펌웨어인 올드 버전 펌웨어를 새로운 버전의 펌웨어인 뉴 버전 펌웨어로 업그레이드 하는 무선단말기 펌웨어 업그레이드 방법으로서,A wireless terminal firmware upgrade method of upgrading an old version firmware, which is firmware installed in a wireless terminal, to a new version firmware, which is a new version of firmware. 상기 뉴 버전 펌웨어를 제공하는 업그레이드 서버로부터 상기 뉴 버전 펌웨어의 버전을 수신하고, 상기 올드 버전 펌웨어의 업그레이드 필요여부를 판단하는 업데이트 체크 프로그램이 상기 수신된 뉴 버전 펌웨어의 버전과 상기 올드 버전 펌웨어의 버전을 비교하여 업그레이드 필요 여부를 판단하는 버전 비교단계;An update check program for receiving a version of the new version firmware from an upgrade server providing the new version firmware, and determining whether the old version firmware is required to be upgraded, is updated by the received version of the new version firmware and the version of the old version firmware. Version comparison step of determining whether to upgrade by comparing the; 상기 올드 버전 펌웨어의 버전보다 상기 뉴 버전 펌웨어의 버전이 클 경우, 상기 업데이트 체크 프로그램이 상기 올드 버전 펌웨어가 업그레이드되었는지 여부를 나타내는 업데이트 체크 플래그 값을 0 으로 초기화하는 플래그 초기화단계;A flag initialization step of initializing, by the update check program, an update check flag value indicating whether the old version firmware is upgraded to 0 when the version of the new version firmware is greater than the version of the old version firmware; 상기 뉴 버전 펌웨어의 다운로드를 수행하는 다운로드 프로그램이, 상기 뉴 버전 펌웨어의 다운로드 여부를 나타내는 다운로드 체크 플래그 값을 0 으로 초기화하고, 상기 업그레이드 서버로부터 상기 뉴 버전 펌웨어를 다운로드받는 다운로드 단계;A download step of downloading, by the download program which downloads the new version firmware, the download check flag value indicating whether the new version firmware is downloaded to 0, and downloading the new version firmware from the upgrade server; 상기 업그레이드 서버로부터 상기 뉴 버전 펌웨어의 체크섬을 수신하고, 상기 다운로드 프로그램이 상기 다운로드된 뉴 버전 펌웨어의 체크섬과 비교하여 상기 양 체크섬이 상이할 경우 다운로드를 재시도하고, 상기 양 체크섬이 동일할 경우 상기 다운로드 체크 플래그 값을 1 로 변환하는 다운로드 확인단계;Receive a checksum of the new version firmware from the upgrade server, the download program retries downloading if the two checksums are different compared to the checksum of the downloaded new version firmware, and if the both checksums are the same A download checking step of converting a download check flag value to 1; 상기 올드 버전 펌웨어를 상기 뉴 버전 펌웨어로 업데이트하는 업데이트 프로그램이, 상기 업데이트 체크 플래그 값이 0 이고 상기 다운로드 체크 플래그 값이 1 이면 상기 올드 버전 펌웨어의 저장위치에 상기 뉴 버전 펌웨어를 업데이트하는 업데이트 단계;An update program for updating the old version firmware to the new version firmware, when the update check flag value is 0 and the download check flag value is 1, updating the new version firmware to a storage location of the old version firmware; 상기 업데이트 프로그램이 상기 업데이트 체크 플래그 값을 1 로 변환하는 플래그 변환단계; 및A flag converting step of converting, by the update program, the update check flag value to 1; And 상기 무선단말기의 CPU 가 리셋 후 처음으로 액세스하는 메모리 주소에 기록되는 점프명령어를 상기 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고, 상기 무선단말기를 소프트 리셋하는 리셋 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And a reset step of converting a jump instruction recorded in a memory address accessed by the CPU of the wireless terminal for the first time after the reset into a jump instruction to a storage location of the old version firmware, and performing a soft reset of the wireless terminal. Wireless terminal firmware upgrade method. 제 1 항에 있어서,The method of claim 1, 상기 업데이트 체크 프로그램, 상기 다운로드 프로그램 및 상기 업데이트 프로그램을 업그레이드하는 셀프 업그레이드 프로그램이 상기 업그레이드 서버로부터 상기 각 프로그램의 버전을 수신하고, 상기 수신된 버전과 상기 각 프로그램의 버전을 비교하여 상기 각 프로그램의 업그레이드 필요여부를 판단하는 제 1 단계;The update check program, the download program, and a self-upgrade program for upgrading the update program receive a version of each program from the upgrade server, and compare the received version with the version of each program to upgrade the respective programs. A first step of determining whether it is necessary; 상기 수신된 버전이 상기 각 프로그램의 버전보다 클 경우, 상기 셀프 업그레이드 프로그램이 상기 각 프로그램의 업그레이드 여부를 나타내는 셀프 업그레이드 플래그 값을 0 으로 초기화하고, 상기 업그레이드 서버로부터 상기 각 프로그램의 업그레이드 파일을 수신하는 제 2 단계; 및If the received version is larger than the version of each program, the self-upgrade program initializes the self-upgrade flag value indicating whether the program is upgraded to 0 and receives the upgrade file of each program from the upgrade server. Second step; And 상기 셀프 업그레이드 프로그램이 상기 수신된 업그레이드 파일을 이용하여상기 각 프로그램을 업그레이드하고, 상기 셀프 업그레이드 플래그 값을 1 로 변환하는 제 3 단계를 더 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And a third step of the self-upgrade program upgrading the respective programs by using the received upgrade file and converting the self-upgrade flag value to 1. 제 2 항에 있어서,The method of claim 2, 상기 제 1 단계가,The first step, 상기 수신된 버전이 상기 각 프로그램의 버전과 동일하고 상기 셀프 업그레이드 값이 0 일 경우, 상기 업그레이드 서버로부터 상기 각 프로그램의 업그레이드 파일을 수신하여 상기 각 프로그램을 업그레이드하고,If the received version is the same as the version of each program and the self-upgrade value is 0, receive the upgrade file of each program from the upgrade server to upgrade each program, 상기 수신된 버전이 상기 각 프로그램의 버전보다 작을 경우, 사용자에게 오류발생을 알리고 상기 무선단말기를 소프트 리셋하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And if the received version is smaller than the version of each program, informing a user of an error and performing a soft reset of the wireless terminal. 제 1 항에 있어서,The method of claim 1, 상기 버전 비교단계가,The version comparison step, 상기 올드 버전 펌웨어의 버전과 상기 뉴 버전 펌웨어의 버전이 같을 경우, 상기 업데이트 체크 플래그 값을 확인하는 단계; 및Checking the update check flag value when a version of the old version firmware and a version of the new version firmware are the same; And 상기 업데이트 체크 플래그 값이 0 인 경우 상기 뉴 버전 펌웨어의 다운로드 및 상기 올드 버전 펌웨어의 업그레이드를 재시도하고, 상기 업데이트 체크 플래그 값이 1 인 경우 상기 점프명령어를 상기 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고 상기 무선단말기를 소프트 리셋하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.If the update check flag value is 0, retry downloading the new version firmware and upgrading the old version firmware. If the update check flag value is 1, the jump instruction jumps to the storage location of the old version firmware. The wireless terminal firmware upgrade method comprising the step of converting into a command and soft reset the wireless terminal. 제 1 항에 있어서,The method of claim 1, 상기 버전 비교단계가,The version comparison step, 상기 올드 버전 펌웨어의 버전보다 상기 뉴 버전 펌웨어의 버전이 작을 경우 상기 사용자에게 오류발생을 알리는 단계; 및Notifying the user of an error when the version of the new version firmware is smaller than the version of the old version firmware; And 상기 무선단말기를 소프트 리셋하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.The wireless terminal firmware upgrade method comprising the step of soft reset the wireless terminal. 제 1 항에 있어서,The method of claim 1, 상기 다운로드 단계가,The download step, 상기 뉴 버전 펌웨어를 수신하여 DRAM 에 저장하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.Receiving the new version firmware and storing the DRAM in a DRAM. 제 1 항에 있어서,The method of claim 1, 상기 다운로드 단계가,The download step, 상기 뉴 버전 펌웨어를 수신하여 플래쉬 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And receiving the new version firmware and storing the new version firmware in a flash memory. 제 1 항에 있어서,The method of claim 1, 상기 다운로드 단계가,The download step, 상기 뉴 버전 펌웨어의 다운로드 시도 횟수를 체크하는 단계; 및Checking the number of download attempts of the new version firmware; And 상기 다운로드 시도 횟수가 소정의 설정값 이상인 경우 상기 무선단말기 사용자에게 상기 다운로드를 계속할 것인지 여부를 선택하도록 하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And if the number of download attempts is greater than or equal to a predetermined value, allowing the wireless terminal user to select whether to continue the download. 제 1 항에 있어서,The method of claim 1, 상기 업데이트 단계가,The update step, 상기 다운로드 체크 플래그가 0 인 경우, 상기 다운로드 프로그램이 상기 뉴 버전 펌웨어의 다운로드를 재시도하는 단계; 및If the download check flag is 0, retrying to download the new version firmware by the download program; And 상기 업그레이드 서버로부터 수신한 상기 뉴 버전 펌웨어의 체크섬과 상기 다운로드된 뉴 버전 펌웨어의 체크섬을 비교하고, 상기 양 체크섬이 상이할 경우 상기 뉴 버전 펌웨어의 다운로드를 재시도하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.Comparing the checksum of the new version firmware received from the upgrade server with the checksum of the downloaded new version firmware, and retrying to download the new version firmware when the two checksums are different. Wireless terminal firmware upgrade method. 제 1 항에 있어서,The method of claim 1, 상기 다운로드 단계가,The download step, 상기 뉴 버전 펌웨어를 다운로드받는 중에 오류가 발생할 경우, 상기 점프명령어를 상기 올드 버전 펌웨어의 저장위치로의 점프명령어로 변환하고 상기 무선단말기를 소프트 리셋하는 단계를 포함하고,If an error occurs while downloading the new version firmware, converting the jump command into a jump command to a storage location of the old version firmware and performing a soft reset of the wireless terminal, 상기 업데이트 단계가,The update step, 상기 업데이트 중에 오류가 발생할 경우 상기 점프명령어를 상기 일련의 펌웨어 업그레이드 과정으로의 점프명령어로 변환하고 상기 무선단말기를 소프트 리셋하는 단계를 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And converting the jump command into a jump command to the series of firmware upgrade processes and performing a soft reset of the wireless terminal when an error occurs during the update. 제 1 항에 있어서,The method of claim 1, 상기 펌웨어 업그레이드 시도 횟수를 체크하는 단계; 및Checking the number of firmware upgrade attempts; And 상기 펌웨어 업그레이드 시도 횟수가 소정의 설정값 이상인 경우 상기 무선단말기 사용자에게 상기 펌웨어 업그레이드를 계속할 것인지 여부를 선택하도록 하는 단계를 더 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.And if the number of firmware upgrade attempts is equal to or greater than a predetermined setting value, instructing the wireless terminal user to select whether to continue the firmware upgrade. 제 1 항에 있어서,The method of claim 1, 상기 무선단말기 사용자가 상기 무선단말기에 저장한 소정의 저장정보를 상기 업그레이드 서버에 전송 및 저장하는 백업 단계; 및A backup step of transmitting and storing predetermined storage information stored in the wireless terminal by the user of the wireless terminal to the upgrade server; And 상기 사용자가 상기 저장정보의 복구를 선택한 경우, 상기 업그레이드 서버로부터 상기 저장정보를 다운로드받아 상기 무선단말기에 복구하는 복구 단계를 더 포함하는 것을 특징으로 하는 무선단말기 펌웨어 업그레이드 방법.If the user selects the recovery of the stored information, the wireless terminal firmware upgrade method comprising the step of downloading the stored information from the upgrade server to restore to the wireless terminal.
KR1020020041298A 2002-07-15 2002-07-15 Method of upgrading firmware for wireless terminal KR20040008007A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020041298A KR20040008007A (en) 2002-07-15 2002-07-15 Method of upgrading firmware for wireless terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020041298A KR20040008007A (en) 2002-07-15 2002-07-15 Method of upgrading firmware for wireless terminal

Publications (1)

Publication Number Publication Date
KR20040008007A true KR20040008007A (en) 2004-01-28

Family

ID=37317272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020041298A KR20040008007A (en) 2002-07-15 2002-07-15 Method of upgrading firmware for wireless terminal

Country Status (1)

Country Link
KR (1) KR20040008007A (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619038B1 (en) * 2004-07-06 2006-09-01 삼성전자주식회사 Multimedia device having a firmware built-in
KR100626535B1 (en) * 2005-03-11 2006-09-20 주식회사 팬택앤큐리텔 Apparatus and method for applying product release instruction
KR100636518B1 (en) 2005-04-20 2006-10-18 주식회사 팬택앤큐리텔 Method for upgrade of firmware in mobile telecommunication terminal
KR100651398B1 (en) * 2004-07-23 2006-11-29 삼성전자주식회사 Method for updating mobile terminal's software
KR100653280B1 (en) * 2004-06-18 2006-12-04 이처닷컴 주식회사 Mobile phone capable of updating application and method for updating application of mobile phone
KR100729525B1 (en) * 2005-10-06 2007-06-15 삼성에스디에스 주식회사 Method and system for updating firmware
KR100732965B1 (en) * 2005-07-20 2007-06-29 엘지전자 주식회사 Upgrade apparatus of the mobile communication terminal and the method thereof
KR100759604B1 (en) * 2006-01-23 2007-09-17 주식회사 팬택앤큐리텔 System and Method for protection to receive abnormal update packets on the Firmware Over The Air
KR100781693B1 (en) * 2004-11-16 2007-12-03 (주)와이즈그램 Method for updating firmware of personal portable device and system of enabling the method
KR100782080B1 (en) * 2006-09-07 2007-12-04 삼성전자주식회사 Updating method for mobile communication terminal and system
KR100832269B1 (en) * 2006-09-08 2008-05-26 삼성전자주식회사 Program update method and system for wireless communication terminal
KR100836583B1 (en) * 2006-08-22 2008-06-10 엘지전자 주식회사 Method of executing a firmware over the air service in a mobile communication terminal
KR100871220B1 (en) * 2007-06-29 2008-12-01 삼성전자주식회사 System and method for notifying a terminal of firmware-upgrade
KR100892313B1 (en) * 2006-05-04 2009-04-08 엘지전자 주식회사 Method and device for improving connectivity management object in device management
KR100953638B1 (en) * 2003-02-13 2010-04-20 엘지전자 주식회사 method and system for upgrading software of mobile
KR100989246B1 (en) * 2004-05-27 2010-10-20 엘지디스플레이 주식회사 Method for updating timing controller in an liquid crystal display device and device using the same
FR3024253A1 (en) * 2014-07-28 2016-01-29 Easyworldcom AUTOMATIC METHOD FOR REMOTELY UPDATING SOFTWARE CONTAINED IN AN AUTONOMOUS RADIO TRANSMITTER DEVICE OF THE BEACON TYPE.
CN107332589A (en) * 2017-08-07 2017-11-07 陶谦 A kind of device for upgrading firmware based on bluetooth
CN108733517A (en) * 2018-06-05 2018-11-02 深圳忆联信息系统有限公司 SSD firmware upgrades guard method and device
CN110535954A (en) * 2019-09-02 2019-12-03 北京百佑科技有限公司 Upgrade method, upgrade-system, intelligent gateway and the storage medium of door lock firmware
US10613773B2 (en) 2012-01-03 2020-04-07 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
CN111694590A (en) * 2020-06-15 2020-09-22 泉州慧霁科技有限公司 Upgrading method of intelligent water meter
CN113641382A (en) * 2021-07-27 2021-11-12 瑞芯微电子股份有限公司 Partitionable system updating method and storage medium
CN114844780A (en) * 2022-04-28 2022-08-02 浙江灵鹿智能科技有限公司 Method and system for upgrading firmware in batches
CN115344292A (en) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 Firmware automatic upgrading method and device, electronic equipment and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010107080A (en) * 2000-05-25 2001-12-07 박종섭 The method for controlling the base station in mobile communication system
KR20020025472A (en) * 2000-09-29 2002-04-04 윤종용 Method for updaing for function in mobile phone
KR20020036351A (en) * 2000-11-09 2002-05-16 구자홍 Loading Processing Method of Private Branch Exchange System
KR20030015789A (en) * 2001-08-17 2003-02-25 엘지전자 주식회사 Method for File Downloading in Agent
KR20030021541A (en) * 2001-09-06 2003-03-15 엘지전자 주식회사 Method for firmware version identifying and reloading
KR20030029720A (en) * 2001-10-10 2003-04-16 엘지전자 주식회사 Apparatus and Method for Firmware Version Checking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010107080A (en) * 2000-05-25 2001-12-07 박종섭 The method for controlling the base station in mobile communication system
KR20020025472A (en) * 2000-09-29 2002-04-04 윤종용 Method for updaing for function in mobile phone
KR20020036351A (en) * 2000-11-09 2002-05-16 구자홍 Loading Processing Method of Private Branch Exchange System
KR20030015789A (en) * 2001-08-17 2003-02-25 엘지전자 주식회사 Method for File Downloading in Agent
KR20030021541A (en) * 2001-09-06 2003-03-15 엘지전자 주식회사 Method for firmware version identifying and reloading
KR20030029720A (en) * 2001-10-10 2003-04-16 엘지전자 주식회사 Apparatus and Method for Firmware Version Checking

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953638B1 (en) * 2003-02-13 2010-04-20 엘지전자 주식회사 method and system for upgrading software of mobile
KR100989246B1 (en) * 2004-05-27 2010-10-20 엘지디스플레이 주식회사 Method for updating timing controller in an liquid crystal display device and device using the same
KR100653280B1 (en) * 2004-06-18 2006-12-04 이처닷컴 주식회사 Mobile phone capable of updating application and method for updating application of mobile phone
KR100619038B1 (en) * 2004-07-06 2006-09-01 삼성전자주식회사 Multimedia device having a firmware built-in
KR100651398B1 (en) * 2004-07-23 2006-11-29 삼성전자주식회사 Method for updating mobile terminal's software
KR100781693B1 (en) * 2004-11-16 2007-12-03 (주)와이즈그램 Method for updating firmware of personal portable device and system of enabling the method
KR100626535B1 (en) * 2005-03-11 2006-09-20 주식회사 팬택앤큐리텔 Apparatus and method for applying product release instruction
KR100636518B1 (en) 2005-04-20 2006-10-18 주식회사 팬택앤큐리텔 Method for upgrade of firmware in mobile telecommunication terminal
KR100732965B1 (en) * 2005-07-20 2007-06-29 엘지전자 주식회사 Upgrade apparatus of the mobile communication terminal and the method thereof
KR100729525B1 (en) * 2005-10-06 2007-06-15 삼성에스디에스 주식회사 Method and system for updating firmware
KR100759604B1 (en) * 2006-01-23 2007-09-17 주식회사 팬택앤큐리텔 System and Method for protection to receive abnormal update packets on the Firmware Over The Air
KR100892313B1 (en) * 2006-05-04 2009-04-08 엘지전자 주식회사 Method and device for improving connectivity management object in device management
KR100836583B1 (en) * 2006-08-22 2008-06-10 엘지전자 주식회사 Method of executing a firmware over the air service in a mobile communication terminal
KR100782080B1 (en) * 2006-09-07 2007-12-04 삼성전자주식회사 Updating method for mobile communication terminal and system
KR100832269B1 (en) * 2006-09-08 2008-05-26 삼성전자주식회사 Program update method and system for wireless communication terminal
US7991390B2 (en) 2006-09-08 2011-08-02 Samsung Electronics Co., Ltd Program updating method of wireless communication terminal and wireless communication terminal using the same
KR100871220B1 (en) * 2007-06-29 2008-12-01 삼성전자주식회사 System and method for notifying a terminal of firmware-upgrade
US10613773B2 (en) 2012-01-03 2020-04-07 Hewlett-Packard Development Company, L.P. Backing up firmware during initialization of device
FR3024253A1 (en) * 2014-07-28 2016-01-29 Easyworldcom AUTOMATIC METHOD FOR REMOTELY UPDATING SOFTWARE CONTAINED IN AN AUTONOMOUS RADIO TRANSMITTER DEVICE OF THE BEACON TYPE.
WO2016016576A1 (en) 2014-07-28 2016-02-04 Ezee World Automatic method of remote updating of sofware contained in an autonomous radio transmitter device of the beacon type
CN107332589A (en) * 2017-08-07 2017-11-07 陶谦 A kind of device for upgrading firmware based on bluetooth
CN107332589B (en) * 2017-08-07 2023-02-03 深圳市升熙科技有限公司 Firmware upgrading device based on bluetooth
CN108733517A (en) * 2018-06-05 2018-11-02 深圳忆联信息系统有限公司 SSD firmware upgrades guard method and device
CN110535954A (en) * 2019-09-02 2019-12-03 北京百佑科技有限公司 Upgrade method, upgrade-system, intelligent gateway and the storage medium of door lock firmware
CN110535954B (en) * 2019-09-02 2022-02-01 北京百佑科技有限公司 Door lock firmware upgrading method, upgrading system, intelligent gateway and storage medium
CN111694590A (en) * 2020-06-15 2020-09-22 泉州慧霁科技有限公司 Upgrading method of intelligent water meter
CN113641382A (en) * 2021-07-27 2021-11-12 瑞芯微电子股份有限公司 Partitionable system updating method and storage medium
CN114844780A (en) * 2022-04-28 2022-08-02 浙江灵鹿智能科技有限公司 Method and system for upgrading firmware in batches
CN115344292A (en) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 Firmware automatic upgrading method and device, electronic equipment and readable storage medium

Similar Documents

Publication Publication Date Title
KR20040008007A (en) Method of upgrading firmware for wireless terminal
US8539471B2 (en) Updating firmware of an electronic device
EP1271322A2 (en) Crash recovery system
KR100547809B1 (en) Mobile communication terminal with embedded system for software download and software download method
US20070055969A1 (en) System and method for updating firmware
KR100774857B1 (en) Communication terminal software updating method, communication terminal, and software updating method
US6859925B2 (en) Method for software installation and pre-setup
US20060075284A1 (en) Method for over-the-air firmware update of NAND flash memory based mobile devices
US20050060528A1 (en) Booting and boot code update method and system thereof
KR20080007132A (en) Device and method for upgrading version information of terminal
CN108345464A (en) A kind of the startup method and Android vehicle device of Android system
CN112416411B (en) Upgrading method and device, equipment end, server and computer readable medium
KR100729525B1 (en) Method and system for updating firmware
KR20050088193A (en) Mobile handset with a fault tolerant update agent
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
CN104991805A (en) Intelligent device and system disaster recovery backup control method thereof
CN112667265A (en) Method and device for updating bootstrap program
CN113377425B (en) BMC firmware generation method and device, BMC starting method and device and storage medium
US7991390B2 (en) Program updating method of wireless communication terminal and wireless communication terminal using the same
CN114995852A (en) Equipment upgrading method, equipment and computer readable storage medium
US20030131180A1 (en) Device for use in a network environment
CN114625389A (en) Embedded equipment upgrading method, embedded equipment and storage device
KR100429903B1 (en) Method for updating images in home gateway system
CN112685053A (en) Remote upgrading control method for single chip microcomputer program
CN117270914B (en) System upgrading method, device, equipment and medium of terminal equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application