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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/14/05 04:27
Read: times


 
#89607 - ISRs with Own Register Banks.
Responding to: ???'s previous message
Nick:
Are any of your ISRs calling subroutines? Are the subroutines called also from other places?

Have you looked to see if the timer SFRs are not getting trounced on by some rogue code elsewhere that effectivly stops them or keeps them from getting reset properly for the next interrupt? Make sure to check all the timer specific control bits including the interrupt masks and enable bits.

Do you "accidently" have a stack imbalence problem wherein the RETI from the Timer ISR is somehow being missed under some oddball combination of interrupt latencies and overlaps?

Do you have global variables used in the ISRs that are also accessed in the mainline code or in other ISRs that have concurrency problems? (Ie one is being accessed while another access has left say an INT value half updated).

Do you have any SFR accesses going on that may have concurrency issues wherein the same SFRs may be accessed for read/writes/modifies by main line code and in ISRs?

Is a power cycle necessary to recover the supposedly "hung" timer interrupt?

Can you recover the hang via a simple pulse of the reset pin without having to recycle power?

Have you handled the WDT reset in a correct manner? Is there something wierd going on with that? I have had unexpected WDT activity bite my butt more times than I like to admit.

Any of these types of problems can require an ambitious effort to evaluate and make sure that it is not the source of a problem. It is easy to say that "the software is right" but hard to prove that it "IS Right" !!

Michael Karas


List of 38 messages in thread
TopicAuthorDate
DS5250 Lockup in ISR's With Priority            01/01/70 00:00      
   Update:            01/01/70 00:00      
      Software Bug            01/01/70 00:00      
      using what            01/01/70 00:00      
         register banks            01/01/70 00:00      
            Shared Data Problem            01/01/70 00:00      
            What stops?            01/01/70 00:00      
               timer isr stops            01/01/70 00:00      
                  Hunting down the ghost            01/01/70 00:00      
   Using different banks            01/01/70 00:00      
      Can't be            01/01/70 00:00      
         stack            01/01/70 00:00      
            more on ISRs            01/01/70 00:00      
         DS5240 has a 1k stack.            01/01/70 00:00      
            but are you using it            01/01/70 00:00      
               Stack            01/01/70 00:00      
   ISRs with Own Register Banks.            01/01/70 00:00      
      Good Questions on ISR's            01/01/70 00:00      
         Shared Data            01/01/70 00:00      
         Not a given            01/01/70 00:00      
            Variable in isr            01/01/70 00:00      
               Sometimes true            01/01/70 00:00      
                  Atomic Operations            01/01/70 00:00      
                     re explosive bytes            01/01/70 00:00      
                        Common Solutions            01/01/70 00:00      
                           Stop's the timer            01/01/70 00:00      
                              Code            01/01/70 00:00      
                        Explosions everywhere            01/01/70 00:00      
                           atomic explosions            01/01/70 00:00      
                              Unreal Time Explosions            01/01/70 00:00      
               Look at the ASM            01/01/70 00:00      
         I have had a very similar problem            01/01/70 00:00      
      ASM instructions & USING            01/01/70 00:00      
         Please do tell us....            01/01/70 00:00      
            Do I really have to?            01/01/70 00:00      
            Brian, Michael            01/01/70 00:00      
               ASM instructions & USING            01/01/70 00:00      
         probably not the case here            01/01/70 00:00      

Back to Subject List