@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?
@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.
@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.
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.
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.
@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.
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 discussion will examine what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.