As its name suggests, firmware is somewhere between hardware and software, connecting the two worlds. It can mean slightly different things to different people, especially as stand-alone electronic devices become more like computers. Like software, it is a computer program which is run by a microprocessor. But it is also linked to a piece of hardware and has no meaning without it.
A computer can have both firmware and software. The firmware is permanently stored in the computer, such as the BIOS, and cannot be easily changed or added to. Software, even the OS, can be replaced by reformatting the hard drive. Software includes the applications that a person operating a computer sees, like a web browser or a word processor. Sometimes a device driver is called firmware, since it is needed to run that piece of hardware, like a printer or a video card. The device driver is on the main part of the computer and can be easily updated (if an update exists).
Other electronic devices may not look like a computer, but they still have an embedded system such as a microcontroller inside, with a program telling them what to do. This is also firmware. A TV cable box, an elevator controller and a card reader in a hotel door lock all run firmware. In this case, the firmware is the only software on the device and it runs everything, from handling button presses to turning motors on or off.
In the past, firmware was stored in ROMs but now it is often stored in media that can be written to such as EEPROMs and Flash. Firmware in many machines such as routers can now be updated without any special hardware, other than a computer and a USB cable. This is done by downloading a new version from the World Wide Web to update the device, using instructions from the device manufacturer.
An electronic device is said to be "bricked" if it cannot be started because of firmware issues. It is then as useful as a brick. Loading the wrong firmware into a device might cause this. Firmware is stored as a binary image file.
Examples of firmware include:
Tropical Storm Edouard (2008)
Tropical Storm Edouard was a tropical storm that formed in the Gulf of Mexico. A weather system became still in the northeastern Gulf of Mexico in early August. An area of low pressure formed along the shear line early on August 2, which slowly became stronger during the next day. It strengthened into Tropical Depression Five, and was named Tropical Storm Edouard on August 3. The tropical storm moved towards the west on August 4. It moved onto land on August 5 on the upper Texas coast, about 40 miles southwest of Port Arthur and moved west-northwest into inland Texas. Edouard died out over land and became a tropical depression late on August 5. The depression turned to the northwest, causing heavy rain in central Texas on August 6.
In preparations for the storm, emergency teams along the Louisiana and Texas coasts became active. The Governor of Texas, Rick Perry, started a disaster declaration for 17 counties in Texas that were in the possible path of the storm. He also activated around 1,200 National Guard troops, a 70 member rescue team, six helicopters, and a team that brings food and water to affected areas. About 200 buses became ready for use in San Antonio and Houston to help in evacuations. Louisiana Governor Bobby Jindal declared a statewide emergency. In Cameron Parish, Louisiana, the Office of Emergency Preparedness started a mandatory evacuation, and Sheriff's deputies put up roadblocks. In the Gulf of Mexico, the Shell Oil company removed about 40 workers from drilling locations.
Storm surge from the storm reached at Freshwater Locks in Louisiana, and also reached at Rollover Pass in Texas. Heavy rain fell along the upper Texas coast. The highest rainfall in Jefferson county from Edouard was from a site along the East Bay Bayou at Jones and Allen. In the Houston, Texas area, of rain faell at the Baytown Emergency Management Center. In central Texas, a cluster of thunderstorms near the center of the storm on August 6 caused of rain near Hamilton, Texas. The strongest winds of at the caused loss of electric power and a few fallen trees.
Immunity Aware Programming
Immunity aware programming is a set of programming techniques used while writing firmware for an embedded system. It is used mainly to overcome random errors that can occur in the CPU program counter or register set, RAM or any other that can cause failure of the "victim" device. Such random errors may be caused by single event upsets, not enough power, or by strong electromagnetic signals transmitted by some other "source" device.
Most of these techniques apply to the software in the "victim" device to make it more reliable while few of these techniques apply to software in the "source" device to make it send out less unwanted noise. For these reasons Immunity aware programming is one kind of:
Discriminant
In algebra, the discriminant, sometimes represented by the symbol formula_1, is an algebraic expression used to determine the number of roots a polynomial have.
For example, the discriminant of the quadratic polynomial
If the discriminant is larger than zero, then the polynomial has two (distinct) real numbers as roots.
If the discriminant is equal to zero, then the polynomial has two repeating real numbers as roots (i.e., exactly one real root).
If the discriminant is smaller than zero, then the polynomial has two (purely) complex numbers as roots (i.e., zero real root).
Apart for quadratic polynomials, discriminants can be defined for cubic polynomials, general conic equations, and other mathematical entities such as differential equations and quadratic forms as well.
Single event upset
A single event upset (SEU) is a change of state caused by a low-energy ions or electro-magnetic or nuclear radiation or any other kind of interferences that can reach (called ""strike"") a sensitive node in a micro-electronic device, such as in a microprocessor, semiconductor memory, or power transistors. The error in the device output or operation caused as a result of the strike is called a SEU or a soft error. The SEU itself is not considered permanent damage to the transistor's, circuits' or devices'.
Chris Gbandi
Chris Gbandi is a football player. He plays for Haugesund and Liberia national team.
113||0
0||0
113||0
!Total||1||0
Matthew Wolfenden (footballer)
Matthew Wolfenden is a football player. He plays for F.C. United of Manchester. He has also played for Oldham Athletic and Wrexham.
Arthur Wharton
Arthur Wharton is a former english football player.
Hristo Stoichkov
Hristo Stoichkov (born 8 February 1966) is a former Bulgarian football player. He has played for Bulgaria national team.
155||96||||||||||||||155||96
177||83||31||12||colspan="2"|-||48||22||256||117
23||5||2||0||colspan="2"|-||5||2||30||7
5||1||||||||||||||5||1
27||12||1||0||1||1||colspan="2"|-||29||13
72||22||9||4||||||||||81||26
459||219||43||16||1||1||53||24||556||260
!Total||83||37
Sandy Martens
Sandy Martens is a football player. He has played for Belgium national team.
379||99
379||99
!Total||11||3
C. B. Fry
C. B. Fry is a former sportsman. He played Cricket and football for England. He played in an FA Cup Final. Fry held a world record for long jump for many years. He also played Rugby union.
Later in his life, he was a writer and diplomat. He was asked to become king of Albania, but refused it.
!Total||1||0
Egil Olsen
Egil Olsen is a former football player. He has played for Norway national team.
!Total||16||0
Franck Queudrue
Franck Queudrue is a football player. He plays for Birmingham City.
40||2||colspan="2"|-||colspan="2"|-||7||0||47||2
195||12||18||0||12||1||23||0||248||13
235||14||18||0||12||1||30||0||295||15
Craig Bellamy
Craig Bellamy (born 13 July 1979) is a Welsh football player. He plays for Manchester City and Wales national team. He was part of the Great Britain squad at the 2012 Summer Olympics.
297||96||10||3||21||11||40||15||368||126