??? 02/25/08 22:22 Read: times Msg Score: +1 +1 Informative |
#151453 - subject to interpretation ... I guess ... Responding to: ???'s previous message |
Andy Neil said:
You've really missed the point here!
Do you understand the concepts of sets and sub-sets? "firmware" is a subset of "software", but chimpanzee and human are distinct sets. Actually, some folks, including me, think of software and firmware as subsets of "ware" which, however it came into common usage, also includes hardware. The way I learned it, admittedly back in the stone age, when electronics were made from small clean bits of stone ... wait a minute ... they still are! ... was that hardware was the stuff you could easily touch. Software was the stuff contained on some sort of medium, e.g. magnetic tape/disk, etc, and firmware was the stuff that was contained on some "hard" medium, configurable at least once, whether at a factory or in the field. This would suggest that if "it" is in a programmable circuit, whether factory-programmed or field-programmed, it was firmware. If it was on some sort of transferable medium, magnetic, or optical, but readily modifiable, it was software, and if you couldn't change it at all, e.g. the behavior of a resistor, or a latch, it was hardware. Now, not to put too fine a point on things, but the development of FLASH-based everything has blurred the boundaries. Now we program stuff that once was strictly in the domain of hardware, i.e. a PAL or CPLD can easily do what once was the exclusive domain of counters, gates, and latches, and that formerly "firm" program store can be modified in-situ, and even in-application because it's just FLASH content. It's no longer cost-effective to have custom code factory-programmed in hard ROM unless the volume is VERY large. In the context of microcontrollers, where the executable code is contained in some current-generation version of ROM, and external storage media, e.g. floppy or fixed disks are most often not involved, the distinction is unimportant, aside from idle discussion such as this. Most of us don't see software used on microcontrollers, though we use software tools to develop the firmware that most commonly is used with microcontrollers. In this domain, we use software to generate firmware. Another distinction I've seen made is that, if it's "there" before the disks spin up, then it's firmware. IANAB but, AIUI, both chimpanzee and human are subsets of primates. This is a completely different situation
IANAB = I Am Not A Biologist; AIUI = As I Understand It. It's just a semantic difference. If you can change it without device-specific software and hardware, it's probably software. If you can't physically remove it from the circuit, without using a socket or soldering iron, it's probably hardware. If it lives inside a component in the circuit, though it can be modified, even if only once, in some way, no matter how arcane, it's probably firmware. It's not important enough to argue. RE |