|WikiProject Computing||(Rated Stub-class)|
I propose merging the two articles embedded software and firmware since these are effectively two terms for the same subject and the first of these two articles in particular seems fairly poorly developed - little more than a stub, and what there is is of questionable reliability. Firmware on the other hand is a more developed, although possibly it does suffer a little from PC emphasis. Since the two terms are effectively synonymous I think it would be better taking what content there is from the embedded software article and including it into the firmware article, leaving a redirect in place in embedded software's place. I suggest that way round since firmware would appear to me to be a more likely search term, although I'm not really bothered which way round the resulting merge goes. CrispMuncher (talk) 13:34, 27 August 2008 (UTC)
- I think they are distinct. Embedded software runs on embedded systems; firmware runs anywhere. Firmware is small by necessity, embedded software can be quite large. --Gribeco (talk) 22:34, 27 August 2008 (UTC)
- The two terms are often used interchangeably. Within the embedded community I've heard any kind of software that's part of an embedded device referred to as "firmware", regardless of how "firm" it actually is. Indeed, if you look up "Firmware" in Mike Barr's Embedded Systems Glossary, you find: firmware n. Executable software that is stored within a ROM. USAGE: This term is interchangeable with embedded software and sometimes is used even when the executable is not stored in ROM. --Allan McInnes (talk) 04:53, 28 August 2008 (UTC)
- Even if the two terms are not entirely synonymous is there enough separation between the two to justify separate articles? It appears to me that even if there is a distinction there is sufficient overlap to that they would be better covered by a single article, with asides if necessary to cover one or the other. Firmware isn't always small - large databases are sometimes ROMmed depending on the nature of the device, and even in a hosted environment most firmware is effectively embedded software providing low level device control (disk controllers, graphics adapters, arguably even large portions of the BIOS). CrispMuncher (talk) 13:10, 28 August 2008 (UTC)
- The two terms are often interchangeably, and there is merit in merging the two articles. However, it should be emphasised that DO-254 deprecates the use of "firmware" - it is either "software" (where DO-178B applies) or "hardware" (DO-254 applies) so if the two are merged, then they should be merged as "embedded software" (IMHO) Andrew D Banks (talk) 07:21, 29 August 2008 (UTC)
- I'm easy either way, but I don't think we should necessarily regard that standard as definitive - although I am unfamiliar with it there are myriad domain-specific standards, many of which contradict others. That the wonderful thing about standards - there are so many to choose from! CrispMuncher (talk) 15:01, 3 September 2008 (UTC)
Sorry the two terms are extremely different; firmware is common between computers, subsystems, devices, and embedded systems, not only related to embedded systems Rijndael (talk) 18:23, 30 October 2008 (UTC)
On "thin client" systems in a library I saw "Windows embedded".
This article is really tricky on the semantic level. In my perception, embedded software runs on a special processor for special taks, presumably without operating system.
My (standard commercial) TV set runs Linux (I know, because the GPL requires SONY to disclose the source code). Naturally I would call the software delivered with my TV "embedded", but that is only because of the "logistics": it is sold together with the TV, I can't change it, and is not delivered on a traditional carrier. But in addition to the operatign system, the processor may be standard too. Eventually one of the benefits of using software controlled processors is that standard hardware may be used for various functions.
Presumably, the TV has one main processor, driving separate "digital signal processors". I am not familiar with that technology, but I presume that nowadays these processors are standardised too, and use some kind of operating system.
In sum, isn't "embedded software" really a non-category with today's technology, except perhaps in the way it is sold, installed and delivered? I once heard teh definition: software for computers that do not look like computers. But than can only be an informal designation.
It seems to me that the distinction between embedded and other software is a non-distinction. It seems more related to the way the software is traded and distributed than to the characteristics of the software itself. Embedded Windows still is Windows, embedded Linux still is Linux. But I got the Linux running in my router and my TV-set when I purchased these devices, and I can't (reasonably) modify that software.
The phrase "software not running on computers" is confusing. In my perception, any programmable processor basically is a computer, and obviously "embedded software" always runs on programmable processors too. I think the only distinction that can be made is whether the device is something people colloquially call a computer. Well, no one would call an automobile a computer, but the distinction between a modern TV set and a computer is minor.
I am aware that historically, "embedded software" was special software in every respect: written for a special task for a special processor (in a special language), often running without an operating system, and for real-time processing. The above examples show that standard operating systems are increasingly used in this realm as well nowadays.
Of course, I don't advocate to drop the "embedded software" concept entirely. But it should be clarified that the distinction with other software is limited, nowadays. Rbakels (talk) 07:05, 23 February 2011 (UTC)