New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Talk:Firmware - Wikipedia, the free encyclopedia

Talk:Firmware

From Wikipedia, the free encyclopedia

Can someone explain to me what is meant by "A hardware configuration is usually used to represent the software." The line doesn't really make sense to me.

Who knows. Maybe it was in fact meant the other way round: a hardware configuration is represented by data contained in the firmware (which is software).
Makes sense to me. A 'hardware configuration' (as in some physical construct) is used to represent software, a form of information. ex. the hardware configuration is the flash chip and the software is the firmware it contains.

Much firmware is contained in ROMs. Many ROMs have a physical wire per bit, connected to the Hi or Lo power lines. The configuration of a particular wire -- whether it is connected to Hi or Lo -- represents a 1 or 0 bit. (The Core rope memory also represented bits by physical location of a wire). The data can be (and in some cases has been) read off with a microscope, by looking at which way the wires go. Most other software is represented by magnetized spots on hard drives or voltage levels in RAM -- but such data cannot be detected by a microscope. Perhaps that is what the original poster meant ?--DavidCary 09:11, 25 Jun 2005 (UTC)

Contents

[edit] Picture is wrong ?

"A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications"

Assembler is horribly misplaced. Assembler is _an application_ which produces executable programs (by reading, parsing and converting human-readable source assembler program into machine code). So in this picture assembler sits among applications.
If picture author meant "assembler CODE", then it is also misplased (should be removed altogether) - ALL machine code can be called "assembler code" in a broad sense in the term (as opposed to "high-level languages"). Computer cannot execute anything else. Firmware is machine code. Kernel is machine code. OS is machine code. Etc... The difference is that firmware is commonly writted _directly_ in assembler language, whereas most of the kernel, OS, and apps is written in C, er, high-level languages, and then compiled into assembler (optionally) and then into machine code.

[edit] where did the name "firmware" come from ?

Does the name "firmware" imply that it's "harder" than regular software but not as "hard" as hardware? Since it's sorta inbetween - software that's built right into the hardware?... Just curious - thought maybe there should be something about how it got it's name...

I believe so. Supposedly firmware is somewhere in between hardware and software where the distinction between them is unclear.

Doesn't the link to 'Embedded Systems' when referring to the embedded nature of the firmware seem erroneous? The reference is embedded as in contained not as in an embedded computer system.

[edit] can anyone give me some insight as to copyrights within the firmware?

As firmware is a generic term used to encapsulate a concept, the copyright in any particular firmware is variable and decoding it will be a matter specific to that firmware.

Huh?

I am not a lawyer, but my understanding is that from a legal perspective, firmware is no different than any other kind of software. See software license and software copyright. From a hardware perspective, ROMs often include a copyright statement indicating the company that produced it and the year it was produced. --DavidCary 09:11, 25 Jun 2005 (UTC)

[edit] External links

[edit] Firmware is not only software

The first line reads: "In computing, firmware is software that is embedded in a hardware device" But these days, firmware can contain a configuration for an FPGA chip in the embedded device. It could also contain other configuration information. FPGA configuration data could potentially be > 1MB, hence a significant part of the firmware. This configuration is definitely not considered software. We could change the first line to: "In computing, firmware is software or configuration information that is embedded in a hardware device" Then add an item to the examples section about FPGAs.

[edit] Wikifi'd

I wikified the page as you guys asked. I probably did a horrible job, though- Sorry if I did it wrong. 68.64.175.222 18:18, 23 March 2006 (UTC)

[edit] Can we remove the "Assembler" and "Kernel" from the diagram ??

Assembler is a form of expressing CPU instructions, not a layer in itself. Kernel is an operating system core. It would make more sense, if Assembler is struck, and kernel is replaced by Device Drivers, followed by Operating system (or Kernel if "we" want to stick with that term), followed by Applications.

Aki Korhonen 17:05, 7 November 2006 (UTC)

In Tanenbaum 79 a layer is formalized as a Virtual Machine (VMi) for the above levels and that exposes for them a set of resources by a language Li.--BMF81 22:49, 8 November 2006 (UTC)

I understand. However, after dealing with these distinctions for 20+ years, I can say that mixing these concepts makes it difficult for others to follow. Assembler is not really the name of a language, but rather a higher-level abstraction, that is compiled to create the underlying machine language instructions, similar to (but with less abstraction capabilities than) C, C++, Pascal, etc. ... In fact, all of these languages produce machine language instructions, and are executed similarly in the same environment. And last but not least, firmware is often written with a multitude of tools, including higher level languages such as C.
Because of these confusing elements I have found it to be far easier to explain the layered architecture based on functional responsibility in a system. Thus firmware is squeezed between hardware and device drivers, and so on. It is a separate implementation-specific discussion as to what types of interfaces these layers provide, how they are accessed, and what types of tools are used for such access. Aki Korhonen 06:21, 9 November 2006 (UTC)
FWIW, on the HP 4101, SOME of the firmware resides on the hard drive. So using the location of firmware as part of the definition may need updating (or deletion).

LorenzoB 04:50, 21 December 2006 (UTC)

[edit] Firmware vs BIOS

According to this page, a BIOS is a type of firmware, however, there is some evidence to the contrary. In particular, the Nintendo DS has both; BIOSes built into the CPUs and firmware stored on a flash ROM chip. There are a few key differences on the DS:

  • BIOS is memory-mapped, while firmware must be copied serially from the flash ROM chip into memory.
  • BIOS is read-only, built right into the CPU core, while firmware is on a rewriteable flash ROM.
  • BIOS executes immediately at power-on and serves only to load the firmware into memory, initialize hardware, and contains some useful routines that programs can call. Firmware is responsible for displaying the startup menu and applications built into the system (Pictochat and DS Download Play).

I can see the logic in saying a PC BIOS is firmware, since it does the initialization and useful routines as well as displaying the boot menus. Perhaps a small note is needed, that while PC BIOSes double as firmware, not all BIOSes do? 142.59.173.240 04:17, 17 March 2007 (UTC)

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu