This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

difference between Monitor-166 and ICE

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

Parents
  • 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.

Reply
  • 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.

Children
No data