- Make sure you select the [Program Flash] mode on programming.
Download a program after selecting the [Program Flash] in the Emulator mode tab of the [Emulator Setting] dialog box which is displayed by starting up the E8a Debugger(*) to verify the performance of the program with disconnecting the E8a from the target board on use of a R8C, M16C or 740 MCU family.
A user program does not perform correctly on an actual MCU when selecting except the [Program Flash] mode, because the firmware for controlling the emulator along with the user program is over-written on a part of the user program.
Additionally if you check the [Execute the user program after ending the debugger] on when selecting the [Program Flash] mode, you can verify the performance of an actual MCU without disconnecting the E8a from the target board.
(*)Example: when selecting [Debug] -> [Connect] from the High-performance Embedded Workshop menu and so on.
- Make sure the reset pin on a user system is set correctly.
Make sure the reset pin on a user system is fixed low, and set its low level to be released according to specifications of MCUs.
When connected to E8a, the E8a controls the reset pin of the user system. For example, even if a pin is fixed to L by a pull-down resistor, the program may still operate.
- Make sure a WDT(watchdog timer) is set correctly.
If a WDT reset occurs during program execution with an E8a, the E8a cannot control MCUs. Because of that, an E8a sets to refresh a WDT in arbitrary timing. (This behavior differs by MCUs)
Thereby, if you do not set a WDT correctly in a user program when you are verifying a performance on an actual MCU, the user program may not perform correctly because the WDT reset occurs. Review the setting of a WDT.
- Make sure a stack pointer is initialized in a user program
E8a debuggers initialize a stack pointer when you are debugging with an E8a.
A user program does not perform correctly on an actual MCU, if the stack pointer is not initialized in the user program.
Initialize a stack pointer in a user program for sure.
- For the M16/5M Group, make sure the PACR (Pin Assignment Control Register: PACR2, PACR1 and PCAR0) is set in the user program.
Confirm that PACR is set in the user program. This register is initialized as follows when the E8a is connected.PACR2PACR1PACR0
64-pin / 80-pin version000 100-pin version100
Therefore, when using the 100-pin versions without setting the PACR register in the user program, the MCU may run correctly when E8a is connected to the target board, but not when the MCU is operating independently.
Set the PACR register in the user program as follows, according to the MCU in use.PACR2PACR1PACR0
64-pin version010 80-pin version011 100-pin version100
- For the M16C Family, make sure the 40 MHz on-chip oscillator start bit (FRA00) is set.
Although the 40 MHz on-chip oscillator start bit (FRA00) is set to “off” as default, when debugging with E8a, the oscillator will start even if the user program does not set the FRA00 bit to "on" .
Accordingly, you do need to set the FRA00 bit in the user’s program for a stand-alone MCU evaluation when using a peripheral function which 40MHz on-chip oscillator is configured as the clock source.