US20060112386A1 - Method and apparatus for installing software in mobile communication terminal - Google Patents
Method and apparatus for installing software in mobile communication terminal Download PDFInfo
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/38—Transceivers, 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/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
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.
- 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.
- 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.
- 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. - 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, andreference numeral 200 indicates the external memory. Themobile communication terminal 100 can detect the plugging state of theexternal memory 200 through the state of a GPIO (general purpose input/output) pin. The GPIO pin is positioned at acontrol module 20 of themobile communication terminal 100. Thecontrol 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. Afirst memory 35 may be realized using a ROM, a flash RAM, etc. In addition, thefirst memory 35 is used for storing software (e.g., application programs or a boot program). Asecond memory 40 may be realize using an SDRAM, an SRAM, etc. In addition, thesecond 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. TheRF processing module 15 receives a baseband signal from thecontrol 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 thecontrol module 20. - A
key input module 25 and adisplay module 30 are used for user interface. Thekey input module 25 includes a plurality of keys enabling a user to input data or a command for installing software. If thekey input module 25 detects the pressing of a predetermined key, thekey input module 25 delivers input data corresponding to the key to thecontrol module 20. Thedisplay 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 thecontrol module 20. Thedisplay 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. Thekey 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 theexternal 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 instep 212. Instep 214, thecontrol module 20 determines if the zero key is pressed. At this time, if the zero key is pressed, thecontrol module 20 determines instep 216 if theexternal 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, thecontrol module 20 normally performs the booting operation instep 214. In contrast, if the zero key is pressed and if theexternal memory 200 is plugged in the mobile communication terminal, thecontrol module 20 recognizes that the user intends to upgrade an application program. - In
step 218, thecontrol 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, thecontrol module 20 controls thedisplay 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.”) instep 220 and terminates the upgrade of the application program. - In contrast, if the
control module 20 determines instep 218 that the power of the battery is not insufficient, thecontrol module 20 controls thedisplay module 30 to display a message reporting the progress of the upgrade (e.g., “An application program is being upgraded”) instep 222. Then, instep 224, thecontrol module 20 initializes theexternal memory 200. - In
step 226, thecontrol module 20 clears a corresponding block of thefirst memory 35 into which software binary is downloaded. At this time, thecontrol module 20 may clear the whole block of thefirst memory 35. In addition, thecontrol module 20 obtains the size of software binary in theexternal memory 200 through a file system and then may clear a block corresponding to the size. - In
step 228, thecontrol module 20 controls thedisplay 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, thecontrol module 20 reads data (software binary) from theexternal memory 200 by a predetermined size (e.g., 512 bytes). Instep 232, thecontrol module 20 stores the read data in a corresponding block of thefirst memory 35. Thecontrol module 20 then determines instep 234 if all data have been read from theexternal memory 200 and are stored. If all data have not been read, thecontrol module 20 returns to step 230. - If the upgrade of the software is completed, the
control module 20 controls thedisplay 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 instep 236. Instep 238, thecontrol 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 thefirst memory 35 is cleared instep 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 thesecond memory 40 beforestep 226 such that the programs are executed in thesecond 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 inFIG. 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 thecontrol 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, thecontrol module 20 sets up a CPU and a clock.Instep 313, thecontrol module 20 initializes thesecond memory 40. Instep 315, thecontrol module 20 determines if theexternal memory 200 is plugged in the mobile communication terminal. If theexternal memory 200 is plugged in, thecontrol module 20 initializes theexternal memory 200 instep 317. If not, normal booting is performed instep 333. - In
step 319, thecontrol module 20 determines if the boot program is found in theexternal 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 theexternal memory 200 instep 319, thecontrol 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” instep 321. For example, thecontrol module 20 can control a light emitting diode of thekey input module 25 to blink. If the boot program is not found, normal booting is performed instep 333. - In
step 323, thecontrol module 20 clears all boot program blocks of thefirst memory 35. Instep 325, thecontrol module 20 reads boot program data from theexternal memory 200 by a predetermined size (e.g., 512 bytes). Instep 327, thecontrol module 20 stores the boot program in thefirst memory 35. Instep 329, thecontrol 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, thecontrol module 20 returns to step 325. If thecontrol module 20 completely stores all boot program data instep 329, thecontrol module 20 informs the user of “Boot program restoration”. For example, thecontrol module 20 turns a light emitting diode of thekey 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 instep 315 or if it is determined that the boot program is not found instep 319, thecontrol module 20 performs normal booting instep 333. In other words, thecontrol module 20 reads the boot program to be executed in thesecond memory 40 from thefirst memory 35 and then stores the boot program in thesecond 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.
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)
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)
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)
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)
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 |
-
2004
- 2004-11-20 KR KR1020040095561A patent/KR101075676B1/en not_active Expired - Fee Related
-
2005
- 2005-11-21 US US11/284,310 patent/US20060112386A1/en not_active Abandoned
-
2011
- 2011-09-21 US US13/238,955 patent/US8490081B2/en not_active Expired - Fee Related
-
2013
- 2013-07-02 US US13/933,895 patent/US20130298115A1/en not_active Abandoned
Patent Citations (6)
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)
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 |