@LevitonDave: I suspect that the limit on the number of interrupts that can be pending at any given time is the number of interrupt sources (eg, devices) in your system.
I would think that there would be no limit to tail chaining. If interrupts kept arriving before the stack pop, they would keep being serviced indefinitely.
@PaulN- Can you point us to a good document (maybe ARM Tech Ref Manual is the correct one?) for the fine details on Interrupt timing and functionality?
@PaulN: Thanx for the details. If it is a single cycle for each of the registers you list, the other 4 cycles is for the vector fetch and then the jump to the Interrupt address?
@pauln: That's intriguing. I assume there are conventions governing the use of general-purpose registers R0 - R3 and R12 so that they are not really as general-purpose as the rest?
Thanks Paul - the tail chaining and late arrival were explained in a clear and useful way. The push/pop activities and timing are useful to know. Thanks.
@WarrenM: likely the core does not save any general-purpose registers. The interrupt service routine would be expected to save anything it uses in that case. So the core just saves things that must always be saved, such as the instruction pointer and status register.
Still interested in why Interrupt latency is 12 cycles. Is it basically the number of cycles the state frame needs to be saved, plus the Interrupt Vector fetch? There are 13 General Purpose Registers. Don't they all need to be saved? Wouldn't that be at least 13 cycles?
multiple alarm inputs and system fail detection would make good use of priority interrupts. capturing all, not just the first interrupt is usefull here.
@pauln: why would one want NMI or HardFault to be fixed at a lower priority than reset? This forces all the peripheral interrupts to either compete with NMI and HardFault, or to all be at the lowest priority, eliminating any ability to priorize external interrupt sources.
@pauln: LevitonDave's assertion that SysTick timer shuts down during sleep actions suggests that it can be used for some relative timing operations but is useless for absolute timing such as time of day or even fixed duration delays. Please comment on how to address those other timing needs.
@QUESTION: Paul is probably being very detailed in his explanation. Isn't the NVIC the normal ver=ctor table used since the bigining of times in the start of x86 family?
@danlefluer - age 8 - wow thats great. I fell like I missed my calling since I went into software engineering years ago, but now finding the electronics super interesting and fun. but have not been able to get any interested from prospective employers. I thinking, as you say, the electronic jobs are just getting less and less. I've even been thinking about volunteering to company's just to get some experience.
Have not used ARM, so never used SYSTICK. Usually need to use a timer for that function for other micros. Having a timer/counter optimized for that makes a lot of sense.
When you get to the NVIC I'd like to know how many clock cycles it takes to enter an interrupt Routine (and then how many to return). The CPU is described as 'low latency' but I'm having trouble finding out exactly how many clock cycles it takes...
@jl, sorry, was pulled away. My comment refers to electronics as a hobby isn't what it was before. Every Popular Electronics project was a list of Radio Shack part numbers. Building electronics projects for the fun of it has been replaced with other things for most people.
Not for me though. I'm still strongly interested in electronics and embedded control.
@danlafleur - "electronics has gone away" - was curious about your comment. do you mean you have moved on past electronics, or there is less and less electronics jobs, just curious
The State of Ohio has some VERY long-standing licensing exemptions for "engineers". I would not want to push the issue, and certainly NOT push the politics. Even the Patent and Trademark Office does not understand "software", so I can't expect our legislators to do so.
@Rob Lake. Do you have your license yet? <chuckle>
Is what that should have been. Check out that link later folks and read about licensing. This has been a long time coming and is approaching ion Ontario as well -- through the Trades Council.
@RobLake, I'm happy to see greater interest in embedded processing and firmware. I was quite interested in electronics as a hobby, long before becoming a professional in the field. Electronics has qone away, but experimenting and learning with all of the really affordable embedded processor kits is exciting. lots of open source makes it easy to try some really challenging projects for little cost.
I'm here as Co-Chair of the Firmware Engineers of NE Ohio group. Looking for topics for future meetings here in Northeast Ohio. More into at www.firmwareplanet.com , a parallel effort of the rapidly-growing interest in firmware and embedded systems here.
A new battery design, which replaces lithium with abundant and low-cost elemental sulfur, is still in its nascent stages but shows real promise for giving batteries more energy potential.
PTC will offer a virtual desktop environment for its Creo product design applications, potentially freeing engineers to run them from remote desktops on a variety of operating systems and mobile devices.
The push to achieving more intelligent, integrated manufacturing is putting a strong focus on networking and connectivity as key enabling technologies.
Now that solar and wind harvesting technologies are a thriving market, researchers are seeking other environmentally related energy sources for which they can create harvesting devices.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 5
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This radio show will show what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.