Abstract:
An apparatus and a method for upgrading a program that controls a microprocessor. The program upgrading method includes: installing a Personal Computer Memory Card International Association (PCMCIA) interface device in the system; recording the upgrading program in a PCMCIA card; downloading the upgrading program from the PCMCIA card through the PCMCIA interface device installed in the system under the control of the program stored in the memory; and upgrading the program stored in the memory with the downloaded program under the control of the program stored in the memory. The program upgrading method can perform program upgrading through a PCMCIA interface easily.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to an apparatus using a microprocessor, and more particularly, to an apparatus and a method for upgrading a program that controls a microprocessor. The present application is based on Korean Application No. 2001-63950, filed Oct. 17, 2001, which is incorporated herein by reference. 
   2. Description of the Related Art 
   An existing digital television or a set-top box has a microprocessor and a built-in program that operates a system to meet the needs of a user. The program is stored in a non-volatile memory when the system is manufactured in a factory, and can be modified and upgraded by a service engineer after the system is released. 
   While analog broadcasting is replaced by digital broadcasting, the broadcasting specification may be changed. Additionally, there may be a problem with the program. Therefore, the program needs to be changed frequently. 
   As a result, easy upgrading of the program is more important than ever before. 
     FIG. 1  shows an existing method for upgrading a program. 
   With reference to  FIG. 1 , a system  100  is controlled by a microprocessor  102 . A program that controls the microprocessor  102  is stored in a program memory  104 . The program memory  104  is implemented as a non-volatile memory for upgrading the program, such as a flash Read Only Memory (ROM), an Electrically Erasable and Programmable Read-Only Memory (EEPROM) and a nonvolatile random access memory (NVRAM). 
   The NVRAM is a non-volatile RAM that can protect recorded data even though external power to a computer is turned off or lost. Some modems use the NVRAM as a memory that saves a telephone number designated by a user or a setup value of the modem. 
   In some cases, the program stored in the program memory  104  of the system  100  shown in  FIG. 1  needs to be upgraded for improvement, to provide enhanced performance, or to eliminate a bug. 
   For upgrading, the system  100  shown in  FIG. 1  includes an RS-232C  106  and an RS-232C connector  108  that can interface with an external computer  150 . The RS-232C is a specification that describes a physical connection and a protocol that enable the computer and relevant devices to perform a serial data communication at a relatively low speed. 
   As the external computer  150 , a portable notebook PC is used. 
   To upgrade the program, the service engineer connects the external computer  150  and the system  100 , using the RS-232C cable, and downloads an upgrading program from the external computer  150 . The downloaded program upgrades the program stored in the program memory  104 . 
   In a boot area of the program memory  104 , there is a boot loader that is a program which controls the program upgrading. The boot loader stores the downloaded program in an empty area of the RAM or the program memory  104 , and upgrades the existing program using the downloaded program. 
   After the program upgrading is completed, the system is rebooted. The boot loader loads the upgraded program and the system is controlled by the upgraded program. 
   When upgrading the program of the system shown in  FIG. 1 , the service engineer should carry the notebook PC which saves the upgrading program and connect the external computer with the system  100 , using the RS232C cable in order to upgrade the program. 
   Therefore, the existing program upgrading is disadvantageous in that it necessitates a complicated process and the external computer. 
   SUMMARY OF THE INVENTION 
   To solve the above-described problems, it is an object of the present invention to provide a method for upgrading a program of a system easily. 
   It is another object of the present invention to provide an apparatus which is suitable for the program upgrading. 
   To achieve the above object, a method for upgrading a program stored in a memory in a system which includes a microprocessor and the memory that has a program designed to control the microprocessor, the program upgrading method including: 
   installing a Personal Computer Memory Card International Association (PCMCIA) interface device in the system; 
   recording the upgrading program in a PCMCIA card; 
   downloading the upgrading program from the PCMCIA card through the PCMCIA interface device installed in the system under the control of the program stored in the memory; and 
   upgrading the program stored in the memory with the downloaded program under the control of the program stored in the memory. 
   To achieve another object, the system using the microprocessor according to the present invention includes: 
   a microprocessor; 
   a memory having application programs designed to implement a specific operation by controlling the microprocessor and a boot program deigned to control the loading of the application programs during booting; and 
   a Personal Computer Memory Card International Association (PCMCIA) interface unit. 
   The method for upgrading a program stored in a memory in a system which includes a microprocessor, application programs designed to implement a specific operation by controlling the microprocessor, the memory that stores a boot program designed to control the load of the application programs during booting, and a Personal Computer Memory Card International Association (PCMCIA) interface unit, the program upgrading method including: 
   downloading an upgrading program from the PCMCIA card through the PCMCIA interface device under the control of the application programs stored in the memory; 
   saving the program downloaded under the control of the application programs stored in the memory in a buffer memory area; 
   setting a flag indicating the program upgrading in the memory area which is referred to by a boot loader and rebooting the system; and 
   upgrading the application programs stored in the memory with the program stored in the buffer memory area and resetting the flag if the flag is set. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above object and advantages of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the attached drawings in which: 
       FIG. 1  shows an existing method for upgrading a program; 
       FIG. 2  is a flowchart showing a method for upgrading a program according to the present invention; 
       FIG. 3  is a block diagram showing the configuration of a program upgrading apparatus according to the present invention; and 
       FIG. 4  shows a detailed process where the program upgrading apparatus shown in  FIG. 3  upgrades a downloaded program. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The present invention will now be described in detail by describing preferred embodiments thereof with reference to the accompanying drawings. 
   A program upgrading method according to the present invention uses a Personal Computer Memory Card International Association (PCMCIA) card. The PCMCIA is an international standard association which was established in 1989 in order to develop a specification on an IC card and improve interworking between mobile computers. 
   Until 1991, the PCMCIA defined an I/O interface of a 68-pin connector used in a memory card and prepared specifications on a socket service and a card service. 
   As demand for high-speed applications such as a multimedia and a high-speed network have recently been increasing, the PCMCIA established specifications on a card bus and a zoomed video for MPEG video and 100 Mbps applications. The PCMCIA continued to add specifications in order to enhance compatibility and added 3.3 V operation or a power management function for mobility. The PC card of the PCMCIA is applied not only to a mobile computer, but also a digital camera, a cable TV, a set-top box and an automobile. 
   The physical specifications include Type I, Type II and Type III. The three physical specifications use a 69-pin connector with the same width (54 mm) and length (85.6 mm) and with different thickness (3.3, 5.0, 10.5 mm). Due to the different thicknesses, the three physical specifications are used for different applications. Type I is used for a memory such as RAM, flash, OTP (one-time programmable) and SRAM (static random access memory). Type II is used for a fax, a modem, a Local Area Network (LAN) and a memory device. Type III is used for a hard disc. 
     FIG. 2  is a flowchart showing a method for upgrading a program according to the present invention. 
   With reference to  FIG. 2 , a PCMCIA interface device is installed on the system in step S 202 . The PCMCIA interface device includes the connector to which the PCMCIA card is connected. 
   The PCMCIA card that saves the upgrading program is connected to the PCMCIA connector of the system in step S 204 . 
   The upgrading program is downloaded from the PCMCIA card in step S 206 . 
   The existing installed program is upgraded by the downloaded program in step S 208 . 
   Since the program upgrading method according to the present invention does not use the RS232C, the external computer is not needed, and connecting and downloading from the external computer are not required. Therefore, the program upgrading can be performed easily and quickly. 
     FIG. 3  is a block diagram showing the configuration of a program upgrading apparatus according to the present invention. 
   With reference to  FIG. 3 , a system  300  is controlled by a microprocessor  302 . A program that controls the microprocessor  302  is stored in a program memory  304 . The program memory  304  is implemented as a non-volatile memory that can be recorded for upgrading the program, such as a flash ROM, EEPROM and a nonvolatile random access memory (NVRAM). 
   In some cases, the program stored in the program memory  304  of the system  300  shown in  FIG. 3  needs to be upgraded for improved performance or for elimination of a bug. 
   For program upgrading, the system  300  shown in  FIG. 3  includes a PCMCIA interface unit  306  and a PCMCIA connector  308 . 
   To upgrade the program, the service engineer inserts the PCMCIA card  350  that stores the upgrading program into the PCMCIA connector  308 , and downloads the upgrading program. The downloaded program is stored in a buffer memory  310  temporarily and upgrades the program stored in the program memory  304 . 
   The downloaded program may be a compressed program. Thus, before program upgrading is performed, the compressed program needs to be decompressed. 
   In a boot area of the program memory  304 , there is a boot loader that is a program which controls the program upgrading. The boot loader stores the downloaded program in an empty area of the buffer memory  310  or the program memory  304 , and upgrades the existing program using the downloaded program. 
   After the program upgrading is completed, the system is rebooted. The boot loader loads the upgraded program and the system is controlled by the upgraded program. 
     FIG. 4  shows a detailed process where the program upgrading apparatus shown in  FIG. 3  upgrades a downloaded program. 
   With reference to  FIG. 4 , the program memory  304  includes a boot loader area  304   a  that stores the boot loader, and a main program area  304   b  that stores a main program. The buffer memory  310  may be a non-volatile memory where additional recording can be performed, or a reserved space of the program memory  304 . 
   A menu program is used to select downloading/upgrading. The menu program is included in the main program. 
   That is, a user selects the upgrading of the program in a menu program. If the user enters a request for program upgrading, the upgrading program is downloaded from the PCMCIA card  350 . The downloaded program is stored in the buffer memory  310 . 
   When the downloading is completed, a flag for upgrading of the program stored in the EEPROM  312  is set and the system is rebooted. The EEPROM  312  may be an additional memory module which is separated physically from the program memory  304 . In addition, the address of the EEPROM  312  may constitute a part of an extensive address system including the program memory  304 . 
   If the system is rebooted, the boot loader controls the installation of the main program, and refers to the flag for upgrading of the program stored in the EEPROM  312 . If the flag is set, the downloaded program stored in the buffer memory  310  is recorded in the main program area  302   b.  Then, the program upgrading is performed. 
   After the program is upgraded, the boot loader resets the flag for upgrading of the program stored in the EEPROM  310  and reboots the system. 
   When the system is rebooted, the boot loader refers to the flag for upgrading of the program stored in the EEPROM  312 . If the flag is reset, the main program recorded in the main program area  302   b  is loaded. 
   After the above process, the main program controls the system. 
   As described above, the program upgrading method according to the present invention can upgrade the program easily, using the PCMCIA interface. 
   Although preferred embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.