+

US20060112386A1 - Method and apparatus for installing software in mobile communication terminal - Google Patents

Method and apparatus for installing software in mobile communication terminal Download PDF

Info

Publication number
US20060112386A1
US20060112386A1 US11/284,310 US28431005A US2006112386A1 US 20060112386 A1 US20060112386 A1 US 20060112386A1 US 28431005 A US28431005 A US 28431005A US 2006112386 A1 US2006112386 A1 US 2006112386A1
Authority
US
United States
Prior art keywords
memory
mobile communication
communication terminal
external memory
software
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US11/284,310
Inventor
Eul-Ji Moon
Hyuk Oh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOON, EUL-JI, OH, HYUK
Publication of US20060112386A1 publication Critical patent/US20060112386A1/en
Priority to US13/238,955 priority Critical patent/US8490081B2/en
Priority to US13/933,895 priority patent/US20130298115A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • the present invention relates to an apparatus and a method for installing software in a mobile communication terminal, and more particularly to an apparatus and a method to upgrade or restore software to a mobile communication terminal using an external memory.
  • a user connects a USB cable to a mobile communication terminal, so that the application programs can be downloaded to the mobile communication terminal from a personal computer (PC) through the USB cable.
  • PC personal computer
  • USB cable and a PC program are conventionally the only manner for downloading such application programs, it is inconvenient and cumbersome for the user.
  • the typical booting procedure sets up a central processing unit (CPU) and a clock, initializes a memory (e.g., SDRAM) for an operation, reads a boot program stored in a non-volatile memory into the initialized memory, and then executes the boot program in the initialized memory.
  • CPU central processing unit
  • SDRAM Secure Digital Random Access Memory
  • JTAG Joint Test Access Group
  • boot program denotes a program performing operations required before application programs are executed.
  • the boot program performs operations required when an application program for upgrading software is downloaded. Accordingly, if errors have occurred in the boot program, it is difficult to perform operations required when an application program for upgrading software is downloaded.
  • the boot program initializes hardware before application programs are executed and reads and loads the application programs to a random access memory (RAM) from a non-volatile memory such that the application programs can be executed. Therefore, an erroneous boot program may cause serious problems.
  • RAM random access memory
  • an object of the present invention is to provide an apparatus and a method for installing software in a mobile communication terminal using an external memory without additional equipment or additional programs.
  • an apparatus for installing software in a mobile communication terminal including an external memory having software to be installed, a detector of the mobile communication terminal for, if an external memory is plugged in the mobile communication terminal, detecting a plugging state of the external memory, a memory being embedded in the mobile communication terminal, and a controller of the mobile communication terminal for reading the software to be installed from the external memory and storing the software in the memory if connection with the external memory is detected.
  • a method for installing software in a mobile communication terminal using an external memory having the software including the steps of determining if the external memory is plugged in the mobile communication terminal and if software installation is requested, and if so, repeating an operation of reading data from the external memory by a predetermined size and storing the data in a corresponding block of a memory embedded in the mobile communication terminal until all data stored in the external memory are read and stored in the embedded memory.
  • FIG. 1 is a block diagram illustrating the structure of an apparatus for installing software in a mobile communication terminal using an external memory according to one embodiment of the present invention
  • FIG. 2 is a flowchart illustrating a method for upgrading an application program of a mobile communication terminal using an external memory according to one embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method for restoring a boot program to a mobile communication terminal using the external memory according to one embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating the structure of an apparatus for installing software in a mobile communication terminal by using an external memory according to one embodiment of the present invention.
  • a dotted part having reference numeral 100 indicates the mobile communication terminal, and reference numeral 200 indicates the external memory.
  • the mobile communication terminal 100 can detect the plugging state of the external memory 200 through the state of a GPIO (general purpose input/output) pin.
  • the GPIO pin is positioned at a control module 20 of the mobile communication terminal 100 .
  • the control module 20 may be realized by using a QualComm MSM (mobile station modem) chip.
  • the control module 20 controls the overall operation of the mobile communication terminal and controls the installation of software according to the present invention.
  • a first memory 35 may be realized using a ROM, a flash RAM, etc.
  • the first memory 35 is used for storing software (e.g., application programs or a boot program).
  • a second memory 40 may be realize using an SDRAM, an SRAM, etc.
  • the second memory 40 is used for installing software. Software may be installed in order to upgrade an application program or recover a boot program.
  • An RF processing module 15 includes an RF transmitter for up-converting and amplifying a frequency of a signal to be transmitted and an RF receiver for low-noise amplifying a received signal and down-converting a frequency of the received signal.
  • the RF processing module 15 receives a baseband signal from the control module 20 , converts the signal into a middle-frequency signal, converts the middle-frequency signal into a high-frequency signal, and transmits the high-frequency signal to a base station through an antenna.
  • a high-frequency signal received from the base station through the antenna is converted into a middle-frequency signal and then a baseband signal to be provided to the control module 20 .
  • a key input module 25 and a display module 30 are used for user interface.
  • the key input module 25 includes a plurality of keys enabling a user to input data or a command for installing software. If the key input module 25 detects the pressing of a predetermined key, the key input module 25 delivers input data corresponding to the key to the control module 20 .
  • the display module 30 may be realized using a liquid crystal display (LCD), and displays the current state of the mobile communication terminal, a menu, and a message input by a user under the control of the control module 20 .
  • the display module 30 may also include a touch screen. Although it is not shown, the mobile communication terminal further includes a vibration module in order to display a specific state.
  • the key input module 25 may include a light emitting diode.
  • an exclusive input/output pin assigned to an external memory can be applied to the operation in which case it may be unnecessary to employ the GPIO pin as a unit by which the mobile communication terminal 100 determines the plugging state of the external memory 200 .
  • FIG. 2 is a flowchart illustrating a method for upgrading an application program of the mobile communication terminal using the external memory according to one embodiment of the present invention.
  • a user copies software binary to be downloaded in the external memory. Then, the user plugs the external memory into the mobile communication terminal and then powers the mobile communication terminal on while pressing a specific key (it is assumed that the specific key is a zero key according to the present invention).
  • the control module 20 commences a booting operation in step 212 .
  • step 214 the control module 20 determines if the zero key is pressed. At this time, if the zero key is pressed, the control module 20 determines in step 216 if the external memory 200 is plugged in the mobile communication terminal.
  • control module 20 If the zero key is not pressed or if the external memory 200 is not plugged in the mobile communication terminal, the control module 20 normally performs the booting operation in step 214 . In contrast, if the zero key is pressed and if the external memory 200 is plugged in the mobile communication terminal, the control module 20 recognizes that the user intends to upgrade an application program.
  • step 218 the control module 20 determines if the power of a battery is insufficient. If the power of the battery has a strength less than a predetermined value, the control module 20 controls the display module 30 to display a message reporting the shortage of the power (e.g., “It is impossible to perform the upgrade due to shortage of power. Please retry the upgrade procedure after charging battery.”) in step 220 and terminates the upgrade of the application program.
  • a message reporting the shortage of the power e.g., “It is impossible to perform the upgrade due to shortage of power. Please retry the upgrade procedure after charging battery.”
  • control module 20 determines in step 218 that the power of the battery is not insufficient, the control module 20 controls the display module 30 to display a message reporting the progress of the upgrade (e.g., “An application program is being upgraded”) in step 222 . Then, in step 224 , the control module 20 initializes the external memory 200 .
  • step 226 the control module 20 clears a corresponding block of the first memory 35 into which software binary is downloaded. At this time, the control module 20 may clear the whole block of the first memory 35 . In addition, the control module 20 obtains the size of software binary in the external memory 200 through a file system and then may clear a block corresponding to the size.
  • step 228 the control module 20 controls the display module 30 to start the display of the progress bar and display a message forbidding power off (e.g., “Please don't turn power off because software is in the process of upgrade”).
  • a message forbidding power off e.g., “Please don't turn power off because software is in the process of upgrade”.
  • the display of the progress bar is necessary in order to inform the user of the downloading progress state.
  • step 230 the control module 20 reads data (software binary) from the external memory 200 by a predetermined size (e.g., 512 bytes).
  • step 232 the control module 20 stores the read data in a corresponding block of the first memory 35 .
  • the control module 20 determines in step 234 if all data have been read from the external memory 200 and are stored. If all data have not been read, the control module 20 returns to step 230 .
  • control module 20 controls the display module 30 to display an upgrade completion message (e.g., “The upgrade of the software is completed!”) and stop the display of the progress bar and stop the display of a message of forbidding power off in step 236 .
  • the control module 20 starts rebooting by resetting the mobile communication terminal.
  • the steps are performed on the premise that the upgrade operation of the application program is executed in the second memory 40 . If the upgrade operation of the application program is executed in the first memory 35 (e.g., a ROM or a NOR flash memory) and a corresponding block of the first memory 35 is cleared in step 226 , the upgrade operation of the program is not executed any more because all programs are deleted. Therefore, the duplication of programs necessary for the download are made in the second memory 40 before step 226 such that the programs are executed in the second memory 40 .
  • the first memory 35 e.g., a ROM or a NOR flash memory
  • FIG. 3 is a flowchart illustrating a method for restoring a boot program to the mobile communication terminal using the external memory.
  • the steps shown in FIG. 3 are included in a program performed before a boot program is executed.
  • the program performed before the boot program is executed is called IPL (initial program loader) for the purpose of description.
  • the IPL may be stored in a ROM embedded in the control module 20 or in an external processor.
  • the IPL is a well-known technique frequently used when the boot program is stored in a NAND flash memory. Therefore, a description about the operation of the IPL will be omitted in order to prevent the subject matter of the present invention from being unclear.
  • step 311 the control module 20 sets up a CPU and a clock.
  • step 313 the control module 20 initializes the second memory 40 .
  • step 315 the control module 20 determines if the external memory 200 is plugged in the mobile communication terminal. If the external memory 200 is plugged in, the control module 20 initializes the external memory 200 in step 317 . If not, normal booting is performed in step 333 .
  • step 319 the control module 20 determines if the boot program is found in the external memory 200 . This is achieved by inserting a specific code value into a specific block of a boot program and confirming only the code value. If the boot program is found in the external memory 200 in step 319 , the control module 20 determines the current mode as a mode for restoring the boot program and informs the user of the fact “A boot program is in the middle of restoration” in step 321 . For example, the control module 20 can control a light emitting diode of the key input module 25 to blink. If the boot program is not found, normal booting is performed in step 333 .
  • step 323 the control module 20 clears all boot program blocks of the first memory 35 .
  • step 325 the control module 20 reads boot program data from the external memory 200 by a predetermined size (e.g., 512 bytes).
  • step 327 the control module 20 stores the boot program in the first memory 35 .
  • step 329 the control module 20 determines if all boot program data have been completely read and stored. If the all boot program data has not been completely read and stored, the control module 20 returns to step 325 . If the control module 20 completely stores all boot program data in step 329 , the control module 20 informs the user of “Boot program restoration”. For example, the control module 20 turns a light emitting diode of the key input module 25 on or generates vibration by driving a vibration module (not shown).
  • control module 20 If it is determined the external memory 200 is not plugged in the mobile communication terminal in step 315 or if it is determined that the boot program is not found in step 319 , the control module 20 performs normal booting in step 333 . In other words, the control module 20 reads the boot program to be executed in the second memory 40 from the first memory 35 and then stores the boot program in the second memory 40 .
  • the first method employs a file system.
  • a personal computer to copy boot program binary in the external memory 200 using a File Allocation Table (FAT) file system.
  • FAT File Allocation Table
  • the IPL of a mobile communication terminal must have a file system software.
  • the size of the IPL is restricted.
  • the size of the IPL is not greatly expanded because the method does not require the whole file system, but only a function of reading a file by analyzing a boot sector and a FAT table.
  • the second method does not employ a file system.
  • a special method In order to copy boot program binary in the external memory, a special method must be used. In other words, it is enough to sequentially store the boot program binary from a specific sector (e.g., 0 th sector) by directly using an external memory driver software.
  • this method can be realized only by system developers, it is difficult for the general users to realize this method as compared with the first method. In contrast, it is easy to realize IPL because a file system is not required in the IPL of the mobile communication terminal.
  • the boot program can be automatically restored only by turning on the mobile communication terminal after copying boot program binary into an external memory card and then plugging the external memory card in the mobile communication terminal. Therefore, according to the present invention, it is easy for a service center, etc. to restore the boot program without the use of high-priced equipment such as the JTAG or a modification of the hardware of the mobile communication terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed is a method and an apparatus for installing software in a mobile communication terminal. The apparatus for installing software in a mobile communication terminal, includes an external memory having software to be installed, a detector of the mobile communication terminal for, if an external memory is plugged in the mobile communication terminal, detecting a plugging state of the external memory, a memory being embedded in the mobile communication terminal, and a controller of the mobile communication terminal for reading the software to be installed from the external memory and storing the software in the memory if connection with the external memory is detected.

Description

  • This application claims priority to an application entitled “Method and Apparatus for Installing Software in Mobile Communication Terminal” filed in the Korean Intellectual Property Office on Nov. 20, 2004 and assigned Serial No. 2004-95561, the contents of which are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to an apparatus and a method for installing software in a mobile communication terminal, and more particularly to an apparatus and a method to upgrade or restore software to a mobile communication terminal using an external memory.
  • 2. Description of the Related Art
  • Generally, in order to update application programs of a mobile communication terminal (e.g., a portable telephone), a user connects a USB cable to a mobile communication terminal, so that the application programs can be downloaded to the mobile communication terminal from a personal computer (PC) through the USB cable.
  • However, because the USB cable and a PC program are conventionally the only manner for downloading such application programs, it is inconvenient and cumbersome for the user.
  • In the meantime, when power is applied to the mobile communication terminal, a booting program must be executed prior to application programs and booting must be successfully achieved in order to enable the execution of the application programs. In a typical booting procedure, the typical booting procedure sets up a central processing unit (CPU) and a clock, initializes a memory (e.g., SDRAM) for an operation, reads a boot program stored in a non-volatile memory into the initialized memory, and then executes the boot program in the initialized memory.
  • However, if errors have occurred in the boot program, high-priced equipment, such as the Joint Test Access Group (JTAG), is required in order to repair the erroneous boot program.
  • Herein, the term “boot program” denotes a program performing operations required before application programs are executed. For example, the boot program performs operations required when an application program for upgrading software is downloaded. Accordingly, if errors have occurred in the boot program, it is difficult to perform operations required when an application program for upgrading software is downloaded. In addition, the boot program initializes hardware before application programs are executed and reads and loads the application programs to a random access memory (RAM) from a non-volatile memory such that the application programs can be executed. Therefore, an erroneous boot program may cause serious problems.
  • In the meantime, equipment such as the JTAG is required in order to repair the erroneous boot program. In addition, the JTAG requires only skilled developers as well as a high price, so general users rarely repair the erroneous boot program using the JTAG. In addition, it is difficult for a service center to obtain the JTAG. Furthermore, the hardware of a mobile communication terminal must be modified in most cases in order to connect the JTAG thereto. For this reason, some times, the repair of the erroneous boot program may be abandoned, and the mobile communication terminal may no longer be used.
  • SUMMARY OF THE INVENTION
  • Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the prior art, and an object of the present invention is to provide an apparatus and a method for installing software in a mobile communication terminal using an external memory without additional equipment or additional programs.
  • To accomplish the above objects, according to a first aspect of the present invention, there is provided an apparatus for installing software in a mobile communication terminal, the apparatus including an external memory having software to be installed, a detector of the mobile communication terminal for, if an external memory is plugged in the mobile communication terminal, detecting a plugging state of the external memory, a memory being embedded in the mobile communication terminal, and a controller of the mobile communication terminal for reading the software to be installed from the external memory and storing the software in the memory if connection with the external memory is detected.
  • According to a second aspect of the present invention, there is provided a method for installing software in a mobile communication terminal using an external memory having the software, the method including the steps of determining if the external memory is plugged in the mobile communication terminal and if software installation is requested, and if so, repeating an operation of reading data from the external memory by a predetermined size and storing the data in a corresponding block of a memory embedded in the mobile communication terminal until all data stored in the external memory are read and stored in the embedded memory.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 is a block diagram illustrating the structure of an apparatus for installing software in a mobile communication terminal using an external memory according to one embodiment of the present invention;
  • FIG. 2 is a flowchart illustrating a method for upgrading an application program of a mobile communication terminal using an external memory according to one embodiment of the present invention; and
  • FIG. 3 is a flowchart illustrating a method for restoring a boot program to a mobile communication terminal using the external memory according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. Note that the same or similar components in drawings are designated by the same reference numerals as far as possible although they are shown in different drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention unclear.
  • FIG. 1 is a block diagram illustrating the structure of an apparatus for installing software in a mobile communication terminal by using an external memory according to one embodiment of the present invention.
  • A dotted part having reference numeral 100 indicates the mobile communication terminal, and reference numeral 200 indicates the external memory. The mobile communication terminal 100 can detect the plugging state of the external memory 200 through the state of a GPIO (general purpose input/output) pin. The GPIO pin is positioned at a control module 20 of the mobile communication terminal 100. The control module 20 may be realized by using a QualComm MSM (mobile station modem) chip.
  • The control module 20 controls the overall operation of the mobile communication terminal and controls the installation of software according to the present invention. A first memory 35 may be realized using a ROM, a flash RAM, etc. In addition, the first memory 35 is used for storing software (e.g., application programs or a boot program). A second memory 40 may be realize using an SDRAM, an SRAM, etc. In addition, the second memory 40 is used for installing software. Software may be installed in order to upgrade an application program or recover a boot program.
  • An RF processing module 15 includes an RF transmitter for up-converting and amplifying a frequency of a signal to be transmitted and an RF receiver for low-noise amplifying a received signal and down-converting a frequency of the received signal. The RF processing module 15 receives a baseband signal from the control module 20, converts the signal into a middle-frequency signal, converts the middle-frequency signal into a high-frequency signal, and transmits the high-frequency signal to a base station through an antenna. In contrast, a high-frequency signal received from the base station through the antenna is converted into a middle-frequency signal and then a baseband signal to be provided to the control module 20.
  • A key input module 25 and a display module 30 are used for user interface. The key input module 25 includes a plurality of keys enabling a user to input data or a command for installing software. If the key input module 25 detects the pressing of a predetermined key, the key input module 25 delivers input data corresponding to the key to the control module 20. The display module 30 may be realized using a liquid crystal display (LCD), and displays the current state of the mobile communication terminal, a menu, and a message input by a user under the control of the control module 20. The display module 30 may also include a touch screen. Although it is not shown, the mobile communication terminal further includes a vibration module in order to display a specific state. The key input module 25 may include a light emitting diode.
  • The above-described structure is only an example and may be variously changed. For example, an exclusive input/output pin assigned to an external memory can be applied to the operation in which case it may be unnecessary to employ the GPIO pin as a unit by which the mobile communication terminal 100 determines the plugging state of the external memory 200.
  • FIG. 2 is a flowchart illustrating a method for upgrading an application program of the mobile communication terminal using the external memory according to one embodiment of the present invention.
  • A user copies software binary to be downloaded in the external memory. Then, the user plugs the external memory into the mobile communication terminal and then powers the mobile communication terminal on while pressing a specific key (it is assumed that the specific key is a zero key according to the present invention). In this state, the control module 20 commences a booting operation in step 212. In step 214, the control module 20 determines if the zero key is pressed. At this time, if the zero key is pressed, the control module 20 determines in step 216 if the external memory 200 is plugged in the mobile communication terminal.
  • If the zero key is not pressed or if the external memory 200 is not plugged in the mobile communication terminal, the control module 20 normally performs the booting operation in step 214. In contrast, if the zero key is pressed and if the external memory 200 is plugged in the mobile communication terminal, the control module 20 recognizes that the user intends to upgrade an application program.
  • In step 218, the control module 20 determines if the power of a battery is insufficient. If the power of the battery has a strength less than a predetermined value, the control module 20 controls the display module 30 to display a message reporting the shortage of the power (e.g., “It is impossible to perform the upgrade due to shortage of power. Please retry the upgrade procedure after charging battery.”) in step 220 and terminates the upgrade of the application program.
  • In contrast, if the control module 20 determines in step 218 that the power of the battery is not insufficient, the control module 20 controls the display module 30 to display a message reporting the progress of the upgrade (e.g., “An application program is being upgraded”) in step 222. Then, in step 224, the control module 20 initializes the external memory 200.
  • In step 226, the control module 20 clears a corresponding block of the first memory 35 into which software binary is downloaded. At this time, the control module 20 may clear the whole block of the first memory 35. In addition, the control module 20 obtains the size of software binary in the external memory 200 through a file system and then may clear a block corresponding to the size.
  • In step 228, the control module 20 controls the display module 30 to start the display of the progress bar and display a message forbidding power off (e.g., “Please don't turn power off because software is in the process of upgrade”). Herein, the display of the progress bar is necessary in order to inform the user of the downloading progress state.
  • In step 230, the control module 20 reads data (software binary) from the external memory 200 by a predetermined size (e.g., 512 bytes). In step 232, the control module 20 stores the read data in a corresponding block of the first memory 35. The control module 20 then determines in step 234 if all data have been read from the external memory 200 and are stored. If all data have not been read, the control module 20 returns to step 230.
  • If the upgrade of the software is completed, the control module 20 controls the display module 30 to display an upgrade completion message (e.g., “The upgrade of the software is completed!”) and stop the display of the progress bar and stop the display of a message of forbidding power off in step 236. In step 238, the control module 20 starts rebooting by resetting the mobile communication terminal.
  • The steps are performed on the premise that the upgrade operation of the application program is executed in the second memory 40. If the upgrade operation of the application program is executed in the first memory 35 (e.g., a ROM or a NOR flash memory) and a corresponding block of the first memory 35 is cleared in step 226, the upgrade operation of the program is not executed any more because all programs are deleted. Therefore, the duplication of programs necessary for the download are made in the second memory 40 before step 226 such that the programs are executed in the second memory 40.
  • FIG. 3 is a flowchart illustrating a method for restoring a boot program to the mobile communication terminal using the external memory. The steps shown in FIG. 3 are included in a program performed before a boot program is executed. As described above, the program performed before the boot program is executed is called IPL (initial program loader) for the purpose of description. The IPL may be stored in a ROM embedded in the control module 20 or in an external processor. The IPL is a well-known technique frequently used when the boot program is stored in a NAND flash memory. Therefore, a description about the operation of the IPL will be omitted in order to prevent the subject matter of the present invention from being unclear.
  • Instep 311, the control module 20 sets up a CPU and a clock. Instep 313, the control module 20 initializes the second memory 40. In step 315, the control module 20 determines if the external memory 200 is plugged in the mobile communication terminal. If the external memory 200 is plugged in, the control module 20 initializes the external memory 200 in step 317. If not, normal booting is performed in step 333.
  • In step 319, the control module 20 determines if the boot program is found in the external memory 200. This is achieved by inserting a specific code value into a specific block of a boot program and confirming only the code value. If the boot program is found in the external memory 200 in step 319, the control module 20 determines the current mode as a mode for restoring the boot program and informs the user of the fact “A boot program is in the middle of restoration” in step 321. For example, the control module 20 can control a light emitting diode of the key input module 25 to blink. If the boot program is not found, normal booting is performed in step 333.
  • In step 323, the control module 20 clears all boot program blocks of the first memory 35. In step 325, the control module 20 reads boot program data from the external memory 200 by a predetermined size (e.g., 512 bytes). In step 327, the control module 20 stores the boot program in the first memory 35. In step 329, the control module 20 determines if all boot program data have been completely read and stored. If the all boot program data has not been completely read and stored, the control module 20 returns to step 325. If the control module 20 completely stores all boot program data in step 329, the control module 20 informs the user of “Boot program restoration”. For example, the control module 20 turns a light emitting diode of the key input module 25 on or generates vibration by driving a vibration module (not shown).
  • If it is determined the external memory 200 is not plugged in the mobile communication terminal in step 315 or if it is determined that the boot program is not found in step 319, the control module 20 performs normal booting in step 333. In other words, the control module 20 reads the boot program to be executed in the second memory 40 from the first memory 35 and then stores the boot program in the second memory 40.
  • There are two methods for storing a boot program in the external memory 200 according to the present invention.
  • The first method employs a file system. In this case, it is enough for a personal computer to copy boot program binary in the external memory 200 using a File Allocation Table (FAT) file system. However, the IPL of a mobile communication terminal must have a file system software. Generally, it is difficult for the IPL of the mobile communication terminal to have a file system because the size of the IPL is restricted. However, the size of the IPL is not greatly expanded because the method does not require the whole file system, but only a function of reading a file by analyzing a boot sector and a FAT table.
  • The second method does not employ a file system. In order to copy boot program binary in the external memory, a special method must be used. In other words, it is enough to sequentially store the boot program binary from a specific sector (e.g., 0th sector) by directly using an external memory driver software. However, since this method can be realized only by system developers, it is difficult for the general users to realize this method as compared with the first method. In contrast, it is easy to realize IPL because a file system is not required in the IPL of the mobile communication terminal.
  • As described above, according to the present invention, anyone who has an external memory can easily install software. It is unnecessary to employ a download program used in a personal computer and equipment such as a cable. Anyone who has an external memory card including software binary can easily upgrade programs. In addition, program download through an external memory is achieved even faster than remote program download through cable. For this reason, it is easy for users to upgrade software for themselves by bringing soft binary uploaded on the web by a mobile communication terminal provider without visiting a service center.
  • In addition, according to the present invention, the boot program can be automatically restored only by turning on the mobile communication terminal after copying boot program binary into an external memory card and then plugging the external memory card in the mobile communication terminal. Therefore, according to the present invention, it is easy for a service center, etc. to restore the boot program without the use of high-priced equipment such as the JTAG or a modification of the hardware of the mobile communication terminal.
  • While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. Consequently, the scope of the invention should not be limited to the embodiments, but should be defined by the appended claims and equivalents thereof.

Claims (21)

1. An apparatus for installing software in a mobile communication terminal, the apparatus comprising:
an external memory having software to be installed;
a detector of the mobile communication terminal for, if an external memory is plugged in to the mobile communication terminal, detecting a plugging state of the external memory;
a memory being embedded in the mobile communication terminal; and
a controller of the mobile communication terminal for reading the software to be installed from the external memory and storing the software in the memory if connection with the external memory is detected.
2. The apparatus as claimed in claim 1, further comprising a connection module through which the external memory is connected to the mobile communication terminal, the connection module including a general purpose input/output (GPIO) pin.
3. The apparatus as claimed in claim 1, wherein the memory includes a first memory and a second memory, the first memory in which the software is finally installed, the second memory being used for executing the software to be installed.
4. The apparatus as claimed in claim 3, further comprising:
a key input module including a plurality of keys used for inputting data or commands for software installation by a user, and if input of a predetermined key is detected, the key input module providing corresponding key input data to the controller; and
a display module for displaying a state change of the mobile communication terminal according to the software installation.
5. The apparatus as claimed in claim 1, wherein the software to be installed is an application program to be upgraded.
6. The apparatus as claimed in claim 1, wherein the software to be installed is a boot program to be restored.
7. The apparatus as claimed in claim 1, wherein the first memory is a non-volatile memory.
8. A method for installing software in a mobile communication terminal using an external memory having the software, the method comprising the steps of:
determining if the external memory is plugged in the mobile communication terminal and if software installation is requested; and
if the external memory is plugged in the mobile communication terminal and software installation is requested, reading data from the external memory by a predetermined size and storing the data in a corresponding block of a memory embedded in the mobile communication terminal until all data stored in the external memory are read and stored in the embedded memory.
9. The method as claimed in claim 8, wherein the software installation includes upgrade of an application program.
10. The method as claimed in claim 9, further comprising the step of starting rebooting by resetting the mobile communication terminal if the upgrade of the application program is completed.
11. The method as claimed in claim 9, further comprising the step of displaying an upgrade completion message if the upgrade of the application program is completed.
12. The method as claimed in claim 9, further comprising the step of previously clearing a corresponding block of the embedded memory in order to upgrade the application program.
13. The method as claimed in claim 9, further comprising the step of displaying a message reporting that the application program is being upgraded.
14. The method as claimed in claim 9, further comprising the step of, before data from the external memory are read and stored, displaying a message reporting that battery power is insufficient if the battery power is checked and it is determined that the battery power is insufficient.
15. The method as claimed in claim 9, further comprising the step of, if data from the external memory starts to be read and stored, displaying a message forbidding a power off while starting to display a progress bar.
16. The method as claimed in claim 15, further comprising the step of, if the upgrade of the application program is completed, displaying an upgrade completion message and stopping display of the progress bar and stopping display of the message forbidding power off.
17. The method as claimed in claim 8, wherein the software installation includes restoration of a boot program.
18. The method as claimed in claim 17, further comprising the step of, if restoration of a boot program is completed by reading and storing all data from the external memory, displaying a message reporting the restoration of the boot program.
19. The method as claimed in claim 17, further comprising the step of previously clearing a corresponding block of the embedded memory in order to restore the boot program.
20. The method as claimed in claim 17, further comprising the step of displaying a message reporting that the boot program is being restored.
21. The method as claimed in claim 17, further comprising the step of determining if the boot program is found in the external memory according to a detection state of a specific code value from the external memory.
US11/284,310 2004-11-20 2005-11-21 Method and apparatus for installing software in mobile communication terminal Abandoned US20060112386A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/238,955 US8490081B2 (en) 2004-11-20 2011-09-21 Method and apparatus for installing software in mobile communication terminal
US13/933,895 US20130298115A1 (en) 2004-11-20 2013-07-02 Method and apparatus for installing software in mobile communication terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040095561A KR101075676B1 (en) 2004-11-20 2004-11-20 Software download apparatus and method for mobile terminal equipment
KR10-2004-0095561 2004-11-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/238,955 Continuation US8490081B2 (en) 2004-11-20 2011-09-21 Method and apparatus for installing software in mobile communication terminal

Publications (1)

Publication Number Publication Date
US20060112386A1 true US20060112386A1 (en) 2006-05-25

Family

ID=36462330

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/284,310 Abandoned US20060112386A1 (en) 2004-11-20 2005-11-21 Method and apparatus for installing software in mobile communication terminal
US13/238,955 Expired - Fee Related US8490081B2 (en) 2004-11-20 2011-09-21 Method and apparatus for installing software in mobile communication terminal
US13/933,895 Abandoned US20130298115A1 (en) 2004-11-20 2013-07-02 Method and apparatus for installing software in mobile communication terminal

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/238,955 Expired - Fee Related US8490081B2 (en) 2004-11-20 2011-09-21 Method and apparatus for installing software in mobile communication terminal
US13/933,895 Abandoned US20130298115A1 (en) 2004-11-20 2013-07-02 Method and apparatus for installing software in mobile communication terminal

Country Status (2)

Country Link
US (3) US20060112386A1 (en)
KR (1) KR101075676B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095670A1 (en) * 1996-05-22 2002-07-18 Fujitsu Information processing system and recording media
US20070206567A1 (en) * 2006-03-06 2007-09-06 Elias Mark A Methods and apparatus to implement voice over Internet protocol (VoIP) phones
US20090254898A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Converting a device from one system to another
US7702896B1 (en) * 2006-10-03 2010-04-20 American Megatrends, Inc. Interactive firmware recovery
US7962736B1 (en) * 2006-10-03 2011-06-14 American Megatrends, Inc. Interactive pre-OS firmware update with repeated disabling of interrupts
US20130326495A1 (en) * 2012-06-01 2013-12-05 Nokia Corporation Wireless programming
US20140051465A1 (en) * 2011-04-19 2014-02-20 Godert Otto Anthony Ruys Vehicle request device
US9369959B2 (en) 2011-10-31 2016-06-14 Nokia Technologies Oy Wirelessly transferring data to a packaged electronic device
USRE47137E1 (en) * 2006-06-26 2018-11-20 Samsung Electronics Co., Ltd Method and system for providing virtual messenger service
CN110795159A (en) * 2019-10-30 2020-02-14 福建省汽车工业集团云度新能源汽车股份有限公司 Method for preventing vehicle-mounted ECU from being mistakenly upgraded and incapable of being refreshed and storage device
CN114036080A (en) * 2021-11-09 2022-02-11 许昌许继软件技术有限公司 Method and device for upgrading program by using communication serial port of display terminal

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955702B (en) * 2011-08-23 2016-08-10 腾讯科技(深圳)有限公司 A kind of software is installed and upgrade method and device
JP5866864B2 (en) * 2011-08-23 2016-02-24 株式会社ニコン Electronic equipment, power supply device, system and equipment
US9092596B2 (en) * 2012-05-11 2015-07-28 Onyx Protected Systems, Llc Computer system for preventing the disabling of content blocking software functionality therein, and method therefor
KR102109051B1 (en) * 2013-08-06 2020-05-11 삼성전자주식회사 Function upgrade device, Display apparats and Method for controlling display apparatSs thereof
US20200186423A1 (en) * 2018-12-05 2020-06-11 Nutanix, Inc. Intelligent node faceplate and server rack mapping
CN110297726B (en) * 2019-07-03 2023-08-25 上海兆芯集成电路股份有限公司 Computer system with serial presence detection data and memory module control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279153B1 (en) * 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US20030181956A1 (en) * 2002-01-21 2003-09-25 Michael Duncan Multi-purpose FES system
US20040107328A1 (en) * 2002-11-29 2004-06-03 Schultz Russell Alvin Use of multiple overlays to import programs from external memory
US20040194081A1 (en) * 2002-03-23 2004-09-30 Iyad Qumei Update system for facilitating firmware/software update in a mobile handset
US20060075284A1 (en) * 2004-09-30 2006-04-06 Skan Peter L Method for over-the-air firmware update of NAND flash memory based mobile devices
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US6418555B2 (en) * 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6256664B1 (en) * 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US7739308B2 (en) * 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US7191438B2 (en) * 2001-02-23 2007-03-13 Lenovo (Singapore) Pte, Ltd. Computer functional architecture and a locked down environment in a client-server architecture
US7185335B2 (en) * 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
US6901298B1 (en) * 2002-09-30 2005-05-31 Rockwell Automation Technologies, Inc. Saving and restoring controller state and context in an open operating system
KR100472074B1 (en) 2002-11-01 2005-03-11 주식회사 팬택앤큐리텔 Method for downloading data by usb interface
KR100953638B1 (en) 2003-02-13 2010-04-20 엘지전자 주식회사 Software upgrade method and system of mobile terminal
KR100474215B1 (en) * 2003-03-06 2005-03-10 이석훈 Method of upgrading a firmware of mobile terminal
JP2004272632A (en) * 2003-03-10 2004-09-30 Sony Corp Information processor, information processing method and computer program
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
GB2424811B (en) * 2003-06-17 2006-12-06 Accenture Global Services Gmbh Method and system for selectively distributing data to a set of network devices
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
WO2005024628A2 (en) * 2003-09-03 2005-03-17 Bitfone Corporation Tri-phase boot process in electronic devices
US7334226B2 (en) * 2003-10-30 2008-02-19 International Business Machines Corporation Autonomic auto-configuration using prior installation configuration relationships
US8015504B1 (en) * 2004-03-26 2011-09-06 Adobe Systems Incorporated System and method for communicating information over a network
US7802246B1 (en) * 2004-06-21 2010-09-21 Microsoft Corporation Systems and methods that facilitate software installation customization
US8146072B2 (en) * 2004-07-30 2012-03-27 Hewlett-Packard Development Company, L.P. System and method for updating software on a computer
JP2008527468A (en) * 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド Hybrid local / remote streaming
US7865888B1 (en) * 2004-12-21 2011-01-04 Zenprise, Inc. Systems and methods for gathering deployment state for automated management of software application deployments
US7496627B2 (en) * 2006-03-16 2009-02-24 Exceptional Innovation, Llc Automation control system having digital logging
US8302091B2 (en) * 2006-06-05 2012-10-30 International Business Machines Corporation Installation of a bootable image for modifying the operational environment of a computing system
US8090766B2 (en) * 2006-08-15 2012-01-03 Microsoft Corporation System and method to identify, rank, and audit network provided configurables
US8312444B2 (en) * 2007-07-30 2012-11-13 Ocz Technology Group, Inc. Method for optimizing memory modules for user-specific environments
US8365164B1 (en) * 2008-02-21 2013-01-29 T-APP Ltd. Portable software applications
US8327351B2 (en) * 2009-04-30 2012-12-04 Sap Ag Application modification framework
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US8677346B1 (en) * 2011-09-27 2014-03-18 Symantec Corporation Providing installer package information to a user

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279153B1 (en) * 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US20030181956A1 (en) * 2002-01-21 2003-09-25 Michael Duncan Multi-purpose FES system
US20040194081A1 (en) * 2002-03-23 2004-09-30 Iyad Qumei Update system for facilitating firmware/software update in a mobile handset
US20040107328A1 (en) * 2002-11-29 2004-06-03 Schultz Russell Alvin Use of multiple overlays to import programs from external memory
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product
US20060075284A1 (en) * 2004-09-30 2006-04-06 Skan Peter L Method for over-the-air firmware update of NAND flash memory based mobile devices

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095670A1 (en) * 1996-05-22 2002-07-18 Fujitsu Information processing system and recording media
US9154336B2 (en) 2006-03-06 2015-10-06 At&T Intellectual Property I, L.P. Methods and apparatus to implement voice over internet protocol (VoIP) phones
US20070206567A1 (en) * 2006-03-06 2007-09-06 Elias Mark A Methods and apparatus to implement voice over Internet protocol (VoIP) phones
US8279850B2 (en) * 2006-03-06 2012-10-02 At&T Intellectual Property I, Lp Methods and apparatus to implement voice over internet protocol (VoIP) phones
USRE47137E1 (en) * 2006-06-26 2018-11-20 Samsung Electronics Co., Ltd Method and system for providing virtual messenger service
US7702896B1 (en) * 2006-10-03 2010-04-20 American Megatrends, Inc. Interactive firmware recovery
US7962736B1 (en) * 2006-10-03 2011-06-14 American Megatrends, Inc. Interactive pre-OS firmware update with repeated disabling of interrupts
US8230210B1 (en) 2006-10-03 2012-07-24 America Megatrends, Inc Interactive firmware recovery
US20090254898A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Converting a device from one system to another
US20140051465A1 (en) * 2011-04-19 2014-02-20 Godert Otto Anthony Ruys Vehicle request device
US9618353B2 (en) * 2011-04-19 2017-04-11 Tomtom International B.V. Vehicle request device
US9369959B2 (en) 2011-10-31 2016-06-14 Nokia Technologies Oy Wirelessly transferring data to a packaged electronic device
USRE47394E1 (en) 2011-10-31 2019-05-14 Wsou Investments, Llc Wirelessly transferring data to a packaged electronic device
US9307347B2 (en) * 2012-06-01 2016-04-05 Nokia Technologies Oy Wireless programming
US20130326495A1 (en) * 2012-06-01 2013-12-05 Nokia Corporation Wireless programming
CN110795159A (en) * 2019-10-30 2020-02-14 福建省汽车工业集团云度新能源汽车股份有限公司 Method for preventing vehicle-mounted ECU from being mistakenly upgraded and incapable of being refreshed and storage device
CN114036080A (en) * 2021-11-09 2022-02-11 许昌许继软件技术有限公司 Method and device for upgrading program by using communication serial port of display terminal

Also Published As

Publication number Publication date
US20130298115A1 (en) 2013-11-07
KR101075676B1 (en) 2011-10-21
US8490081B2 (en) 2013-07-16
KR20060056471A (en) 2006-05-25
US20120011497A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
US8490081B2 (en) Method and apparatus for installing software in mobile communication terminal
US7080245B2 (en) Method and system of switching between two or more images of firmware on a host device
KR101674934B1 (en) Apparatus and method of reporting exception
WO2008007922A1 (en) Program upgrade system and method for ota-capable mobile terminal
CN103106092A (en) System software updating method and device in terminal appliance
US20050176415A1 (en) System and method for providing anti-virus program using wireless communication terminal
CN112463199A (en) System upgrading method and terminal
CN101505331A (en) Method and apparatus for updating system software of smart phone
KR20030081743A (en) System and method for remote examination of personal hand-held terminal
CN107608923B (en) Test processing method and related product
US20070162735A1 (en) Control chip for a computer boot procedure and related method
CN111610995B (en) Device firmware upgrading method and device, electronic device and storage medium
CN117608619A (en) Updating method, updating system, electronic device and storage medium of UEFI BIOS firmware
CN100410893C (en) Method and apparatus for master-controlled applied programm of self-repairing built-in equipment
CN113946273A (en) OptionROM starting method, system, equipment and storage medium
CN106776161B (en) A method, device and mobile terminal for preventing data loss from power failure
KR100877720B1 (en) DMB receiver and firmware upgrade method to upgrade firmware using external storage device
KR100490743B1 (en) Method for downloading file by using usb in the boot loader
KR100588199B1 (en) How to recover program download failure in mobile device and mobile device
CN104823174A (en) Re-enumeration of USB 3.0 compatible devices
CN112596759A (en) Method, device and system for upgrading MCU software based on TF card
KR20120072936A (en) System and method for updating firmware using smart phone app
CN115686569A (en) OTA upgrading method and related components thereof
KR100777289B1 (en) Software upgrade method of mobile communication terminal using firmware
CN102033757A (en) Mobile phone upgrading device and method

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOON, EUL-JI;OH, HYUK;REEL/FRAME:017272/0312

Effective date: 20051111

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载