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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/04/07 20:12
Read: times


 
#144026 - tracing and simple stepping...
Responding to: ???'s previous message
... is "biblical" stuff. See 80C51_FAM_HARDWARE_1.pdf page 18, chapter Single-Step Operation.

If an interrupt is pending when reti is executed, the '51 always executes exactly one instruction before branching to the ISR again.

So, the trick is, to write the whole monitor as an ISR (quite naturally the serial ISR as the UART is usually given up for the monitor's communication), and keep the interrupt flag set when doing reti. That makes the single step, and trace is only a repetition of these.

In this setup you can run a monitor even without any self-writable code space, but you won't have breakpoints during full speed run. For that, you need the writable code space (and this, as there is no single-byte jump/trap/sw interrupt/whatever instruction, it has those "rewriting the neighbours" pitfalls).

JW


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