08-01-2013, 03:27 PM
Embedded systems programming
Embedded systems programming.ppt (Size: 1.14 MB / Downloads: 35)
Abstract
This lecture provides a brief overview of what distinguishes embedded systems programming from “ordinary programming.” It then touches upon facilities that become prominent or problems when working “close to the hardware” such as free store use, bit manipulation, and coding standards. Remember: not all computers are little grey boxes hiding under desks in offices.
Embedded systems
Hard real time
Response must occur before the deadline
Soft real time
Response should occur before the deadline most of the time
Often there are plenty of resources to handle the common cases
But crises happen and must be handled
Predictability is key
Correctness is even more important than usual
“correctness” is not an abstract concept
“but I assumed that the hardware worked correctly” is no excuse
Over a long time and over a large range of conditions, it simply does
Do You Need to Know This Stuff
Computer Engineers – You will build and oversee the building of these systems
All “close to he hardware” code resembles this
The concern for correctness and predictability of embedded systems code is simply a more critical form of what we want for all code
Electrical Engineers – You will build and oversee the building of these systems.
You have to work with the computer guys
You have to be able to talk to them
You may have to teach them
You may have to take over for them
Computer scientists – you’ll know to do this or only work on web applications (and the like)
How to live without new
Solution: pre-allocate
Global objects
Allocated at startup time
Sets aside a fixed amount of memory
Stacks
Grow and shrink only at the top
No fragmentation
Constant time operations
Pools of fixed sized objects
We can allocate and deallocate
No fragmentation
Constant time operations