8051 In Circuit Emulator

The 8051 microcontroller is a good general purpose controller for small single chip applications, however it is difficult to develop code for the single-chip configuration because you can only run code from the internal ROM in this case. A "normal" development environment requires you to put the chip into external bus mode, which forfeits more than 1/2 of the I/O pins and several I/O ports.

This device uses a Dallas DS2250 microprocessor which is a member of the 8051 family that has on-board battery backed up RAM, and programmable control of the mapping of that RAM between the 8051s CODE and DATA address spaces. With a small resident kernal, you can download code to this device and perform debug functions such as single-stepping, breakpoints, examine and modify memory all without sacrificing the I/O facilities normally available only in single chip mode.

Software for this device provides for three methods of debugging:

In-Circuit Debugging

Operating as a normal PC hosted debugger, this downloads the code into the target system and controls it via the resident kernel. All of the usual debug options associated with a resident monitor/kernel are available.

In-Circuit Simulation

Here the code actually runs on a high-speed 8051 simulator on the PC, however I/O accesses are directed to the target module so that physical I/O occurs on the target system. There are some limitations, however it also provides additional debug features available with a simulator, such as a 4096 instruction traceback buffer and the ability to incorporate simlated devices into the debugging session.

Raw Execution

Normally used in the final stages of testing, the application code is downloaded into the device without a debug kernal, and runs exactly as it would from the internal ROM of a standard 8051.


Contact Information

Copyright 2013 Dave Dunfield.