Debugging embedded software can be particularly tricky, not because it’s complicated or involved (although it can be) but because of the environment it runs within. Embedded systems typically run on hardware that is very different from your development environment, with limited performance and facilities, which can make gaining access to the information required for efficient debugging very difficult indeed.
Embedded Debugging Tools
A number of specialized tools have evolved to help:
Emulators and simulators vary in sophistication and the precise details of how they work (some, for example, run the same binary as the target hardware, and others require a slightly different build), but they all have the same goal—allowing ...