Skip to main content
Knowledgebase
Home
Renesas Electronics Europe - Knowledgebase

Debugging is interrupted with Communication Timeout Error

Last Updated:10/11/2017

Question:

During debugging processing, I got an error message: [Communication Timeout Error], and the debugging processing has terminated.

Answer:

The E8a/E8/E7 emulators use a part of the MCU resources, RAM/ROM and communication ports, to perform debugging. Therefore, firmware for the emulator does not perform normally when these resources is being used for user program, and generates the error.
(E8a/E8/E7 does not use any resources of RAM/ROM in some microcomputers case.)

The followings are the trouble shooting examples. In addition to the examples, please refer to manuals for each device and check MCU-dependent restrictions.

Common restrictions on all microcomputers:

  • User program using the RAM address reserved for the emulator:
    Check and adjust linker options by referring to the MAP file to make sure the user program does not use the emulator-dedicated RAM area.
    Also take care when including RAM area initialization and other operations in the user program.
    Note that some MCUs do not allow use of the RAM area for the user program.

  • Overwrite of RAM area for emulator due to user program runaway:
    When this occurs, go to the Debug Menu and select [Initialize] to perform “Initialization” or “Disconnect and Connect.”

  • MCU product name selected at startup differs with actual target MCU:
    The emulator may startup and execute the user program even if the selected product or group name does not match the target MCU.
    However, an error may occur during a break.
    Therefore, always confirm that the product and group name selected at startup matches that of the actual MCU in use.

  • The external oscillator or resonator is not oscillating:
    Some MCUs operate with the on-chip (internal) oscillator by default.
    When using such MCUs, the emulator will startup even though the external oscillator or resonator is not oscillating, but the MCU will stop when the user program switches to external oscillation operations, and an error will occur. 
    Confirm that the external oscillator or resonator is oscillating properly.
    Also confirm whether the MCU has a feedback resistor.

MCU-dependent restrictions

Restrictions on R8C family, M16C/Tiny and M16C/60 series:

The R8C1x series (excluding R8C/14~17), the R8C/2x series, and the M16C family (excluding M16C/50 series and M16C/63, /64A, /65, /6C groups) use the UART1 function for communication between the emulator and MCU during debugging. Therefore, using the UART1 function within the user program will generate a Communication Timeout Error. Emulator restrictions include the use of the UART1 function. In addition, because some MCUs use ports for control operations, do not use ports to control the user program.

Ex.) E8 emulator for M16C/62P uses the following ports.
7-4 bit of Port 6 register
7-4 bit of Port 6 direction register

A sample Startup program of the C compiler M3T-NC30WA, ‘ ncrt0.a30’ is set to use a standard I/O function 'init function', and this default setting gets the UART1 initialized. Please disable the initialization processing for the standard input/output function according to the following steps.

  1. Comment out a calling section of an init function of the sample Startup program 'ncrt0.a30'.
    ; .glb _init
    ; jsr _init

     

  2. Disable the calling section of the init function

    (a) In case of HEW
    Please do not check the check box for “Use Standard I/O Library”which is displayed when you start the wizard for a new project, "New Project-3/6-Setting the contents of Files to be Generated".

    (b) In case of HEW -After project creation-
    Please disable an assembler option -D__STANDARD_IO__=1
    1. Click [option]>>[Renesas M16C Standard Toolchain] from the menu.
    2. Renesas M16C Standard Toolchain dialog box opens.
    3. Double-click at Assembly.
    4. Select ‘Source’ for Category and ‘Defines’ for Show entries for.
    5. Clear a check in the check box for [-D__STANDARD_IO__=1] Enable initialization for standard &I/O library.
    6. Click OK.

    (c) Compile on DOS windows -do not use HEW-
    Please do not use an assembler option “D__STANDARD_IO__=1”.
    Init function has precautionary statement for use. Please refer to this Tool news for information on init function.

Additionally, the OFS register for R8C family (except R8C/10 and R8C/11) is allotted to address FFFF, so the WDT invokes automatically after rest when the value of the 0 bit in the OFS register is set to 0.
If you don't use the WDT, make a program so that the 0 bit in the OFS register is set to 1.
Refer to the FAQ 107340 about the OFS register.
In case the OFS register is set as invoking the WDT automatically even if you do not use the WDT, the interruption or rest of WDT occurs, and the program does not run correctly. As a result of this, the communication timeout may occur.

Restriction on M16C Family:

When operating in the memory extension mode, the RDY or HOLD pin is fixed so that wait or hold is enabled.
->>Make sure the RDY or HOLD pin is fixed so that wait or hold is disabled according to the MCU specifications.

The SFR reserved bits are set incorrectly. 
->>The correct value is specified in H/W manual must be set to the reserved bit.

Restriction on R8C/3x (excluding 3xD), R8C/Lx, R8C/Mx series:

  • After the frequency of the high-speed on-chip oscillator is changed, if the program enters the stop mode (see note below) before communication between E1/E20 and the target has stabilized, a communication error occurs.
     
    1. Workaround using debug function
      After changing the high-speed on-chip oscillator frequency, set a break in the user program just before entering the stop mode, then execute again. To use a break after execution, set a break point so the command that sends the program to the stop mode is not executed.
    2. Workaround using a program
      After changing the high-speed on-chip oscillator frequency, insert a period of 2 seconds or more before entering the stop mode.

    Note: For R8C/3x series (excluding R8C/3xD), this also applies to the wait mode. For R8C/Lx series, this also applies to the wait mode and power off 2 mode.

Restrictions on H8/300H Super Low Power series and H8/300L Super Low Power series:

  • SCI4 is in module standby mode.
    ->>Deactivate module standby mode for the SCI4.
    SCI4 is a serial to use for communication between an emulator and a microcomputer.
  • Embedded flash memory is in module standby mode.
    ->>Deactivate module standby mode for the embedded flash memory.

Suitable Products

E8a
E8
E7