Tool News
RENESAS TOOL NEWS on November 16, 2011: 111116/tn9
When using E8a Emulator Software, take note of the following problem:
| Note on Using E8a Emulator Software |
|---|
When using E8a Emulator Software, take note of the following problem:
- With H8S/Tiny series MCU's data transfer controller (DTC) that is invoked during single-step execution or program break
1. Description
Suppose that you are debugging a system designed with an MCU of the
H8S/Tiny series. If the data transfer controller (DTC) is invoked
while the program is executed in single stepping or halted at a break
point, the program counter (PC) may point to an incorrect instruction
depending on the timing when the DTC is invoked:
(1) If DTC is invoked while the program is executed in single
stepping or halted at a break point except software break ones,
the following symptoms appear:
1. After single-step execution or during a break, the program
counter (PC) points to the next instruction but several to
the one by which the program has been executed in single
stepping or halted at a break point.
2. After single-step execution or during a break, the PC points to
the beginning of an interrupt function.
Even though interrupts are disabled in the E8a emulator during
single-step execution, any interrupt request is acknowledged,
and the program jumps to an interrupt function.
In either case, the program has properly been executed up to
the value of the PC displayed in the Source window or the Register
window.
(2) If DTC is invoked while the program is halted at a software break
point, the following symptom may appear in addition to items (1)-1
and (1)-2:
When the program is re-executed, the first instruction to be
executed is not done.
So, do not use software break points when the DTC is operating.
2. Workaround
This problem arises when an event for invoking the DTC is established
during a break. So make no event established which invokes the DTC by
using the Start/Stop function.
Example:
When the DTC is invoked by a timer interrupt, stop the timer's
counting within the Stop function; then restart it within the
Start function.
Note, however, that this method cannot be applied to the peripheral
functions (for example, IRQ) for which the program can make no event
established which invokes the DTC.
3. Schedule of Fixing Problem
We have no plan to fix this problem.
