Embedded refers to embedded systems, which involves areas such as microcontroller/DSP firmware programming, real-time systems, electronic interfaces, hardware drivers, serial bus communication etc.
Embedded systems are computer systems which are an internal component of a product (that is, embedded within a product) for a specific, usually limited, purpose which includes control, reconfigurability, or translation. Examples include digital watches, smart thermostats, automotive engine supervision, firewalls, solar panel controllers, PC keyboards, digital billboards, digital cameras, GPS receivers, traffic signal control and MP3 players.
Embedded systems contain a processing core that is either a microprocessor, a microcontroller or a digital signal processor dsp.
The key characteristic is being dedicated to handle a particular task. Since the embedded system is dedicated to specific tasks, its design can be optimized to reduce the size and cost of the product and increase the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale.
The complexity of an embedded system can be any point along several orders of magnitude: from a vehicle counter with 150 bytes of code to an iPad with a sophisticated operating system kernel which manages gigabytes of local information.
Two major aspects of embedded system design and implementation is to reduce power consumption and heat reduction.
Tag usage
Apart from the embeddedtag, also tag your question with a specific development platform, tool chain, and/or target platform. Relevant tags are the specific compiler, specific processor, specific evaluation boards etc. that are used. Avoid using manufacturer tags such as for example microchip as they generally add nothing of value. Instead, specify the microcontroller being used, for example pic18.
This tag is not for questions about embedding media into HTML pages (<embed>
), the #embed
preprocessor directive, embedding visual components in a GUI, or embedding programming languages, databases or other things into web/desktop programs.
Please note that Stack Overflow is a programming site, and therefore questions about embedded systems that are related both to software and hardware will likely get a better reception at Electronics.stackexchange.com, where embedded systems hardware questions always are on-topic. For example, if you have a problem which could either be caused by software or by hardware, it is better to ask it on the electronics site.
Other sites that may also give a better response to specific embedded system questions:
- android.stackexchange.com
- raspberrypi.stackexchange.com
- dsp.stackexchange.com
- robotics.stackexchange.com
- arduino.stackexchange.com
Books
Making Embedded Systems by Elecia White
The 8051 Microcontroller and Embedded Systems: Using Assembly and C by Mazidi
Resources
- Wikipedia overview: including history, manufacture, implementations, debugging, tools, UIs, and architectures.