Gumstix® FAQ
What is an embedded system?
It’s a computer system contained in something whose primary purpose is NOT to be a general purpose computer. Appliances such as a microwave oven, or a DVD player are not considered computers, but might contain an embedded system that manages the user interface and controls the hardware. Embedded systems typically have very limited resources relative to a general purpose computer. Very complex embedded systems, such as contained in a smart phone, enter a gray area with their ability to selectively download and run user selected apps.
What is embedded software?
Software that runs on embedded systems. An embedded software application is a program that runs on an embedded system, and is often the only program the embedded system ever runs. A typical embedded system will have a single application that starts when the system is started (turned on) and runs until the system is stopped (turned off).
What is an embedded operating system?
Just as the operating system in a general purpose computer (such as Windows on a PC) provides the environment the applications run in, an embedded operating system (such as OpenEmbedded Linux) provides the environment for embedded software applications, performing management of resources, scheduling of tasks, control of I/O, and access to an array of utility services.
Why is embedded software development different from developing a PC application?
- Target system has resources that are finite, and often extremely limited.
- Usually involves cross-development, where the application is compiled on a general purpose computer, then the application executable is transferred to the target system.
- Applications generally rely more on low level programming than use of APIs provided by the operating system.
- Limited debugging capability.
- May have hard timing constraints.
