KR100617796B1 - Mobile terminal equipment capable of upgrading a wireless firmware and method thereof - Google Patents
Mobile terminal equipment capable of upgrading a wireless firmware and method thereof Download PDFInfo
- Publication number
- KR100617796B1 KR100617796B1 KR1020040031636A KR20040031636A KR100617796B1 KR 100617796 B1 KR100617796 B1 KR 100617796B1 KR 1020040031636 A KR1020040031636 A KR 1020040031636A KR 20040031636 A KR20040031636 A KR 20040031636A KR 100617796 B1 KR100617796 B1 KR 100617796B1
- Authority
- KR
- South Korea
- Prior art keywords
- wireless
- firmware
- firmware upgrade
- boot code
- engine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법에 관한 것이다. 상기 방법은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 리소스, 무선 펌웨어 사용 영역이 저장되고, 상기 무선 펌웨어 업그레이드 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리와 랜덤 액세스 메모리를 구비한 무선 단말기의 무선 펌웨어 업그레이드 방법에 있어서, 전원이 인가되면 상기 무선 펌웨어 업그레이드 엔진을 상기 랜덤 액세스 메모리에 로딩하는 과정과, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있는지 여부를 체크하는 과정과, 상기 펌웨어 업그레이드가 필요하다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 펌웨어를 업그레이드시키는 과정을 포함함을 특징으로 한다. The present invention relates to a wireless firmware upgradeable wireless terminal and a method thereof. The method includes a flash memory and a random flash memory, each of which stores a wireless firmware upgrade engine, a boot code, an application, a resource, and a wireless firmware usage area at specific addresses, and includes flag information indicating whether the firmware is upgraded in the wireless firmware upgrade usage area. A method of upgrading a wireless firmware of a wireless terminal having an access memory, the method comprising: loading the wireless firmware upgrade engine into the random access memory when power is applied; executing the loaded wireless firmware upgrade engine; Checking the flag information to check whether the firmware needs to be upgraded, and if it is determined that the firmware upgrade is necessary, the firmware of the flash memory using the executed wireless firmware upgrade engine. It characterized in that it comprises the process of upgrading.
무선 단말기, 무선 펌웨어 업그레이드, 부트 Wireless Terminal, Wireless Firmware Upgrade, Boot
Description
도 1은 무선 펌웨어 업그레이드 기능을 갖지 않는 단말기의 구조를 나타낸 도면1 is a view showing the structure of a terminal having no wireless firmware upgrade function
도 2는 종래의 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면2 is a view showing the structure of a terminal having a conventional wireless firmware upgrade function
도 3은 종래의 무선 펌웨어 업그레이드 방법을 나타낸 흐름도3 is a flowchart illustrating a conventional wireless firmware upgrade method.
도 4는 무선 펌웨어 업그레이드에 이용되는 델타 파일의 구조를 나타낸 도면 4 is a diagram illustrating the structure of a delta file used for wireless firmware upgrade.
도 5는 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면5 is a view showing the structure of a terminal having a wireless firmware upgrade function according to an embodiment of the present invention
도 6은 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 방법을 나타낸 흐름도6 is a flowchart illustrating a wireless firmware upgrade method according to an embodiment of the present invention.
본 발명은 무선 펌웨어 다운로딩 가능 무선 단말기 및 그 방법에 관한 것으로, 특히 부트 코드(boot code)를 업데이트 할 수 있는 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법에 관한 것이다.The present invention relates to a wireless firmware downloadable wireless terminal and a method thereof, and more particularly, to a wireless firmware upgradeable wireless terminal and a method for updating a boot code.
단말기가 출시된 이후에 버그가 발견되거나 단말기 제조사 혹은 서비스 업자가 새로운 기능을 추가하고 싶은 경우에는 단말기의 펌웨어를 업그레이드해야 한다. If a bug is found after the device is released or if the device manufacturer or service provider wants to add a new function, the firmware of the device must be upgraded.
IOTA-SD(Internet On The Air Software Downloading)라는 무선 펌웨어 다운로딩 기술은 위와 같은 일이 발생할 경우, 단말기가 무선 데이터 네트워크를 통해 업그레이딩 관련 데이터(이하 델타 파일이라 함.)를 다운받고, 그 델타 파일을 단말기에 이미 내장되어 있는 펌웨어 업그레이딩 엔진이 이용하여 자동으로 단말기의 펌웨어를 업그레이드 하는 기술이다.Wireless firmware downloading technology called Internet On The Air Software Downloading (IOTA-SD), when the above happens, the device downloads the upgrade-related data (hereinafter referred to as a delta file) through the wireless data network, and the delta It is a technology that automatically upgrades the firmware of a terminal by using a file upgrading engine already embedded in the terminal.
도 1은 무선 펌웨어 업그레이드 기능을 가지지 않는 단말기의 구조를 나타낸 것이다. 1 illustrates a structure of a terminal having no wireless firmware upgrade function.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM(Static RAM) 혹은 ROM(read-only memory)으로 구현할 수 있다. As illustrated, the
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램에 의해 플래시 메모리(flash memory) 30A의 특정 번지(A1)에 저장되어 있는 부트 코드를 랜덤 액세스 메모리(Random Access Memory: 이하 RAM이라 함.) 40B의 특정 번지(B2)에 로딩한다. 상기 부트 코드는 부팅을 진행시키는 데 필요한 명령들이다. 그리고 CPU 20은 RAM 40B에 위치된 부트 코드를 실행시켜 플래시 메모리 30A의 특정 번지(A2)에 저장되어 있는 어플리케이션 코드를 RAM 40B의 특정 번지(B1)에 저장시킨다. 그리고 어플리케이션을 실행시키게 된다. When power is applied to the
여기서 어플리케이션은 부트 코드를 제외한, 단말기의 동작에 관련된 모든 펌웨어들을 의미한다. 또한 리소스(resource)는 어플리케이션 실행에 필요한 데이터 등을 의미한다. Here, the application refers to all firmwares related to the operation of the terminal except the boot code. In addition, resource refers to data required for running an application.
도 2는 종래의 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 것이다. 2 illustrates a structure of a terminal having a conventional wireless firmware upgrade function.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM으로 구현할 수 있다. As illustrated, the
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30C의 부트 코드를 RAM 40D에 로딩한다. 그리고 CPU 20은 상기 RAM 40D의 부트 코드를 실행시킨다. When power is applied, the
플래시 메모리 30C의 특정 번지들(C1 ~ C5)에는 각각 부트 코드, 어플리케이션, 리소스, 및 무선 펌웨어 업그레이드 엔진이 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역도 구비된다. 상기 무선 펌웨어 업그레이드 엔진 사용 영역에는 플래그(flag) 정보 FLG1이 포함되어 있다. CPU 20은 부트 코드를 실행시키는 동안 플래그 정보 FLG1을 확인하여 펌웨어 업그레이드 여부를 판단할 수 있다. Specific addresses C1 to C5 of the
RAM 40D의 특정 번지(D1)에 저장되어 있는 무선 펌웨어 업그레이드 엔진은 펌웨어를 업그레이드 할 필요가 있다고 판단되었을 때 플래시 메모리 30C의 특정 번지(C4)에 저장되어 있던 무선 펌웨어 업그레이드 엔진을 로딩한 것이다. RAM 40D의 다른 특정 번지(D2)에 저장되어 있는 부트 코드는 단말기에 전원이 인가되었을 때 플래시 메모리 30C의 특정 번지(C1)에 저장된 부트 코드를 로딩한 것이다. The wireless firmware upgrade engine stored in the specific address D1 of the
도 3은 종래의 무선 펌웨어 업그레이드 방법을 나타낸 흐름도이다. 3 is a flowchart illustrating a conventional wireless firmware upgrade method.
3a단계에서 전원이 인가되면, 3b단계에서 CPU 20이 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30C에 저장되어 있는 부트 코드를 RAM 40D에 로딩한다. 그리고 3c단계에서 CPU 20은 RAM 40D에 위치된 부트 코드를 실행시킨다. 이때 CPU 20은 부트 코드 실행 중 플래그 정보 FLG1을 체크하여 펌웨어 업그레이드 여부를 체크한다. 만약 펌웨어를 업그레이드 할 필요가 있다고 판단되면, 3d단계에서 CPU 20은 플래시 메모리 30C에 저장되어 있는 무선 펌웨어 업그레이드 엔진을 RAM 40D에 로딩하여 3e단계에서 업그레이드를 실행한다. When power is applied in step 3a, the
상기 3c단계에서 펌웨어를 업그레이드할 필요가 없다고 판단되거나 상기 3e단계에서 업그레이드를 실행한 다음에는 3f단계로 진행하여 펌웨어(이 경우 펌웨어는 어플리케이션을 의미한다.)를 RAM 40D에 로딩한다. 그리고 3g단계에서 대기모드로 전환된다. If it is determined that the firmware does not need to be upgraded in
그런데 상기한 방법에 따르면, CPU가 먼저 부트 코드를 실행시켜서 그 실행 중에 플래그를 검사한 결과 펌웨어 업그레이드를 하는 것으로 설정되어 있다고 판단되면 무선 펌웨어 업그레이드 엔진을 로딩하기 때문에, 부트 코드 자체는 업그레이드가 될 수가 없었다. 왜냐하면, 단말기에 전원이 인가될 경우 부트 코드는 반드시 실행을 해야 하는데, 부트 코드를 업그레이드 하던 중 전원을 차단하게 되면 부트 코드가 손상을 입게 된다. 그 다음 단말기에 전원을 인가하게 되면 손상된 부트 코드가 동작하기 때문에 무선 펌웨어 업그레이드 엔진이 RAM에 정확하게 로딩되는지 보증할 수 없을 뿐만 아니라, 손상된 부트 코드가 어떤 동작을 일으키는지도 보증할 수 없다.However, according to the above method, if the CPU first executes the boot code and checks a flag during its execution and determines that the firmware is set to upgrade, the boot code itself cannot be upgraded because the wireless firmware upgrade engine is loaded. There was no. Because, when power is applied to the terminal, the boot code must be executed. If the power is cut off while upgrading the boot code, the boot code is damaged. The next time the terminal is powered up, the corrupted boot code will not work to ensure that the wireless firmware upgrade engine is correctly loaded into RAM, nor to guarantee what behavior the damaged boot code will cause.
따라서 본 발명의 목적은 부트 코드도 업그레이드할 수 있는 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법을 제공함에 있다. Accordingly, an object of the present invention is to provide a wireless firmware upgradeable wireless terminal and a method for upgrading the boot code.
상기한 목적을 달성하기 위한 본 제1발명은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리, 내부 메모리와 중앙처리장치를 가지는 마이크로프로세서, 그리고 RAM을 구비한 무선 펌웨어 업그레이드 가능 무선 단말기에 있어서, 상기 중앙처리장치가 전원이 인가되면 상기 내부 메모리에 저장되어 있는 프로그램을 실행시켜 상기 무선 펌웨어 업그레이드 엔진을 상기 RAM에 로딩한 다음, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 부트 코드를 업그레이드시키도록 구성함을 특징으로 한다. In order to achieve the above object, the present invention has a wireless firmware upgrade engine, a boot code, an application, and a resource stored in specific addresses, and has a wireless firmware upgrade engine usage area. A wireless firmware upgradeable wireless terminal having a flash memory including flag information indicating whether the firmware is upgraded, a microprocessor having an internal memory and a central processing unit, and a RAM, the internal processing unit being powered on when the central processing unit is powered on A program stored in a memory is executed to load the wireless firmware upgrade engine into the RAM, and then the loaded wireless firmware upgrade engine is executed, and the flag information needs to be checked to upgrade the firmware during the execution. And if it is determined that the boot code of the flash memory is upgraded using the executed wireless firmware upgrade engine.
상기한 목적을 달성하기 위한 본 제2발명은 특정 번지들에 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역을 가지며, 상기 무선 펌웨어 업그레이드 엔진 사용 영역에 펌웨어 업그레이드 여부를 나타내는 플래그 정보가 포함되어 있는 플래시 메모리와 RAM을 구비한 무선 단말기의 무선 펌웨어 업그레이드 방법에 있어서, 전원이 인가되면 상기 무선 펌웨어 업그레이드 엔진을 상기 RAM에 로딩하는 과정과, 상기 로딩된 무선 펌웨어 업그레이드 엔진을 실행시키며, 상기 실행 중에 상기 플래그 정보를 검사하여 펌웨어를 업그레이드 할 필요가 있는지 여부를 체크하는 과정과, 상기 펌웨어 업그레이드가 필요하다고 판단되면 상기 실행된 무선 펌웨어 업그레이드 엔진을 이용하여 상기 플래시 메모리의 펌웨어를 업그레이드시키는 과정을 포함함을 특징으로 한다.
According to the second aspect of the present invention, a wireless firmware upgrade engine, a boot code, an application, and a resource are stored at specific addresses, and have a wireless firmware upgrade engine use area. A wireless firmware upgrade method of a wireless terminal having a flash memory and a RAM including flag information indicating whether to upgrade firmware, the method comprising: loading the wireless firmware upgrade engine into the RAM when power is applied; Executing a firmware upgrade engine, checking whether the firmware needs to be upgraded by checking the flag information during the execution; and if the firmware upgrade is necessary, using the executed wireless firmware upgrade engine And upgrading the firmware of the flash memory.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 하기 설명에서는 구체적인 메모리 어드레스 할당 순서, 메모리의 종류 등과 같은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자 명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals have the same reference numerals as much as possible even if displayed on different drawings. In the following description, specific details such as a specific memory address allocation order, a type of memory, and the like appear, which are provided to help a more general understanding of the present invention, and the present invention may be practiced without these specific details. It will be obvious to those skilled in the art. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 4는 무선 펌웨어 업그레이드에 이용되는 델타 파일의 구조를 나타낸 도면이다. 4 is a diagram illustrating the structure of a delta file used for wireless firmware upgrade.
델타 파일에는 베이스 파일 해시(hash)값 52, 버전 파일 해시값 53, 델타 파일 헤더 체크섬 54, 델타 파일 정보 55가 저장되어 있다. The delta file stores a base
이전 버전의 펌웨어를 베이스 파일이라고 부른다. 베이스 파일 해시값 53을 참조하면 업그레이드해야 할 대상 및 그 적합성을 확인할 수 있다. 즉, 어플리케이션의 베이스 파일 해시값과 부트 코드의 베이스 파일 해시값이 서로 다른 체계를 가질 것이므로 베이스 파일 해시값으로써 업그레이드 대상 확인이 가능하다. 또한 이 베이스 파일 해시값으로써 단말기에 저장된 업그레이드 대상의 소프트웨어 버전과 델타 파일 정보 55의 소프트웨어 버전이 서로 맞는 것인지 확인 가능하다. 이와 같은 확인이 필요한 이유는 해당 펌웨어의 소프트웨어 버전이 서로 맞지 않으면, 예를 들어 단말기의 부트 코드 소프트웨어 버전을 1에서 2로 바꾸려할 때 부트 코드 버전 3에 대한 델타 파일 정보가 제공된다면, 업그레이드를 수행할 수 없기 때문이다.Older versions of firmware are called base files. Refer to the base
새로운 버전의 펌웨어를 버전 파일이라고 부르며, 버전 파일 해시값으로 업그레이드 성공 여부를 알 수 있다. 무선 펌웨어 업그레이드 엔진은 업그레이딩 도중에 전원이 차단되었을 경우 다시 전원을 인가하면 저널링이라는 기술을 이용하여 전원이 차단되었던 시점부터 다시 업그레이드를 할 수 있다. The new version of the firmware is called the version file, and the version file hash indicates whether the upgrade was successful. If the power is turned off during the upgrade, the wireless firmware upgrade engine can be upgraded from the point of time when the power is turned off by using a technique called journaling.
도 5는 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 기능을 가지는 단말기의 구조를 나타낸 도면이다.5 is a view showing the structure of a terminal having a wireless firmware upgrade function according to an embodiment of the present invention.
도시된 바와 같이 내부 메모리 10과 CPU 20은 마이크로프로세서 500에 포함된 것으로서, 내부 메모리 10은 예를 들어 SRAM 혹은 ROM으로 구현할 수 있다. As illustrated, the
CPU 20은 전원이 인가되면, 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 무선 펌웨어 업그레이드 엔진을 RAM 40F에 로딩한다. When power is applied, the
플래시 메모리 30E의 특정 번지들(E1 ~ E5)에는 각각 무선 펌웨어 업그레이드 엔진, 부트 코드, 어플리케이션, 및 리소스가 저장되고, 무선 펌웨어 업그레이드 엔진 사용 영역도 구비된다. 상기 무선 펌웨어 업그레이드 엔진 사용 영역에는 플래그 정보 FLG1이 포함되어 있다. CPU 20은 무선 펌웨어 업그레이드 엔진의 실행 중에 상기 플래그 정보 FLG1을 이용하여 펌웨어 업그레이드 여부를 판단할 수 있다. Specific addresses E1 to E5 of the
상기 플래시 메모리 30E는 낸드(NAND) 혹은 노아(NOR) 플래시 메모리로 구현할 수 있다. 도시된 순서로 어드레스를 할당한 것은 예에 불과하다. 다시 말해서, 도시된 예에서는 무선 펌웨어 업그레이드 엔진이 저장될 어드레스가 E1에 할당되어 있지만, 부트 코드가 저장될 어드레스가 E1에 할당될 수도 있다. The
RAM 40F의 특정 번지(F2)에 저장되어 있는 무선 펌웨어 업그레이드 엔진은 전원이 인가되었을 때 플래시 메모리 30E의 특정 번지(E1)에 저장되어 있던 무선 펌웨어 업그레이드 엔진을 로딩한 것이다. The wireless firmware upgrade engine stored in the specific address F2 of the
도 6은 본 발명의 실시예에 따른 무선 펌웨어 업그레이드 방법을 나타낸 흐름도이다.6 is a flowchart illustrating a wireless firmware upgrade method according to an embodiment of the present invention.
도시된 예는 낸드 플래시 메모리의 경우를 가정하여 나타낸 것인데, 노아 플래시 메모리의 경우에는 6h단계 및 6i단계를 수행하지 않을 수도 있다는 점에서 낸드 플래시 메모리의 경우와 차이가 있다. The illustrated example assumes the case of NAND flash memory, which differs from that of NAND flash memory in that Noah flash memory may not perform
6a단계에서 전원이 인가되면, 6b단계에서 CPU 20이 내부 메모리 10에 저장되어 있는 프로그램을 실행시켜 플래시 메모리 30E에 저장되어 있는 무선 펌웨어 업그레이드 엔진을 RAM 40F에 로딩한다. 그리고 6c단계에서 CPU 20은 무선 펌웨어 업그레이드 엔진의 실행 중에 플래그 정보 FLG1을 체크하여 펌웨어를 업그레이드해야 하는지 여부를 판단한다. When power is applied in
만약 펌웨어를 업그레이드 할 필요가 있다고 판단되면, 6d계에서 CPU 20은 델타파일에 있는 해시값을 이용하여 부트 코드에 대한 업그레이드가 필요한지 여부를 판단한다. 상기 체크 결과, 부트 코드 업그레이딩이 필요하다고 판단되면 6g단계에서 플래시 메모리 30C에 저장되어 있는 부트 코드에 대한 업그레이딩을 실시한다. 만일 부트 코드 업그레이딩이 필요한 것이 아니라면, 6e단계에서 CPU 20은 상기 델타파일에 있는 해시값이 어플리케이션에 대한 업그레이드가 필요함을 나타내고 있는지 여부를 판단한다. 상기 체크 결과, 어플리케이션 업그레이딩이 필요하다고 판단되면 6f단계에서 플래시 메모리 30C에 저장되어 있는 어플리케이션에 대한 업그레이딩을 실시한다.If it is determined that the firmware needs to be upgraded, the
상기 6c단계에서 펌웨어 업그레이딩이 필요하지 않다고 판단된 경우, 상기 6e단계에서 어플리케이션에 대한 업그레이드가 필요하지 않다고 판단된 경우, 상기 6g단계에서 부트 코드 업그레이딩을 실행한 후, 혹은 상기 6f단계에서 어플리케이션 업그레이딩을 실행한 후에는 6h단계로 진행하여 상기 플래시 메모리 30E의 부트 코드를 RAM 40F에 로딩한다. 그리고 6i단계에서 상기 플래시 메모리 30E의 어플리케이션을 로딩한다. 다만, 상기 6c단계에서 펌웨어 업그레이딩이 필요하지 않다고 판단되거나 상기 6e단계에서 어플리케이션에 대한 업그레이드가 필요하지 않다고 판단된 경우에 6h 및 6i단계에서 각각 로딩되는 부트 코드 혹은 어플리케이션은 원래 버전이고, 상기 6g 혹은 6f단계를 수행한 다음에 6h 및 6i단계에서 각각 로딩되는 부트 코드 혹은 어플리케이션은 업그레이드된 것이다. If it is determined that the firmware upgrade is not necessary in
상기 6i단계 수행 후에는 6j단계에서 대기모드로 전환된다. After performing
위와 같은 동작이 가능하게 하기 위해서는 무선 펨웨어 엔진에서 단말기를 동작시키기 위한 최소한의 초기화 코드가 포함되어야 한다. 여기서 최소한의 초기화 코드란 전원공급 시 무선 펨웨어 엔진에서 바로 단말기를 동작시켜야 하므로, 부트 코드의 초기단계에서 실시하는 단말기의 클럭 설정 및 단말기의 내부 레지스터 설정 등을 말한다.In order to enable the above operation, a minimum initialization code for operating the terminal in the wireless firmware engine should be included. In this case, the minimum initialization code means that the terminal must be operated directly from the wireless firmware engine when the power is supplied. Thus, the clock setting of the terminal and the internal register setting of the terminal are performed in the initial stage of the boot code.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐 만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.
상술한 바와 같이 본 발명은 전원이 인가되면, 부트 코드를 로딩하지 않고, 먼저 플래시 메모리의 무선 펌웨어 업그레이드 엔진을 램에 로딩한 다음 이를 실행시켜 업그레이드 대상 및 그 적합성 여부를 판단한 뒤 해당 펌웨어를 업그레이드시키도록 함으로써 부트 코드도 업그레이드할 수 있는 장점이 있다.As described above, when the power is applied, the present invention does not load a boot code, but first loads a wireless firmware upgrade engine of a flash memory into a RAM and then executes the same to determine an upgrade target and its suitability, and then upgrade the firmware. This allows you to upgrade your boot code.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040031636A KR100617796B1 (en) | 2004-05-06 | 2004-05-06 | Mobile terminal equipment capable of upgrading a wireless firmware and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040031636A KR100617796B1 (en) | 2004-05-06 | 2004-05-06 | Mobile terminal equipment capable of upgrading a wireless firmware and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050106644A KR20050106644A (en) | 2005-11-11 |
KR100617796B1 true KR100617796B1 (en) | 2006-08-28 |
Family
ID=37283374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040031636A KR100617796B1 (en) | 2004-05-06 | 2004-05-06 | Mobile terminal equipment capable of upgrading a wireless firmware and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100617796B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100827172B1 (en) * | 2004-05-06 | 2008-05-02 | 삼성전자주식회사 | Apparatus and method for upgrading mobile terminal's firmware |
KR20080037450A (en) * | 2006-10-26 | 2008-04-30 | 웹싱크 주식회사 | System and method for processing update software run on mobile terminal platform |
KR100862971B1 (en) | 2007-07-26 | 2008-10-13 | 강릉대학교산학협력단 | Method for updating firmware of sensor nodes on the wireless sensor network |
KR101353063B1 (en) * | 2007-10-12 | 2014-01-17 | 삼성전자주식회사 | Method for Operating Firmware Over The Air and Apparatus Thereof |
-
2004
- 2004-05-06 KR KR1020040031636A patent/KR100617796B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050106644A (en) | 2005-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100506203B1 (en) | Booting and boot code update method and system thereof | |
KR100778293B1 (en) | Digital tv and upgrade method of bootloader for the same | |
US7516315B2 (en) | Electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
KR101427755B1 (en) | Device and method for firmware upgrade using usb | |
US20040243992A1 (en) | Update system capable of updating software across multiple FLASH chips | |
CN110597542B (en) | Software automatic OTA (over the air) upgrading method and device and electronic equipment | |
CN111796848A (en) | Bootloader software updating method and device, embedded controller and storage medium | |
US20080072029A1 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
CN110750280B (en) | Android platform-based application upgrading method and system and storage medium | |
WO2018024198A1 (en) | Application upgrade method and system for set-top box, and set-top box | |
CN112667265A (en) | Method and device for updating bootstrap program | |
US20160321057A1 (en) | Electronic apparatus | |
CN105677409A (en) | System upgrading method and device | |
CN111026417A (en) | Embedded equipment upgrading method and embedded equipment | |
KR100617796B1 (en) | Mobile terminal equipment capable of upgrading a wireless firmware and method thereof | |
US9495146B2 (en) | Host and method of upgrading connection manager of dongles | |
KR100860402B1 (en) | Device and method for upgradin system using two step bootloader | |
CN110837383A (en) | Application installation-free upgrading method and device | |
CN115994003A (en) | Processing method and processing device for shared object in operating system | |
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 (en) | The method and system of upgrading firmware upgrade engine of mobile terminal | |
KR100876748B1 (en) | Method for updating boot code | |
CN112667444A (en) | System upgrading method, storage medium and terminal equipment |
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 |