Tool News
 
 
 

Tool News

Products Info
Downloads
Tools FAQs
RENESAS TOOL NEWS on November 16, 2005: RSO-E7-051116D

A Note on Using the Emulator Software Packages
for the E8 and E7 Emulators

Please take note of the following problem in using the emulator software packages for the on-chip debugging emulators E8 and E7:
  • On loading object files written in the IEEE695 format


  1. Products and Versions Concerned
    • Emulator software V.1.00 Release 00 through V.2.04 Release 00 for the E8 emulator
    • Emulator software V.2.0.01 through V.3.00 Release 00 for the E7 emulator


  2. Description
    When object files written in the IEEE695 format are loaded into the E8 or E7 emulator, and inline functions in these files are stepped over by the emulator, the High-performance Embedded Workshop may be shut down abnormally.


  3. Conditions
    This problem occurs if the following conditions are all satisfied:
    1. The E8 or E7 emulator debugger included with the product concerned is used to develop programs for any member of the R8C/Tiny, M16C/Tiny, M16C/62P, and M32C/80 series of MCUs.
      Note, however, that the R8C M16C M32C simulator debugger included with the product concerned is not involved in this problem.

    2. The source code contains the descriptions concerning to all of the following items:
      (1)   An inline function is defined in the header file; or a static function is defined in the header file and the compile option -Ostatic_to_inline (-OSTI) is selected.
      (2)   The header file in (1) is included.
      (3)   A call is made to the inline or static function in (1).
      (4)   The call in (3) is controlled by an if statement.
      (5)   The if statement in (4) has no else statement.
      (6)   The if statement in (4) ends after the call in (3).


    3.1  
    Example
    samp.h
    ----------------------------------------------------------------
     /* Condition 2-(1) */
    inline void sub(void)
    {
        l = 100;
    }
    ----------------------------------------------------------------
    sample.c
    ----------------------------------------------------------------
    #include "samp.h"    /* Condition 2-(2) */
    
    long l;
    
    void func(void)
    {
        if (l == 1) {   /* Condition 2-(4) */
            sub();      /* Condition 2-(3) */
        }               /* Conditions 2-(5) and -(6) */
    }
    ----------------------------------------------------------------

  4. Workaround
    Use a usual function instead of an inline function; or after making a call to an inline function within an if or for block, place a dummy source code such as an assignment expression.


  5. Schedule of Fixing the Problem
    We plan to fix this problem in the next release of the product.





© 2008. Renesas Technology Corp., All rights reserved. Privacy | Legal