Embedded systems are computer systems that combine hardware and software components to solve a specific task within a larger system or device. Unlike general-purpose computers, they are heavily specialized and optimized to perform only one task but do it really well.
They are everywhere around us, but we rarely notice them. You can find them in virtually every home appliance or gadget, such as a microwave oven, TV set, network-attached storage, or smart thermostat. Your car contains several interconnected embedded systems that handle brakes, fuel injection, and infotainment.
In this chapter, we are going to deal with the following topics on embedded systems:
- Exploring embedded systems
- Working with limited resources
- Looking at performance implications
- Working with different architectures
- Working with hardware errors
- Using C++ for embedded development
- Deploying software remotely
- Running software remotely
- Logging and diagnostics