2.21 Differences between the Microcontroller and the Emulator

(1)

Register Initial Value

When the emulator system is initiated, it initializes the general registers and part of the control registers as shown in Table 2.33. The initial values of the microcontroller are undefined.

Table 2.33

Register Initial Values at Emulator Link Up

Register

Emulator at Link Up

R0 (SP)

00000000h

R1 to R15

00000000h

USP

00000000h

ISP

00000000h

PSW

00000000h

PC

Value of the SP in the power-on reset vector table

INTB

00000000h

BPSW

00000000h

FINTV

00000000h

FPSWNote 2

00000100h

ACCNote 1

00000000h

Note 1.

Bits 15 to 0 in the ACC register are always read as 0. Attempts at writing to those bits will be ignored.

Note 2.

The microcontrollers without the FPU do not have the floating point status word (FPSW).

Caution

If register values are changed in the [CPU Register] panel, it is immediately before the user program starts running that the changes are actually reflected in the registers. The same applies when the Debugger.Register.SetValue command is used to change register values. If, after register values are changed in the [CPU Register] panel or with the Debugger.Register.SetValue command, the CPU is reset without executing the user program even once, the changed register values have no effect.

(2)

Low-Power States

When the emulator is used, release from power-down modes can be accomplished by a source for release or by pressing the [STOP] button, causing a break to occur.

(3)

Reset Signals

If, while the user program remains halted, a reset is asserted by means of a pin reset, the reset signal is masked off during a JTAG connection. Note, however, that during a FINE connection, it is not masked and the microcontroller is reset.

Caution

Do not break the user program when the RES#, or WAIT# signal is being low. A TIMEOUT error will occur. If the WAIT# signal is fixed to low during break, a TIMEOUT error will occur at memory access.

(4)

Direct Memory Access Controller (DMAC)

The DMAC operates even during breaks in execution. Therefore, when a data transfer request is generated, the DMAC executes DMA transfer. Also, refer to section 2.22.8 DMAC and DTC.

(5)

Using WDT

Counting by the watchdog timer is suspended during breaks in execution. When execution of the user program is restarted, the counting is also resumed.

(6)

Contention between Clock Generator Circuit-Related Register Modifications and Debug Functions

Do not change the values of clock generator circuit-related registers while the user program is under execution. For details about the clock generator circuit-related registers, refer to the hardware manual for the microcontroller youre using.

(7)

Notes on Maskable Interrupts

-

Even if a user program is not being executed (including when run-time debugging is being performed), timers and other peripherals do not stop running. If a maskable interrupt is requested when the user program is not being executed (including when runtime debugging is being performed), the maskable interrupt request cannot be accepted, because the emulator disables interrupts. The interrupt request is accepted immediately after the user program execution is started.

-

Take note that when the user program is not being executed (including when run-time debugging is being performed), a peripheral I/O interruption is not accepted.

(8)

Transfer of firmware to the FCU RAM

The E1, E20, and EZ emulators transfer firmware to the FCU RAM when their system is started up.