Embedded systems, usually designed for executing the dedicated task, are found in the wide range of devices, such as consumer electronics (mp3 players, videogame consoles, kitchen appliances), medical equipment (very promising area), transportation systems (GPS devices, traffic lights systems, the car industry), industrial electronics, etc. The development of the embedded systems requires parallel design of hardware and software part.
Wide range of user interfaces is used in embedded systems – from simple usage of buttons to more complex menus displayed using LCDs. CPU platform is usually either microprocessor or microcontroller with additional peripherals on the chip. Low volume systems are build upon PC/104 boards, while high volume systems utilize SoC configuration. Development of the software for embedded systems assumes the use of standard tools like compilers, assemblers and debuggers. In the debugging process, due to the nature of embedded systems, usage of specific tools is required, like in circuit debuggers or JTAG interface.