Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/05/07 18:40
Read: times


 
#144054 - Ave you ever looked at a "bondout" version?
Responding to: ???'s previous message
Jan Waclawek said:
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

How, exactly, would you guess that they do that? What kind of technology would they use to operate fast enough, yet stay in sync with a target system?

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

Certainly JTAG is utterly incapable of "real-time" anything, since a typical MCU can execute several instructions within one bit-time on the JTAG cable.

Erik Malund said:
if you have a monitor, your memory map is screwed up and some interrupt is screwed 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...



Have you ever looked inside an ICE ... a "real" one, with a bondout chip? Have you ever looked at the datasheet for a bondout chip, e.g. the one from Winbond? How do you suppose they do anything at all in real time (meaning at the rate at which the target operates) when emulating on a "real" core?

I've used ICE's and I've used monitors. In the early days of microprocessors, the ICE appeared to be useful. Once I learned how to use a debug monitor, the ice was gathering dust. Mainly, of course, the hardware is in the way. If I insert an MCU that has a monitor on board into a system, I can examine everything that might be malfunctioning. That's my first requirement. If I use a monitor that lives outside the memory range of the target, then the monitor doesn't foul up any of the address space. That situation is, of course, a mite harder to create, but it is common enough. I've acquired a few ICE's for different MCU's. I've never learned to like them, though. ICE's must be useful for something, but I've never made myself dependent on them. Under a non-Windows OS, if an ICE could communicate enough information fast enough, it might be possible for a PC to be helpful. I can't recommend waiting for that day, though.

RE



List of 35 messages in thread
TopicAuthorDate
What are your favorite debugging tools?            01/01/70 00:00      
   The Brains            01/01/70 00:00      
      The brain is a valuable tool, but ...            01/01/70 00:00      
         Hardware issues with LPC chips            01/01/70 00:00      
            but they do have self-rewriteable FLASH...            01/01/70 00:00      
               That isn't much of a help in debugging            01/01/70 00:00      
                  why?            01/01/70 00:00      
                     CAUTION!            01/01/70 00:00      
                        trace in monitor            01/01/70 00:00      
                           but how do you generate the interrupt?            01/01/70 00:00      
                              trace, limited resources            01/01/70 00:00      
                                 We're in different situations, I suppose.            01/01/70 00:00      
                                    tracing and simple stepping...            01/01/70 00:00      
                                       no good            01/01/70 00:00      
                                          this is where you lose me ...            01/01/70 00:00      
                                             simple, you do not know it is there            01/01/70 00:00      
                                                we have been discussing this many times            01/01/70 00:00      
                                                   Ave you ever looked at a "bondout" version?            01/01/70 00:00      
                                                      for a plain static code breakpoint...            01/01/70 00:00      
                                                      I do not know, and neither care, but they do!            01/01/70 00:00      
      %$#@! double-post ... sorry!            01/01/70 00:00      
   Selection of tools            01/01/70 00:00      
      Crash Barrier E5            01/01/70 00:00      
         LPT revisited            01/01/70 00:00      
            Dongle            01/01/70 00:00      
   printf()            01/01/70 00:00      
   my absolute favorite and an answer            01/01/70 00:00      
      yes, but is it really worth the money?            01/01/70 00:00      
         I know of no ICE that uses .lst files            01/01/70 00:00      
            now you know            01/01/70 00:00      
               try phrasing it differently            01/01/70 00:00      
   Will call Acqura            01/01/70 00:00      
      metalink            01/01/70 00:00      
         Yes, I have used it many times            01/01/70 00:00      
   an extra port pin and some serial out code            01/01/70 00:00      

Back to Subject List