Download Print this page

Program Control; Resetting The Target; Breakpoints - Intel EV80Cl96KB User Manual

Microcontroller evaluation board

Advertisement

EV80C196KB Microcontroller Evaluation Board User's Manual
PROGRAM CONTROL
Commands which control program execution allow you to reset the processor, set
execution breakpoints, start execution, stop execution, step, and super step. The
commands will be grouped by their major function for the sake of discussion.
Resetting the Target
The processor can be reset by executing the iECM-96 command:
RESET CHIP
This command physically resets the processor by setting the RISM-DATA
register
to OXXXXOOOl and issuing a MONITOR-ESC
RISM command which will cause the
target to perform a RST instruction.
Breakpoints
iECM-96 provides sixteen program execution breakpoints. If a given breakpoint is
inactive it is set to zero, if it is active then it is set to the address of the first byte of an
instruction. Breakpoints set to addresses which are not the first byte of an instruction
will cause unpredictable errors in the execution of the user's code. When execution
is started iECM-96 saves the user code byte at any active breakpoint and substi-
tutes a TRAP instruction for that byte. Executing a TRAP instruction will cause the
iECM-96 to restore the user code bytes where the TRAP instructions were substi-
tuted and then decrement the user's program counter so that it points at the original
instruction.
The user's program will appear to stop execution immediately before
executing the instruction with a breakpoint set on it. All the TRAPS will be removed
from the user's code and the original code restored.
Note: Most monitor programs similar to iECM-96 display a message on the
console when a break occurs (e.g. "Program break at 1234H"). This is not
done in iECM-96 because the system supports concurrent interrogation of the
target which the user's code is running; it is possible (perhaps probable) that
the break will occur while you are in the middle of displaying or modifying the
state of the target. Any special break message would have to interrupt the
execution of the command. Because of this the iECM-96 does not output a
special break message. You have two ways to find out that a break occurred:
I)- The prompt will change from a greater-than 5" to an asterisk ("*").
2). The status of the processor shown in the "control panel" at the top of the console
screen will change from "running" to "stopped".
Commands which set the breakpoint array are:
:l[
cbp-number>
]
BR [ cbp-number>
] = <code-addr>
The square brackets in the latter two commands are part of the command syntax
and must be entered by the user, the angle brackets are part of the "meta" language
used to describe the syntax. Breakpoints can be displayed while your code is run-
ning but they cannot be modified.

Advertisement

loading