Method and apparatus for synchronizing data in a host memory with data in target MCU memory
First Claim
1. A method for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
- data is organized in the Target Memory in a plurality of Target Data Lines,each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits,each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification,each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag,data is organized in the Host Memory in a plurality of Host Data Lines,each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits,each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification,each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag,each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines,said method comprising the steps of;
a) determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein;
the Target Data Line determined to have been modified is a Modified Target Data Line;
b) whenever the Station Controller determines in step (a) that one or more bits of the Target Data Line have been modified, determining whether the corresponding Target Line Dirty Flag is set;
c) whenever the Station Controller determines in step (a) that one or more bits in the Modified Target Data Line have been modified and that the corresponding Target Line Dirty Flag is determined in step (b) not to be set, the following substeps are performed;
1) sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and2) setting the Target Line Dirty Flag corresponding to the Modified Target Data Line;
d) whenever a First Message sent in step (c) is received by the Host Computer, setting a Host Line Dirty Flag corresponding to the Modified Target Data Line;
e) sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set;
f) sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises;
an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, andmeans for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message;
g) clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f);
h) when the Third Message is received by the Host Computer, updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message; and
i) when the Third Message is received by the Host Computer, clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message.
1 Assignment
0 Petitions
Accused Products
Abstract
A copy of data in a Host Computer is synchronized with a version located in Shared Memory in a Modular Development System (MDS). Whenever a change in one or more bits in a Line of Data in Shared Memory are detected, a MDS Line Dirty Flag is checked. If the Flag is not set, it is set and a message is sent to the Host Computer that the Line of Data is now dirty. Whenever the Host Computer receives this message for a Line of Data in its visible memory, it sends a request to the MDS to read that Line from Shared Memory and send it to the Host. Otherwise, a Host Line Dirty Flag is set. The Host Computer also sends a request to read a Line of Data when that Line of Data is scrolled onto a screen and the corresponding Host Line Dirty Flag is set.
-
Citations
21 Claims
-
1. A method for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said method comprising the steps of; a) determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line; b) whenever the Station Controller determines in step (a) that one or more bits of the Target Data Line have been modified, determining whether the corresponding Target Line Dirty Flag is set; c) whenever the Station Controller determines in step (a) that one or more bits in the Modified Target Data Line have been modified and that the corresponding Target Line Dirty Flag is determined in step (b) not to be set, the following substeps are performed; 1) sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) whenever a First Message sent in step (c) is received by the Host Computer, setting a Host Line Dirty Flag corresponding to the Modified Target Data Line; e) sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set; f) sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) when the Third Message is received by the Host Computer, updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message; and i) when the Third Message is received by the Host Computer, clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for real time modification of Target Memory by a Host Computer Debugger executing on a Host Computer with a Host Memory, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said method comprising the steps of; a) determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line; b) whenever the Station Controller determines in step (a) that one or more bits of the Target Data Line have been modified, determining whether the corresponding Target Line Dirty Flag is set; c) whenever the Station Controller determines in step (a) that one or more bits in the Modified Target Data Line have been modified and that the corresponding Target Line Dirty Flag is determined in step (b) not to be set, the following substeps are performed; 1) sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) whenever a First Message sent in step (c) is received by the Host Computer, setting a Host Line Dirty Flag corresponding to the Modified Target Data Line; e) sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set, wherein; the identity of the Host Data Line in the Second Message corresponds to the Modified Target Data Line; f) sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) when the Third Message is received by the Host Computer, updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message; i) when the Third Message is received by the Host Computer, clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message; j) sending a Fourth Message from the Host Computer to the Station Controller that comprises; means for specifying which bits in the Target Memory are to be modified, and one or more Replacement Data Bits to replace the corresponding bits in the Target Memory; and k) when the Fourth Message has been received by the Station Controller, replacing the bits of Target Memory specified in the Fourth Message with the Replacement Data Bits in the Fourth Message. - View Dependent Claims (9)
-
-
10. A method for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, the Target Memory is a dual ported memory shared between the Station Controller and a Target Computer, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said method comprising the steps of; a) determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line, and the Station Controller determines whether one or more bits in the plurality of Target Data Lines has been modified by comparing the Target Memory with a Secondary Copy of the Target Memory; b) whenever the Station Controller determines in step (a) that one or more bits of the Target Data Line have been modified, determining whether the corresponding Target Line Dirty Flag is set; c) whenever the Station Controller determines in step (a) that one or more bits in the Modified Target Data Line have been modified and that the corresponding Target Line Dirty Flag is determined in step (b) not to be set, the following substeps are performed; 1) sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) whenever a First Message sent in step (c) is received by the Host Computer, setting a Host Line Dirty Flag corresponding to the Modified Target Data Line; e) sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set; f) sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) when the Third Message is received by the Host Computer, updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message; and i) when the Third Message is received by the Host Computer, clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message.
-
-
11. An apparatus for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said apparatus comprising of; a) means for determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line; b) means for determining whether the corresponding Target Line Dirty Flag is set whenever element (a) determines that one or more bits in the Modified Target Data Line have been modified; c) means for invoking the following subelements whenever element (a) determines that one or more bits in the Modified Target Data Line have been modified and, element (b) determines that the corresponding Target Line Dirty Flag is not set; 1) means for sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) means for setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) means for setting a Host Line Dirty Flag corresponding to the Modified Target Data Line in response to a receipt of the First Message received by the Host Computer; e) means for sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set; f) means for sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) means for clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) means for updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message in response to a receipt of the Third Message by the Host Computer; and i) means for clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message in response to a receipt of the Third Message by the Host Computer. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for real time modification of Target Memory by a Host Computer Debugger executing on a Host Computer with a Host Memory, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said apparatus comprising of; a) means for determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line; b) means for determining whether the corresponding Target Line Dirty Flag is set whenever element (a) determines that one or more bits in the Modified Target Data Line have been modified; c) means for invoking the following subelements whenever element (a) determines that one or more bits in the Modified Target Data Line have been modified and, element (b) determines that the corresponding Target Line Dirty Flag is not set; 1) means for sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) means for setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) means for setting a Host Line Dirty Flag corresponding to the Modified Target Data Line in response to a receipt of the First Message received by the Host Computer; e) means for sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set, wherein; the identity of the Host Data Line in the Second Message corresponds to the Modified Target Data Line; f) means for sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) means for clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) means for updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message in response to a receipt of the Third Message by the Host Computer; i) means for clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message in response to a receipt of the Third Message by the Host Computer; j) means for sending a Fourth Message from the Host Computer to the Station Controller that comprises; means for specifying which bits in the Target Memory are to be modified, and one or more Replacement Data Bits to replace the corresponding bits in the Target Memory; and k) means for replacing the bits of Target Memory specified in the Fourth Message with the Replacement Data Bits in the Fourth Message in response to the receipt of the Fourth Message by the Station Controller. - View Dependent Claims (19)
-
-
20. An apparatus for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, the Target Memory is a dual ported memory shared between the Station Controller and a Target Computer, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said apparatus comprising; a) means for determining whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line, and Target Data Lines are determined to have been modified by by comparing the Target Memory with a Secondary Copy of the Target Memory; b) means for determining whether the corresponding Target Line Dirty Flag is set whenever element (a) determines that one or more bits of the Target Data Line have been modified; c) means for invoking the following elements whenever element (a) determines that one or more bits in the Modified Target Data Line have been modified and element (b) determines that the corresponding Target Line Dirty Flag are not to be set; 1) means for sending a First Message from the Station Controller to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) means for setting the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) whenever a First Message sent in step (c) is received by the Host Computer, means for setting a Host Line Dirty Flag corresponding to the Modified Target Data Line; e) means for sending a Second Message from the Host Computer to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set; f) means for sending a Third Message from the Station Controller to the Host Computer in response to the Second Message received in step (f), wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) means for clearing the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) means for updating the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message when the Third Message is received by the Host Computer; and i) means for clearing the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message when the Third Message is received by the Host Computer.
-
-
21. An apparatus for synchronizing data in a Target Memory with a copy of that data located in a Host Memory on a Host Computer, wherein:
-
data is organized in the Target Memory in a plurality of Target Data Lines, each one of the plurality of Target Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Target Data Lines is uniquely identified by a corresponding Target means for identification, each of the plurality of Target Data Lines has a corresponding Target Line Dirty Flag, data is organized in the Host Memory in a plurality of Host Data Lines, each one of the plurality of Host Data Lines comprises a corresponding fixed number of bits, each one of the plurality of Host Data Lines is uniquely identified by a corresponding host means for identification, each of the plurality of Host Data Lines has a corresponding Host Line Dirty Flag, each of the plurality of Host Data Lines corresponds to a different one of the plurality of Target Data Lines, said apparatus comprising; a) a Station Controller connected to the Memory programmed to determine whenever one or more bits in one of the plurality of Target Data Lines has been modified, wherein; the Target Data Line determined to have been modified is a Modified Target Data Line; b) the Station Controller programmed to determine whether the corresponding Target Line Dirty Flag is set whenever the Station Controller determines in element (a) that one or more bits of the Target Data Line have been modified; c) the Station Controller programmed to activate the following elements whenever the Station Controller determines in element (a) that one or more bits in the Modified Target Data Line have been modified and that the corresponding Target Line Dirty Flag is determined in element (b) not to be set; 1) the Station Controller programmed to send a First Message to the Host Computer comprising an indication that the Modified Target Data Line has been modified, and 2) the Station Controller programmed to set the Target Line Dirty Flag corresponding to the Modified Target Data Line; d) a Host Computer Processor programmed to set a Host Line Dirty Flag corresponding to the Modified Target Data Line whenever a First Message sent in step (c) is received by the Host Computer; e) the Host Computer Processor programmed to send a Second Message to the Station Controller indicating the identity of a Host Data Line that has its corresponding Host Line Dirty Flag set; f) the Station Controller programmed to send a Third Message to the Host Computer in response to the Second Message received wherein said Third Message comprises; an ordered sequence of bits corresponding to the bits in the Host Data Line requested in the Second Message, and means for identifying the Host Data Line that corresponds to the ordered sequence of bits in the Third Message; g) the Station Controller programmed to clear the Target Line Dirty Flag corresponding to the Target Data Line corresponding to the Host Data Line identified by the Third Message sent in step (f); h) the Host Computer Processor programmed to update the Host Data Line identified by the Third Message with the ordered sequence of bits in the Third Message when the Third Message is received by the Host Computer; and i) the Host Computer Processor programmed to clear the Host Line Dirty Flag corresponding to the Host Data Line identified by the Third Message when the Third Message is received by the Host Computer.
-
Specification