Embedded Systems Design: An Introduction to Processes, Tools, and Techniques

The ROM emulator contains the following system elements:
Cabling device(s) to match the target system mechanical footprint of the target system ROM devices
Fast RAM to substitute for the ROM in the target system
Local control processor
Communications port(s) to the host
Additional features, such as trace memory and flash programming algorithms
At the minimum, a ROM emulator allows you the luxury of quickly downloading new object code images to run in your target system. An important metric for any developer to consider is the change cycle time. The cycle time is the time duration from the point that you discover a bug with the debugger to going back through the edit compile assemble link download process until you can be debugging again. For a large code image, this can be hours (no kidding!). A ROM emulator with a TBase100 Ethernet channel to the host is an almost ideal method to quickly load large code images into target memory and decrease the cycle time to manageable proportions. Even if your target system uses flash memory, not having to reprogram the flash can be a major time-saver.
A functional block diagram of a typical ROM emulator.
A ROM emulator is really RAM, so you ll have no problem setting breakpoints in memory. Also, breakpoints can be set in two ways. If the debugger has been ported to work with the ROM emulator, the code substitution can be accomplished via the emulator control processor instead of by the target...