Embedded software is specialized programming in a chip or on firmware in an embedded device to controls its functions.

Hardware makers use embedded software to control the functions of various hardware devices and systems. Embedded software controls device functions in the same way that a computer’s operating system controls the function of software applications. Almost any device can contain embedded software – from those so simple you might not imagine they had computer control, like toasters and light bulbs, to complex tracking systems in missiles.
Embedded software is used to control the limited, set functions of hardware devices and doesn't generally need input; it is not typically worked with directly by users. Its functions are activated by external controls, either external actions of the device itself or remote input. The device may have communication links to other devices for functionality or in case the device needs to be adjusted, calibrated or diagnosed. It is also through these connections that someone might attempt embedded system hacking.

Embedded software varies in complexity as much the devices it is used to control. Although the term is often used interchangeably with firmware, embedded software is often the only computer code running on a piece of hardware, while firmware, in contrast, hands over control to an operating system that in turn launches and controls programs.

Firmware is software that is embedded in a piece of hardware. You can think of firmware simply as "software for hardware."
However, the firmware is not to an interchangeable term for software. See Hardware vs Software vs Firmware: What's the Difference? for more information on their differences.
Devices that you might think of as strictly hardware such as optical drives, a network card, a router, a camera, or a scanner all have software that is programmed into a special memory contained in the hardware itself.