??? 09/05/07 17:37 Modified: 09/05/07 17:38 Read: times |
#144053 - we have been discussing this many times Responding to: ???'s previous message |
Richard Erlacher said:
Given that the ICE manufacturer has little more than, perhaps, a bond-out version of the same MCU to use in his hardware, in order to stay in sync with the target hardware, how does the ICE do anything that a monitor doesn't do? Isn't it simply substituting ICE-local RAM for the target's ROM? The bondout allows the ICE to: - break execution based on direct observation of the internal buses, without need of modifying the target's binary - communicate the internal state to PC independently of code running on target; even the clock may be stopped - log the trace - certainly a couple of other things I forgot about. It's non-intrusive as long as the software is concerned. The main concern is, that it is NOT the real hardware (mcu) to be run on the target; although the ICE-makers do everything thinkable (no wonder - for that money... :-) ) to make it as close to the real one as possible. Then, there are these modern quasi-ICEs, where a debugging hardware (such as breakpoint address compare registers and comparators, independent communication channel ("JTAG" but not necessarily) with extra hardware (e.g. RAM for the stack) hidden to the user) is built into the mcu, so you run what you debug; of course, this hardware has somewhat limited capabilities compared to the "real ICE" (Erik says, it's once in a lifetime one could make use of the extras provided by the "real ICE"). This is in the Cygnal/SiLabs, Ramtron Versas, and a few others. Erik Malund said:
if you have a monitor, your memory map is screwed up and some interrupt is scrtewed up and ... is screwed up. You get what you pay for. A monitor still can prove to be useful for quite a number of things. And, monitors can be extremely flexible and can fit into places where there is no ICE available, for example. JW PS. Erik, this is a FAQ to be written (I know you started but I would like to list all the options with all the + and -). I remember we already started that in a thread maybe a year ago, but I cannot find it... |