R0E530640MCU00 User’s Manual 5. Debugging Functions
REJ10J1733-0100 Rev.1.00 Apr. 01, 2008
Page 210 of 229
Table 5.44 Limitations to the registers and flags
Register/flag Name Limitations
ISP register When a specified routine has ended, the value of this register must be restored to one that
it had when the specified routine started.
U flag When a specified routine has ended, the value of this flag must always be set to 0.
I flag Interrupts are disabled while a specified routine is executed.
- When a specified routine is executed, the debug functions listed below have no effect.
(a) Trace function
(b) Break-related functions
(c) RAM monitor function
- When a specified routine is executed, non-maskable interrupts are always disabled.
- The table below shows which state the MCU will be in when the user program starts running after a specified routine is
executed.
Table 5.45 MCU Status at start of the user program
MCU Resource Status
MCU general-purpose
registers
These registers are in the state in which they were when the user program last stopped or
the MCU registers that were set in the register window by the user. The register contents
changed after a specified routine is executed are not reflected.
Memory in MCU space Memory accesses attempted after a specified routine is executed are reflected.
MCU peripheral
functions
Operation of the MCU peripheral functions performed after a specified routine is executed
are continued.
5.15.4 Limitations to the Statements written in a Specified Routine
The statements written in a specified routine are subject to the limitations described below.
- If a stack needs to be used in a specified routine, always be sure to use the user stack.
- To terminate the processing of a specified routine, write a return subroutine instruction.
- Make sure that one session of processing performed by a specified routine is terminated within 10 ms. If, for example, the
clock is turned off and kept inactive within a specified routine, then the emulator may become unable to control program
execution.
- The values stored in the registers at the time a specified routine starts running are indeterminate. Be sure that the register
values are initialized within a specified routine.