
ICE Emulator for 8051
10
©1989-2019 Lauterbach GmbH
8051
CPU Internal
Memory
Externally
Ref: 0010
Can I map the CPU internal memory externally?
No, not recommended.
The CPU internal programm area must be mapped internally because this
memory is an on-chip memory. If the 8051 is in microcontroller mode (EA=1),
the program area can never be substituted with a memory on the target. The
CPU internal data area can not be mapped externally as well, because there is
no access to the internal address and data bus in any case.
But what is the difference between memory which is mapped internally or
externally? Only off-chip memory (program or/and data area) can be mapped
internally (within the emulator provided emulation memory) or mapped
externally (to the user provided memory on the target, external the emulator).
8051
Differences
Bond-out vs.
non Bond-out
Ref: 0008
What is the difference between a bond-out and a non bond-out emulator?
A bond-out chip provides a lot of additional signals and features which simplify
the control of a CPU, like the user program stop, entry to the user program and
exit from the user program. Basically however, the bond-out chip provides the
addresses, data and the control lines of a CPU internal program area (EPROM,
PROM, EE_PROM, FLASH_ROM). As an option, all internal peripherals and
interrupt sources can be stopped while the user program has been stopped.
Additional registers contain information about pending interrupts etc. Some
bond-out chips are "Combi-CPUs" which can emulate more than a derivative of
the 8051 family.
A non bond-out emulator uses the original chip, which is readily available their
local distributor. There are no additional lines and information available about
the internal memory area and there is no direct way to stop internal peripherials
or to prevent internal interrupt requests during an user program stop. Special
workarounds (provided by the emulator) cater for nearly the same comfort as a
bond-out solution. Please bear mind that the program area must be external
(EA=0).
Conclusion: If you use a 8051 derivative in microcontroller mode (EA=1) and
have not got program memory on the target, then you must choose the bond-out
solution. This solution supports both methods of operation EA=0 and EA=1. In
the other case, if you use only the microprocessor mode (EA=0) with EPROM
on the target, you may choose the non bond-out version.
8051
Reset while
Real Time
Program
Execution
Ref: 0064
What can cause error messages while real time program execution, if the
RESET line is activated or released?
There is a difference in behavior of the original CPU and the emulator. The
emulator does not have a Schmitt-Trigger input like the CPU has. In case of
problems, it is recommended to check the RESET line: Are there spikes, heavy
noise or is the falling or rising slope of RESET slower than 10 us.