Skip to main content

Tool News

RENESAS TOOL NEWS on November 16, 2011: 111116/tn9

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.



End of content

Back To Top