The line on "embedded" has blurred. I'll wax on for a moment for folks who aren't clear on the distinction that's grown up. In the most long-lived sense, "embedded" meant a processor that provided functionality in a non-general purpose device. In this usage, a robot or refrigerator CPU would be embedded while the same hardware running a WIMP desktop system would not. I still consider this usage current.
In the shorter-lived sense, "embedded" referred to low-power, limited functionality processors such as the ARM7/ARM9 CPUs in TFA. These setups often didn't have MMUs, would typically run a very bare-bones RTOS with soft- or hard- realtime support. Remember no MMU means no process isolation. If a task has a stack overrun, it just keeps going into an adjacent task's stack. If a pointer gets corrupted and the software starts writing who-knows-where in RAM, pray it dies early, hard, and reproducibly. The code size, ability to use third-party libraries, etc. were all greatly limited. Very much more the aesthetic of engineering a one-off custom mechanism, albeit in software vs. in the machine shop.
These days, the envelope of "embedded" CPUs has embraced vastly more powerful hardware, while still remaining low power. They have MMUs, they run real Linux (vs. ucLinux or a traditional RTOS) and are much easier to develop for. Think Arduino, Rasberry Pi, and on and on. This has been a huge access revolution for hackers, makers, and anyone who wants to just get down and prototype some ideas.