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.
View all questions in Keil forum