Method and system for emulating microcontrollers
First Claim
1. A method for emulating a target microcontroller that is configured to execute program code that is stored in an internal program memory only, the target microcontroller having a data IO port that is configured to provide a transfer of user data to and from the target microcontroller, the method comprising the steps of:
- providing an adapted microcontroller that is configured to execute the program code in lieu of the target microcontroller, the adapted microcontroller being substantially equivalent to the target microcontroller, including an IO port corresponding to the data IO port of the target microcontroller;
providing the program code to the adapted microcontroller from an external source; and
synchronizing the adapted microcontroller according to a predefined machine cycle having a plurality of machine states;
wherein the adapted microcontroller is adapted to contain an internal multiplexer at the IO port that is configured to output a program address in a first machine state of the machine cycle for external evaluation of the program address, input program code corresponding to the program address during a subsequent machine state, and transfer the user data during an other machine state, thereby allowing an emulation of the target microcontroller without requiring additional signal access pins on the adapted microcontroller.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for emulating a non-bond-out version of a microcontroller that has a standard port, a microcontroller allowing such emulating, and a system for executing the emulation. For emulating a non-bond-out version of a microcontroller, a standard port is used to multiplex among user data and program store addresses. An external register is connected to the port for latching therein program store addresses. The microcontroller is synchronized according to a machine cycle that has a plurality of states, each of which comprises at least two clock pulses. The standard port is used for outputting mutually exclusive parts of a program store address in contiguous sections of a machine state of external parallel evaluation.
-
Citations
9 Claims
-
1. A method for emulating a target microcontroller that is configured to execute program code that is stored in an internal program memory only, the target microcontroller having a data IO port that is configured to provide a transfer of user data to and from the target microcontroller, the method comprising the steps of:
-
providing an adapted microcontroller that is configured to execute the program code in lieu of the target microcontroller, the adapted microcontroller being substantially equivalent to the target microcontroller, including an IO port corresponding to the data IO port of the target microcontroller;
providing the program code to the adapted microcontroller from an external source; and
synchronizing the adapted microcontroller according to a predefined machine cycle having a plurality of machine states;
wherein the adapted microcontroller is adapted to contain an internal multiplexer at the IO port that is configured to output a program address in a first machine state of the machine cycle for external evaluation of the program address, input program code corresponding to the program address during a subsequent machine state, and transfer the user data during an other machine state, thereby allowing an emulation of the target microcontroller without requiring additional signal access pins on the adapted microcontroller. - View Dependent Claims (2, 3, 4, 5, 6, 7)
inputting, via the first synchronizing crystal pin of the microcontroller, a synchronizer drive input signal;
providing, via the second synchronizing crystal pin of the microcontroller, an external synchronization signal, thereby facilitating synchronizing the adapted microcontroller; and
reconstructing externally to the adapted microcontroller all necessary state timing signals based on the synchronizer drive input signal and the external synchronization signal.
-
-
3. The method as claimed in claim 1, further comprising the step of communicating selective control signals to the adapted microcontroller via the IO port in an additional machine state of the machine cycle.
-
4. The method as claimed in claim 3, wherein the additional machine state at which the control signals are communicated is divided into a plurality of sections for communicating in each such section respective different control signals.
-
5. The method as claimed in claim 4, wherein at least one section of the additional machine state is used for one or more control signals in either direction.
-
6. The method as claimed in claim 1, wherein a like-formatted sub-cycle within each machine cycle is repeated at least twice, and wherein each such sub-cycle has a plurality of sections and two correspondingly positioned sections of respective sub-cycles within a particular cycle are used for transferring the user data in mutually opposite directions.
-
7. The method as claimed in claim 1, further comprising the step of reconstructing externally all necessary early state timing signals.
-
8. An emulation system for emulating a target microcontroller that is configured to execute program code that is stored in an internal program memory only, the target microcontroller having a data IO port that is configured to provide a transfer of user data to and from the target microcontroller comprising:
-
an adapted microcontroller that is configured to execute the program code in lieu of the target microcontroller, the adapted microcontroller being substantially equivalent to the target microcontroller, including an IO port that corresponds to the data IO port of the target microcontroller, and is adapted to contain an internal multiplexer at the IO port that is configured to output a program address in a first machine state of a plurality of machine states in a predefined machine cycle for external evaluation of the program address, input program code corresponding to the program address during a subsequent machine state, and transfer the user data during an other machine state, thereby allowing an emulation of the target microcontroller without requiring additional signal access pins on the adapted microcontroller;
an emulation device that is configured to receive the program address from the adapted microcontroller and to provide thereafter the program code corresponding to the program address; and
means for synchronizing the adapted microcontroller according to the predefined machine cycle.
-
-
9. An emulation microcontroller for emulating a target microcontroller that is configured to execute program code that is stored in an internal program memory only, the target microcontroller having a data IO port that is configured to provide a transfer of user data to and from the target microcontroller,
the emulation microcontroller being configured to execute external program code in lieu of the internal program code of the target microcontroller, the emulation microcontroller being substantially equivalent to the target microcontroller, the emulation microcontroller comprising: -
an IO port corresponding to the data IO port of the target microcontroller; and
an internal multiplexer at the IO port that is configured to output a program address in a first machine state of a plurality of machine states in a predefined machine cycle for external evaluation of the program address, input program code corresponding to the program address during a subsequent machine state, and transfer the user data during an other machine state;
thereby allowing an emulation of the target microcontroller without requiring additional signal access pins on the adapted microcontroller relative to the target microcontroller.
-
Specification