USPatent applicationPatented

Mechanism for updating firmware of an electronic device

Granted 11 Jan 2005 · 1 office action

Current assignee: Funai Electric · originally Funai Corporation, Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Takuya Suzuki · Examiner: B. James Peikari · AU 2186 · TC 2100

Life of the application

8 dated events
⤢ drag to zoom20022004200620082010201220142016201820202022ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A system for updating firmware of an electronic device includes a flash memory for storing a system control program to control the electronic device, and a RAM for storing the system control program and a writing control program to perform writing operation that the system program is loaded into the flash memory from the RAM. The system also includes a JTAG interface in conformity with the standard 1149.1 of IEEE (the Institute of Electrical and Electronics Engineers). The system stores the system control program and the writing control program into the RAM, and then executes the writing control program stored in the RAM to load the system control program into the flash memory. Thus, the firmware of the electronic device is updated.

Description

6 parts
›BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a mechanism for updating firmware of an electronic device, and in particular relates to a system and method for writing/updating a system control program stored in a flash memory of an electronic device.

2. Background Art

According to some related art, for example, as disclosed in the Unexamined Japanese Patent Application Publication No. 06-44064 A, a program to be stored in a flash memory of an electronic device is temporarily loaded into a RAM (random access memory), and another program, which controls writing operation to load the program into the flash memory, stored in a ROM (read only memory) in advance is executed. By way of this, the program temporarily stored in the RAM is loaded into the flash memory, and thereby, the firmware of the electronic device can be updated.

In the above related art, although the program temporarily stored in the RAM can be loaded into the flash memory, there has been a problem that the other program to perform such writing operation is required to be stored in the ROM in advance.

›SUMMARY OF THE INVENTION

The invention is made from the aspect of consideration of the foregoing problem. An object of the invention is to provide a system that updates firmware of an electronic device in a manner that a system control program to be written into a flash memory and a writing control program to perform writing operation are temporarily stored in a RAM, and the system control program is loaded into the flash memory by execution of the writing control program stored in the RAM.

Further, another object of the invention is to provide a system that updates firmware of an electronic device in a manner that the system displays a write error when the write error occurs upon writing a system control program into the flash memory, and displays a verify error when contents of the system control program written into the flash memory does not match contents of the system control program stored in the RAM.

In order to achieve the objects, a system for updating firmware of an electronic device comprising: a first storage unit for storing a system control program controlling the electronic device; a second storage unit for temporarily storing the system control program and a writing control program that performs control of writing operations; and a control unit for controlling storage of a program to the second storage unit and execution of the writing control program; wherein the system control program and the writing control program are stored in the second storage unit by the control unit, and the writing control program stored in the second storage unit is executed by the control unit.

Further, a write error display unit for displaying a write error and a verification error display unit for displaying a verification error are provided. Thus, the write error is displayed when the write error occurs upon loading the system control program stored in the second storage unit into the first storage unit. In addition, the verification error is displayed when the contents of the system control program written in the first storage unit does not match the contents of the system control program stored in the second storage unit.

By way of this, the system control program to be loaded into the flash memory and the writing control program to control writing operations are temporarily stored in the RAM, and the system control program stored in the RAM can be loaded into the flash memory by execution of the writing control program stored in the RAM.

Further, the write error can be displayed when the write error occurs upon writing the system control program stored in the RAM into the flash memory. In addition, the verification error can be displayed when the contents of the system control program written in the flash memory does not match the contents of the system control program stored in the RAM.

Furthermore, a method for updating firmware of an electronic device is provided. The method comprises connecting a host computer to a JTAG interface of the electronic device; temporarily storing a system control program to control the electronic device and a writing control program to perform writing operation from the host computer into a second storage unit; detaching the host computer from the JTAG interface; conveying the electronic device; and executing the writing control program stored in the second storage unit to load the system control program from the second storage unit into a first storage unit.

Still further, the method further comprises displaying a write error when the write error occurs upon writing the system control program stored in the second storage unit into the first storage unit.

Still further, the method further comprises displaying a verification error when contents of the system control program written in the first storage unit does not match the contents of the system control program stored in the second storage unit under verification.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the configuration of a system for updating firmware according to an embodiment of the invention.

FIG. 2 is a flow chart showing the operation of transferring programs and sending a control command in the system according to an embodiment of the invention.

FIG. 3 is a flow chart showing the operation of writing firmware in the system according to an embodiment of the invention.

FIG. 4 shows that a DVD player according to an embodiment of the present invention is conveyed on the conveyor belt.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 3

An embodiment of the invention will be described below in detail suitably with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a system for updating firmware according to an embodiment of the invention. FIG. 2 is a flow chart showing the operation of transferring programs and sending a control command in the system according to an embodiment of the invention. FIG. 3 is a flow chart showing the operation of writing a program in the system according to an embodiment of the invention.

First, this embodiment will be explained below with reference to the block diagram of FIG. 1 showing the configuration of the system for updating firmware.

A microprocessor portion 10 of an electronic device has a CPU (central processing unit) 1 to control the electronic device, a flash memory 3 to store a system control program executed by the CPU 1 , and a RAM 2 provided for the CPU 1 to temporarily store the results of operation and data. The CPU 1 , the flash memory 3 , and the RAM 2 are connected to one another through a system bus 6 .

The flash memory 3 is an electrically erasable/writable nonvolatile memory. The flash memory 3 has functions as firmware. A control signal from the CPU 1 and a control signal from a flash memory control circuit 4 connected to the flash memory are applied to pins of the flash memory 3 at predetermined timing. Thus, data in the flash memory 3 can be erased and rewritten. A writing time for the flash memory is about 1 min/M bites.

The RAM 2 is in general a memory to temporarily store data such as the results of the operation at the time the CPU 1 controls the electronic device. When the CPU 1 rewrites the firmware of the electronic device, the RAM 2 is used as a memory to temporarily store a system control program and a writing control program, which controls writing operation to load the system control program into the flash memory. A writing time for the RAM is about 20 sec/M bites. Thus, the RAM writes about five times as fast as the flash memory.

In addition, a display unit 11 , which displays various kinds of information regarding operating states of the electronic device, is connected to the microprocessor portion 10 through the system bus 6 . In accordance with a control signal from the CPU 1 and a control signal from a display control circuit 12 connected to the display unit 11 , an indication of a normal termination based on writing a program into the flash memory, a write error in writing a program into the flash memory, and a verification error in verifying the program written in the flash memory, as well as the various kinds of information such as the operating states of the electronic device, are displayed oti the display unit 11 while firmware of the electronic device is being updated.

The CPU 1 of the microprocessor portion 10 and a host computer 20 are connected through a JTAG (Joint Test Action Group) interface 5 . Data such as programs, and various control commands are transferred from the host computer 20 to the CPU 1 of the microprocessor portion 10 through the JTAG interface 5 so that the operation of the CPU 1 can be controlled from the outside.

The JTAG interface 5 is an interface based on a JTAG system in conformity with the standard 1149.1 of IEEE (the Institute of Electrical and Electronics Engineers). The JTAG interface 5 can control a CPU of an electronic device from the outside through the JTAG interface.

In the process of updating firmware, the host computer 20 transfers the system control program and the writing control program to the CPU 1 of the microprocessor portion 10 through the JTAG interface 5 . Subsequently, the host computer 20 issues a command to write the transferred programs into the RAM 2 , and sends the CPU 1 a run command to activate the writing control program stored in the RAM 2 . Thus, the host computer 20 can control the CPU 1 to write the system control program stored in the RAM 2 into the flash memory 3 .

Next, this embodiment of the invention will be further explained with reference to the flow chart of FIG. 2 showing the operation of transferring the programs and sending the control command in the system.

When the host computer 20 and the electronic device are connected through the JTAG interface and then transferring the system control program from the host computer is set up, the process in the flow chat goes from Step S 1 to Step S 2 . At Step S 2 , the system control program is transferred from the host computer to the electronic device, and the transferred system control program is loaded into predetermined addresses of the RAM of the electronic device. Then, the process goes to Step S 3 .

At Step S 3 , it is judged whether the system control program has been loaded into the RAM of the electronic device or not. If the system control program has been written, the process will go to Step S 4 . If the system control program has not been written, the process will return to Step S 2 to repeat Step S 2 and Step S 3 so as to keep on writing the system control program into the RAM of the electronic device.

At Step S 4 , the writing control program to perform writing operation that the system control program is loaded into the flash memory of the electronic device is transferred from the host computer to the electronic device. The transferred writing control program is written into predetermined addresses of the RAM of the electronic device. Then, the process goes to Step S 5 .

At Step S 5 , it is judged whether the writing control program has been written into the RAM of the electronic device or not. If the writing control program has been written, the process will go to Step S 6 . If the writing control program has not been written, the process will return to Step S 4 to repeat Step S 4 and Step S 5 so as to keep on writing the writing control program into the RAM of the electronic device.

At Step S 6 , the run command, which causes the writing control program to activate, is sent from the host computer to the electronic device. Then, the process goes to Step S 7 , in which the process of transferring the programs and sending the control command is terminated.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 3

Incidentally, the writing control program may be written into the RAM of the electronic device before the system control program.

In addition, the host computer 20 and the electronic device may be disconnected after the run command is sent to the electronic device.

Further, this embodiment of the invention will be explained with reference to the flow chart of FIG. 3 showing the writing operation in the system.

When the control command is sent from the host computer 20 to the electronic device, the process goes from Step S 11 to Step S 12 . At Step S 12 , the writing control program stored in the RAM is executed from a predetermined address, and contents of the flash memory are erased. Then, the process goes to Step S 13 .

At Step S 13 , in accordance with the execution of the writing control program, the operation to write the system control program stored in the RAM into predetermined addresses of the flash memory starts. Then, the process goes to Step S 14 .

At Step S 14 , it is judged whether a write error in writing into the flash memory has occurred or not. If a write error has occurred in writing into the flash memory, the process will go to Step S 16 . If no write error has occurred in writing into the flash memory, the process will go to Step S 15 .

At Step S 15 , it is judged whether the system control program has been written into the flash memory or not. If the system control program has been written, the process will go to Step S 17 . If the system control program has not been written, the process will return to Step S 13 to repeat Step S 13 to Step S 15 so as to keep on writing the system control program into the flash memory.

At Step S 16 , a write error caused upon writing into the flash memory is displayed. Then, the process goes to Step S 22 , in which the operation of writing the system control program into the flash memory is interrupted, and the writing operation is terminated.

At Step S 17 , the contents of the system control program written into the flash memory are compared with the contents of the system control program stored in the RAM. Then, the process goes to Step S 18 .

At Step S 18 , it is judged whether the contents of the system control program loaded into the flash memory matches the contents of the system control program stored in the RAM or not. If the contents of the programs do not coincide, the process will go to Step S 21 . If the contents of the programs coincide, the process will go to Step S 19 . At Step S 19 , it is judged whether the verification has been completed or not.

If the verification has been done, the process will go to Step S 20 . If the verification has not been done, the process will return to Step S 17 to repeat Step S 17 to Step S 19 so as to keep on verifying the contents of the programs.

At Step S 21 , a verification error retrieved during verifying the system control program loaded into the flash memory is displayed. Then, the process goes to Step S 22 , in which writing the system control program into the flash memory is interrupted, and the writing operation is terminated.

At Step S 20 , when there is neither write error nor verification error in loading the system control program into the flash memory, a normal indication regarding termination is displayed. Then, the process goes to Step S 22 , in which the process of writing the system control program into the flash memory is terminated.

Incidentally, although the write error and/or the verification error during loading into the flash memory were displayed and the writing operation was then interrupted and terminated, the contents of the flash memory may be erased again and the writing operation may be repeated.

As described above, according to the invention, the system control program to be written into the flash memory and the writing control program are temporarily stored in the RAM. The writing control program stored in the RAM is executed so that the system control program stored in the RAM can be written into the flash memory. In addition, when the write error occurs upon writing of the system control program stored in the RAM into the flash memory, the write error can be displayed. Further, when the contents of the system control program written in the flash memory does not match the contents of the system control program stored in the RAM, the verify error can be displayed. Thus, the system control program may not be stored in a ROM.

In the system according to the invention, by the control based on a JTAG system, the system control program to control the electronic device and the writing control program to perform the writing operation are temporarily stored in a random access memory, and the writing control program stored in the random access memory is executed so that the system control program stored in the random access memory is written into the flash memory. When a write error occurs upon writing the system control program into the flash memory, the write error is displayed. Further, when the contents of the system control program written in the flash memory does not match the contents of the system control program stored in the random access memory, a verify error is displayed.

In the system according to the invention, the system control program to control the electronic device and the writing control program to perform the writing operation are temporarily stored, and the stored writing control program is executed so that the system control program is written.

In the system according to the invention, the system control program to control the electronic device is stored in a flash memory.

In the system according to the invention, the system control program to control the electronic device and the writing control program to perform the writing operation are temporarily stored in a random access memory.

In the system according to the invention, the system is controlled by a JTAG system.

In the system according to the invention, when the write error occurs upon writing of the system control program, the write error is displayed.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 3

In the writing system according to the invention, the write error in writing the system control program is displayed on a display unit of the electronic device.

In the system according to the invention, the written system control program is verified, and the verification error is displayed when the contents of the written system control program does not coincide.

In the system according to the invention, the verify error retrieved during verifying the written system control program is displayed on a display unit of the electronic device.

In the manufacturing process, the electronic device can be separated from the host computer. Accordingly, the system control program can be transferred from the first storage unit to the second storage unit while the electronic device is conveyed on a conveyor line. Thus, the manufacturing time can be shortened. That is, according to the invention, the time of the writing step for which it takes about 95 seconds in the related art can be shortened to about 10 seconds. Thus, the conveyor speed in the manufacturing line can be increased on a large scale.

Besides, the present invention is applicable to any home electric appliances as well as a DVD player.

Due to the present invention, since the program is transferred from a RAM with being conveyed on a conveyor belt during the manufacture, it is possible to shorten a manufacturing time.

Claims as granted

15 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

11 codes
IPC · International Patent Classification
Section G — Physics
  • G11C16/10
  • G06F11/00
USPC · US Patent Classification
713/2713/1711/104711/102714/47709/328709/321711/103714/46

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2002Jan 2003Jul 2003Jan 2004Jul 2004Jan 2005USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
2.8 y
1,030 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
B. James Peikari
art unit 2186 · TC 2100
Citations: 9 back · 3 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20022004200620082010201220142016201820202022Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock