03-03-2012, 04:16 PM
Embedded Software Development
Embedded_sof_dev_snt17122010_1.ppt (Size: 1.77 MB / Downloads: 34)
Embedded Software Development Techniques
There are some common principles and techniques that apply to embedded software development- regardless of whether it is with or without OS.
Then there are some techniques that apply specifically to OS based systems on non-OS based systems.
Foreground/Background System
Small, simple systems usually do not have any OS.
“Super Loop” is a popular architecture for implementing embedded systems.
A super loop is a program structure comprised an infinite loop, that calls modules (functions) to perform various actions in the “Background”.
Interrupt services (ISR’s) handle asynchronous events in the “Foreground”.
ISR
Writing an ISR is commonly required for both- with and with out OS applications.
By definition, ISRs are automatically called by hardware when an interrupting event occurs.
That means, an ISR is never called by user program. As a consequence, it can neither accept parameters nor it can return a value.
ISRs must receive their input from global variables and I/O devices.
Definition of OS
An OS is always a most important and most complex piece of software that runs on the computer.
An OS is the software that manages the sharing of resources of a computer.
OS will be part of the embedded software. Hence, embedded software with OS may require more memory and more CPU power (than without OS)
Multitasking
Multitasking is ability to execute more than one task or program at the same time.
It is the process of scheduling and switching of CPU between several tasks.
A single CPU switches its attention between several sequential tasks.
It is like Foreground/Background with multiple backgrounds.
It is also called “Concurrency”.