The present invention relates to an over the air programming system and method of using the same. More specifically, the present invention relates to a method of programming computer code at a remote platform.
Over the air programming (OTAP) systems for communicating information to a remote or mobile device or vehicle are known in the art. Often times the mobile device has a local computer that receives wireless over the air communication from a home device. The local computer specifically contains a microcontroller, memory systems and the like in order to provide various functions for a user. Specifically, the local computer has a plurality of applications, systems, programs, or the like that provide different operating modes and functions of the local computer for a user.
In the art when an application, system, program or the like needs to be updated the home device sends a signal to the remote device providing the local computer with a plurality of computer code packets that comprise a computer code to update a system, program, application, or the like in the local computer. Presently, in the art when the computer code is received the local computer reboots, and during the rebooting process, checks the integrity of the code in order to determine whether the update is proper.
Though effective at updating the local computer this process can be time consuming. Specifically, because the program must be analyzed and checked to determine whether the integrity of the code is proper during the rebooting process, a user has to wait for the checking of the integrity of the code before being able to continue the operation of the local computer. This delay in time cannot only be annoying to a user but additionally is inefficient.
Thus, a principal object of the present invention is to provide an efficient manner in updating a computer.
Yet another object of the present invention is to provide a method that maximizes the time for operator use even when a computer is being updated.
These and other objects, features, or advantages of the present invention will become apparent from the specification and claims.
A method for programming computer code at a remote platform having local computer, the local computer including a flash memory. The method includes receiving a plurality of computer code packets wherein the computer code packets are provided by wireless transmission. The next step involves storing the plurality of code packets in an alternate area of flash memory of the local computer wherein the plurality of computer code packets comprise a computer code. The local computer then recognizes the reception of the complete copy of the computer code and checks the integrity of the received computer code before the rebooting process. In response to checking the integrity of the computer code a boot address of the local computer is changed such that at the convenience of a user the local computer may be rebooted after the boot address is changed. Once the local computer is rebooted the computer restarts with the alternate computer code wherein there is not a need to check the integrity of the computer code during the rebooting process.
The local computer 18 as best shown in
Thus, at block 48 the integrity of a new code is checked before rebooting the local computer 18 and they software 34 allows a user to continue to operate the local computer 18 even as the integrity of the program is being checked. at block 48. Thus, the integrity of the new program, or code, does not have to be checked during the rebooting process.
Therefore, at block 50 a decision is made whether the new computer code is correct and if not, the software 34 notifies the local computer 18 of an invalid file transfer at block 52. However, if the new computer code is correct the software 34 sets the alternate program at block 54. Once the alternate program is ready at block 54 the software 34 notifies the local computer 18 of the successful transfer at block 56 and normal operation at block 36 continues as a computer user additionally continues operation of the local computer 18. At this time decision 38 regarding whether to boot to the alternate program 26 command is provided and because an alternate program is ready at block 54, at block 58 the software 34 can determine whether the alternate program is ready. If not, at block 50 the local computer 18 is notified whereas if the alternate program is ready at block 58 the software 34 reassigns or changes the boot address of the local computer 18 and reboots the local computer 18 at block 62. During the rebooting process the local computer 18 restarts with the alternate computer code such that the update is provided.
Because the software 34 is able to determine the integrity of the computer code received during the operation of the local computer 18 the step of checking the integrity of the program does not have to be taken during the rebooting process thus minimizing the rebooting time. Similarly, this maximizes the efficiency of a user as the checking of the integrity of the program can be done simultaneously during user operation. Thus, at the very least all of the stated objectives have been met.
It will be appreciated by those skilled in the art that other various modifications could be made to the device without the parting from the spirit in scope of this invention. All such modifications and changes fall within the scope of the claims and are intended to be covered thereby.
This application is a continuation of U.S. patent application Ser. No. 11/776,678 filed Jul. 12, 2007.
Number | Date | Country | |
---|---|---|---|
Parent | 11776678 | Jul 2007 | US |
Child | 14942366 | US |