Patent ID: 8090916
Filing Date: 2012-01-03
Classification: G06F,G11C

Abstract:
1. An apparatus for in-circuit programming of an integrated circuit, comprising: a single non-volatile memory device comprising non-volatile memory cells on the integrated circuit that store instructions for execution by a microprocessor, the single non-volatile memory device containing in-circuit programming code for programming the single non-volatile memory device and user code for facilitating communication with an external device, wherein the in-circuit programming code can be reprogrammable and stored in a predetermined location of the single non-volatile memory device, and the user code can be stored in a location of the single non-volatile memory device that is different from the predetermined location; a microprocessor configured to input instruction addresses to the single non-volatile memory device and to receive instructions from the single non-volatile memory device; and a delegable memory controller operatively coupled between the microprocessor and the single non-volatile memory device, the delegable memory controller being configured to receive an in-circuit program update command and to perform an in-circuit programming update function on the non-volatile memory cells of the single non-volatile memory device, whereby the microprocessor is relieved of performing the in-circuit programming update function; wherein the single non-volatile memory device, the microprocessor, and the delegable memory controller are on a same single chip; wherein the microprocessor is configured to enter an idle mode while the delegable memory controller performs the in-circuit programming update function, thereby avoiding input/output ports conflict.