@David I see your point. TI has embedded analog in some of its chips. Micro- controllers are microprocessers with embedded memory and as others have said here an embedded system is a system with some sort of computer embedded in it. I guess the debate revolves around at what point does the functionality of the computer go beyond just the operating requirements of the system and make it a system with a computer instead of an emebedded computer system.
I always thought of a Embedded System as "a computational system dedicated to a fixed set of functions", where "computational system" is used to separate it from machines (electronic or mechanical), but I am also findind it harder and harder to sustain, as lately am thinking more and more of state machines and programmable logic as controllers for simple functions, due to the evolution level of these. It seems everybody think that a fan or oven must have a 32-bit processor running Linux... Maybe you have to connect your oven to an App Store and run Candy Crush on it.
Seems like the discussion about the definition of hardware and software, where, up to now, the best definition I found was "software is what you blame, hardware is what you kick", but this is also blurring...
That's an excellent point. The embedded computer provides (most of) the functionality for the product, but the product manufacturer would be perfectly happy to use something cheaper to get that functionality. So the fact that the product contains a computer is an implementation detail, not a requirement.
mhrackin AKA "s/n 1" suggested: "embedded systems run firmware, not software."
First, I'm very impressed with 709 and PDP-1.
Now regarding firmware: that's a reasonable distinction for some kinds of embedded systems, such as a mouse MCU which runs a program that will never be replaced. However, "firmware" [*] now includes the contents of a PC's boot ROM [**], and we all agree PCs usually aren't embedded systems. Plus, a complex embedded system such as a data communications box generally has both a boot ROM (firmware) and a download image (somewhere between firmware and software). Since it generally takes quite a few releases before the download image of a complex embedded system gets stable enough to call it "firmware", maybe we should call it "Jelloware".
[*] In my experience, the word "firmware" never really caught on and as such Humpty Dumpty's scornful use of words applies.
[**] Yes, I realize that a PC's boot ROM is usually Flash nowadays. Personally, I like the term "read-mostly memory" (RMM) for non-volatile storage that is writable, but it's so slow that you don't want to do it very often. The term "RMM" never caught on either :-)
I always heard an embedded system described as an object that uses a microprocessor (or microcontroller) but you don't immediately identify it as a computer or even a computing device. Hence, a router is an embedded system just as the IP phone sitting on my desk. A smartphone doesn't qualify since many would identify them as computing devices.
As one whose computer experience goes back to the (vacuum tube) IBM 709 s/n 1 and DEC PDP-1 (also s/n 1), here's my perspective. A really simple version (that few would even understand today)is "embedded systems run firmware, not software." It's a little more high-level view similar to the memory type debate already flogged above. The original "embedded systems" folks were almost exclusively EEs by training, who worked "both sides of the fence" (HW and FW) with equal ease. IMHO, the best still are!
My former employer sold embedded computers that were intended to be programmed by the user, in C or Ladder Logic. The user interfaces were all external, some dedicated and some general purpose HMI. The company only developed and sold one application that ran on the platforms.