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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/21/11 16:57
Read: times


 
#181968 - Cortex NVIC behavior.
Responding to: ???'s previous message
Erik Malund said:
the way I read the documents, what you say is true IF the higher priority interrupted the lower priority, but not if "lower priority interrupt going pending during the higher priority interrupt"


If a lower priority interrupt goes pending during a higher priority interrupt, the execution of the lower priority interrupt starts 6 cycles after the last instruction of the higher priority ISR due to the tail-chaining feature.

interrupt 1 getting out 6 clocks interrupt 2 getting in 12 clocks, no mention if any pf the nmain get done in-between


This is what the tail-chaining feature prevents. It's ISR_1 (6 cycles for tail-chaining) ISR_2, with no cycles for the main program in between. This is different from ARM7 where main would always get at least one cycle once an ISR returns.

However, be aware the the interrupt latency isn't constant. It can actually be less than 12 cycles if a higher priority interrupt becomes pending during the 12 cycles it takes to enter a lower priority interrupt. The CPU recognizes "late-arriving" higher priority interrupts and can enter their ISR instead of the original lower priority ISR.

List of 32 messages in thread
TopicAuthorDate
[ARM] Any good introduction to ARM assembler?            01/01/70 00:00      
   Every experimenters moving to ARM??            01/01/70 00:00      
      Large span of capabilities with same tools etc            01/01/70 00:00      
         Cheaper?            01/01/70 00:00      
            Depends on how to compare            01/01/70 00:00      
               How very true            01/01/70 00:00      
               a caveat            01/01/70 00:00      
                  Picking the right tool for the job.            01/01/70 00:00      
                     sometimes you are not the picker            01/01/70 00:00      
                        Cortex NVIC behavior.            01/01/70 00:00      
                           the way I read it            01/01/70 00:00      
                              A question if registers needs to be saved            01/01/70 00:00      
                              Possible cases:            01/01/70 00:00      
         luckly            01/01/70 00:00      
            Lucky??            01/01/70 00:00      
      don't know about experimenters, but ...            01/01/70 00:00      
         Easier to jump between many architectures now            01/01/70 00:00      
   Have you tried...            01/01/70 00:00      
      Is this a way to say "no"? ;-)            01/01/70 00:00      
         In the absence of a recommendation...            01/01/70 00:00      
   ARM assembly is fairly "plain" ...            01/01/70 00:00      
      RealView            01/01/70 00:00      
      shorter, better...            01/01/70 00:00      
         Just dive right in.            01/01/70 00:00      
            Not trivial either            01/01/70 00:00      
               Valid points, but ...            01/01/70 00:00      
            none, then?            01/01/70 00:00      
   related thread on LPC2000 yahoo group            01/01/70 00:00      
   Erik found something            01/01/70 00:00      
   Re: [ARM] Any good introduction to ARM assembler?            01/01/70 00:00      
   Check this link            01/01/70 00:00      
      Why? How is it relevant?            01/01/70 00:00      

Back to Subject List