Claims
- 1. A method for operating a device, comprising:
executing at least one set of a firmware code for operation of said device; performing a modification to said operation of said device, said modification to said operation comprising:
receiving a patch code; creating a firmware trap; generating an interrupt in response to said firmware trap; and executing said patch code in response to said interrupt.
- 2. The method of claim 1, wherein executing at least one set of a firmware code for operation of said device further comprises executing at least one set of a firmware code for operation of an implantable medical device.
- 3. The method of claim 2, wherein executing at least one set of a firmware code for operation of an implantable medical device further comprises executing said set of firmware code from a read only memory device (ROM).
- 4. The method of claim 1, wherein performing a modification to said operation of said device further comprises performing an upgrade to said firmware.
- 5. The method of claim 1, wherein performing a modification to said operation of said device further comprises performing a patchwork correction to said firmware.
- 6. The method of claim 1, wherein performing a modification to said operation of said device further comprises adding at least one new function to said operation of said device.
- 7. The method of claim 1, wherein receiving a patch code further comprises storing said patch code in a non-volatile memory location with said device.
- 8. The method of claim 1, wherein creating a firmware trap further comprises monitoring said execution of said firmware to determine a match of a program counter.
- 9. The method of claim 1, wherein creating a firmware trap further comprises monitoring said execution of said firmware to check for a predetermined event.
- 10. The method of claim 1, wherein creating a firmware trap further comprises flagging a predetermined location in a memory location within said device.
- 11. The method of claim 1, wherein generating an interrupt in response to said firmware trap further comprises generating a non-maskable interrupt.
- 12. The method of claim 1, wherein generating an interrupt in response to said firmware trap further comprises moving said patch code from a non-volatile memory to a random access memory (RAM).
- 13. The method of claim 12, wherein executing said patch code further comprises executing said patch code stored in said random access memory (RAM).
- 14. The method of claim 1, further comprising returning to said executing of said firmware code in response to executing said patch code.
- 15. A method, comprising:
controlling an implantable medical device using a controller using a pre-emptive real-time operating system (RTOS) having a scheduling mechanism, said controller having a firmware architecture allowing; executing at least one set of a firmware code for operation of said performing a modification to said operation of said implantable medical device, said modification to said operation comprising:
receiving a patch code; creating a firmware trap; generating an interrupt in response to said firmware trap; and executing said patch code in response to said interrupt.
- 16. The method of claim 15, wherein receiving a patch code further comprises storing said patch code in a non-volatile memory location with said device.
- 17. The method of claim 15, wherein creating a firmware trap further comprises monitoring said execution of said firmware to determine a match of a program counter.
- 18. The method of claim 15, wherein creating a firmware trap further comprises monitoring said execution of said firmware to check for a predetermined event.
- 19. The method of claim 15, wherein creating a firmware trap further comprises flagging a predetermined location in a memory location within said device.
- 20. The method of claim 15, wherein generating an interrupt in response to said firmware trap further comprises generating a non-maskable interrupt.
- 21. The method of claim 15, wherein generating an interrupt in response to said firmware trap further comprises moving said patch code from a non-volatile memory to a random access memory (RAM).
- 22. The method of claim 21, wherein executing said patch code further comprises executing said patch code stored in said random access memory (RAM).
- 23. An apparatus, comprising:
a controller for executing at least one set of a firmware code; and a hardware/firmware trap unit operatively coupled with said controller, said hardware/firmware trap to provide a firmware trap for interrupting normal execution of said firmware code and executing a patch code in response to said hardware/firmware trap.
- 24. The apparatus of claim 23, further comprising a random access memory (RAM), a read-only memory (ROM), and a non-volatile memory.
- 25. The apparatus of claim 23, wherein said non-volatile memory is at least one of a programmable read only memory (PROM), a electrically erasable programmable read only memory (EEPROM), and a flash memory.
- 26. The apparatus of claim 24, wherein said controller, said hardware/firmware trap unit, said random access memory (RAM), said read-only memory (ROM), and said non-volatile memory being integrated into an implantable medical device.
- 27. The apparatus of claim 26, wherein said controller comprises a central processing unit (CPU).
- 28. The apparatus of claim 25, wherein said CPU to execute firmware code stored in said read-only memory (ROM).
- 29. The apparatus of claim 25, further comprising said patch code downloaded into said apparatus from a programming unit, said programming unit to operatively couple with said apparatus in a remote fashion.
- 30. The apparatus of claim 29, further comprising said patch code is transferred from said non-volatile memory to said RAM for execution by said CPU.
- 31. The apparatus of claim 29, wherein said hardware/firmware trap unit to create a firmware trap by matching a program counter relating to said execution of said firmware to a predetermine value.
- 32. The apparatus of claim 23, wherein said hardware/firmware trap unit to create a firmware trap by monitoring said execution of said firmware to determine an occurrence of a predetermined event.
- 33. The apparatus of claim 23, wherein said hardware/firmware trap unit to create a firmware trap by setting a flag in a memory locating in said apparatus.
- 34. The apparatus of claim 23, wherein said hardware/firmware trap unit to generate a non-maskable interrupt to interrupting said CPU from performing execution of said firmware to said execution of said patch code.
- 35. An apparatus, for operating a device, comprising:
means for executing at least one set of a firmware code for operation of said device; means for performing a modification to said operation of said device, said means for performing modification to said operation comprising:
means for receiving a patch code; means for creating a firmware trap; means for generating an interrupt in response to said firmware trap; and means for executing said patch code in response to said interrupt.
- 36. A computer readable program storage device encoded with instructions that, when executed by a computer, performs a method for operating a device, comprising:
executing at least one set of a firmware code for operation of said device; performing a modification to said operation of said device, said modification to said operation comprising:
receiving a patch code; creating a firmware trap; generating an interrupt in response to said firmware trap; and executing said patch code in response to said interrupt.
- 37. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein executing at least one set of a firmware code for operation of said device further comprises executing at least one set of a firmware code for operation of an implantable medical device.
- 38. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 2, wherein executing at least one set of a firmware code for operation of an implantable medical device further comprises executing said set of firmware code from a read only memory device (ROM).
- 39. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein performing a modification to said operation of said device further comprises performing a patchwork correction to said firmware.
- 40. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein creating a firmware trap further comprises monitoring said execution of said firmware to determine a match of a program counter.
- 41. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein creating a firmware trap further comprises monitoring said execution of said firmware to check for a predetermined event.
- 42. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein creating a firmware trap further comprises flagging a predetermined location in a memory location within said device.
- 43. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, wherein generating an interrupt in response to said firmware trap further comprises moving said patch code from a non-volatile memory to a random access memory (RAM).
- 44. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 12, wherein executing said patch code further comprises executing said patch code stored in said random access memory (RAM).
- 45. The computer readable program storage device encoded with instructions that, when executed by a computer, performs the method of claim 1, further comprising returning to said executing of said firmware code in response to executing said patch code.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No.
[0002]09/755,425 filed on Jan. 5, 2001.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09755425 |
Jan 2001 |
US |
Child |
09953414 |
Sep 2001 |
US |