HOME

TheInfoList



OR:

An electronic device or
embedded system An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
is said to be field-programmable or in-place programmable if its
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
(stored in
non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typ ...
, such as
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
) can be modified "in the field", without disassembling the device or returning it to its manufacturer. This is often an extremely desirable feature, as it can reduce the cost and turnaround time for replacement of buggy or obsolete firmware. For example, a
digital camera A digital camera, also called a digicam, is a camera that captures photographs in Digital data storage, digital memory. Most cameras produced today are digital, largely replacing those that capture images on photographic film or film stock. Dig ...
vendor could distribute firmware supporting a new image
file format A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
by instructing consumers to
download In computer networks, download means to ''receive'' data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is ''sent to'' a remote ...
a new firmware
image An image or picture is a visual representation. An image can be Two-dimensional space, two-dimensional, such as a drawing, painting, or photograph, or Three-dimensional space, three-dimensional, such as a carving or sculpture. Images may be di ...
to the camera via a
USB Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
cable.


History

When a device's firmware is stored in mask ROM or one-time programmable PROM, it cannot be modified without physically replacing the
integrated circuit An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
, so such a device cannot be field-programmable in the modern sense. Erasable PROM-based firmware can be erased and reprogrammed, but only after lengthy exposure to a high-intensity ultraviolet light source. Thus, field-programmable devices were not practical until the invention of
EEPROM EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip d ...
and
flash memory Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
in the 1980s. Early EEPROMs could only be reprogrammed with expensive, dedicated programmer hardware, since they required high voltages (10-20  V, compared to typical 3-5 V
logic level In digital circuits, a logic level is one of a finite number of states that a digital signal can inhabit. Logic levels are usually represented by the voltage difference between the signal and ground, although other standards exist. The range of ...
s) and there was no standard programming protocol; as a result, field-programming was mostly performed by professional technicians and service engineers. However, as of the early 2000s, many devices were expressly designed to be field-programmed by ordinary consumers. Several developments have made this possible: * Modern
EEPROM EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip d ...
and
flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * The Flash, several DC Comics superheroes with super speed: ** Flash (Jay Garrick) ** Barry Allen ** Wally West, the first Kid Flash and third adult Flash ...
devices contain internal
charge pump A charge pump is a kind of DC-to-DC converter that uses capacitors for energetic charge storage to raise or lower voltage. Charge-pump circuits are capable of high efficiencies, sometimes as high as 90–95%, while being electrically simple ...
s which eliminate the need for high voltages. * Most consumers have access to
personal computer A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
s, which can perform arbitrary programming protocols. * Ubiquitous
Internet The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
access Access may refer to: Companies and organizations * ACCESS (Australia), an Australian youth network * Access (credit card), a former credit card in the United Kingdom * Access Co., a Japanese software company * Access International Advisors, a hed ...
provides a convenient means to rapidly distribute firmware images. Standard protocols for programming non-volatile memory devices have emerged. For example,
JTAG JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs of and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in electronic design ...
may be used to read and program the EEPROM and Flash chips in many
consumer electronics Consumer electronics, also known as home electronics, are electronic devices intended for everyday household use. Consumer electronics include those used for entertainment, Communication, communications, and recreation. Historically, these prod ...
devices. Many such devices include JTAG headers internally for factory programming and
quality control Quality control (QC) is a process by which entities review the quality of all factors involved in production. ISO 9000 defines quality control as "a part of quality management focused on fulfilling quality requirements". This approach plac ...
, even though no external connector is exposed in the finished product.


Programmable logic

The 1980s saw the introduction of programmable logic devices (PLDs) such as PALs, PLAs, and CPLDs. These are
integrated circuit An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
s which can implement nearly arbitrary
digital logic A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for ...
functions based on firmware-like information stored in non-volatile memory. Thus, devices containing PLDs may be considered as field-programmable ''hardware'', while EEPROM and flash memory act as storage for field-programmable ''software''. Field-programmable gate arrays (FPGAs) were invented in 1984, and are the most advanced kind of programmable logic available today. These high-capacity devices may implement extremely complex logic, such as
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s or
digital signal processor A digital signal processor (DSP) is a specialized microprocessor chip, with its architecture optimized for the operational needs of digital signal processing. DSPs are fabricated on metal–oxide–semiconductor (MOS) integrated circuit chips. ...
s. Today, they are a great aid in the development and rapid deployment of digital electronic devices. FPGAs are often used for prototyping hardware designs and
hardware acceleration Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcula ...
.


Hobbyist opportunities

Many consumer electronic devices (including
MP3 player A portable media player (PMP) or digital audio player (DAP) is a portable consumer electronics device capable of storing and playing digital media such as audio, images, and video files. Normally they refer to small, battery-powered devices ...
s, broadband routers,
cell phone A mobile phone or cell phone is a portable telephone that allows users to make and receive calls over a radio frequency link while moving within a designated telephone service area, unlike fixed-location phones ( landline phones). This radio ...
s, and digital cameras) contain embedded systems based on general-purpose
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s and
microcontroller A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s. Most of these devices contain field-programmable components which can be located and accessed by knowledgeable hardware hackers. Field-programming allows hobbyists to replace a device's firmware with new code that can modify or extend its capabilities. Numerous online communities have sprung up around devices found to be particularly conducive to such modification. For example, the
iPodLinux iPodLinux is a μClinux-based Linux distribution designed specifically to run on Apple Inc.'s iPod. When the iPodLinux Linux kernel, kernel is Booting, booted it takes the place of Apple's iPod operating system and automatically loads Podzilla ...
and
OpenWrt OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux kernel, Linux, primarily used on Embedded system, embedded devices to Router (computing), route network traffic. The main components ...
projects have enabled users to run full-featured Linux distributions on their MP3 players and wireless routers, respectively. While hobbyist field-programming is theoretically possible in practically any embedded system today, in practice efforts to modify consumer devices are often hampered by lack of
documentation Documentation is any communicable material that is used to describe, explain or instruct regarding some attributes of an object, system or procedure, such as its parts, assembly, installation, maintenance, and use. As a form of knowledge managem ...
for the hardware.


See also

*
Firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
*
JTAG JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs of and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in electronic design ...
* Field-programmable gate array (FPGA) *
Field-programmable analog array A field-programmable analog array (FPAA) is an Integrated circuit, integrated circuit device containing computational Analog signal, analog blocks (CABs) and interconnects between these blocks offering field-programmability. Unlike their Digital si ...
(FPAA) - like FPGA but with analog signals ** Field-programmable radio frequency devices


References

{{Reflist


External links


UsbAudioHowTo
a guide to converting a
wireless router A wireless router or Wi-Fi router is a device that performs the functions of a router and also includes the functions of a wireless access point. It is used to provide access to the Internet or a private computer network. Depending on the m ...
into an
Internet radio Internet radio, also known as online radio, web radio, net radio, streaming radio, e-radio and IP radio, is a digital audio service transmitted via the Internet. Broadcasting on the Internet is usually referred to as webcasting since it is not ...
player, from th
OpenWrt
project Digital electronics