Hi all, As it is clear from my subject, I wonder what is the difference between Monitor-166 från Keil software and an ICE. If I understand right both can be used for target debugging if so when to prefer one than the other? regards /M
I dunno about 166, but the uVision manual for C51 contains this information.
Basically, a Monitor (such as Monitor-166) is a piece of software which runs on your target; therefore, any debugging activities require your application to stop, and the Monitor then uses the hardware resources of your target to perform the debugging functions. Usually, a Monitor cannot perform software tracing, nor data breakpoints. A Monitor implements software (execution) breakpoints by replacing opcodes with a "trap" instruction - this can't be done if the code is in ROM! An ICE (In-Circuit Emulator) is a hardware device which replaces your processor - it Emulates it. It has hardware which allows it to: * Trace execution flow; * Watch the data & address busses (and possibly other signals) and set breakpoints without the need to patch the code; and often many other features. A kind of halfway house - between Monitor and ICE - is the on-chip hardware debug unit controlled via a JTAG interface; sometimes known as Background Debug Mode (BDM) This usually gives you the breakpoint facilities of an ICE, but not (necessarily) the tracing and other advaned features.