Field-programmability
   HOME

TheInfoList



OR:

{{References, date=September 2022 An
electronic Electronic may refer to: *Electronics, the science of how to control electric energy in semiconductor * ''Electronics'' (magazine), a defunct American trade journal *Electronic storage, the storage of data using an electronic device *Electronic co ...
device or
embedded system An embedded system is a 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 ''embedded'' as ...
is said to be field-programmable or in-place programmable if its
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide 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 typic ...
, 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 is a camera that captures photographs in digital memory. Most cameras produced today are digital, largely replacing those that capture images on photographic film. Digital cameras are now widely incorporated into mobile device ...
vendor could distribute firmware supporting a new image
file format A file format is a 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 or free. Some file formats ...
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 system. This contrasts with uploading, where data is ''sent to'' a remote ...
a new firmware
image An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
to the camera via a
USB Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad ...
cable.


History

When a device's firmware is stored in
mask ROM Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing so ...
or
one-time programmable A programmable read-only memory (PROM) is a form of digital memory where the contents can be changed once after manufacture of the device. The data is then permanent and cannot be changed. It is one type of read-only memory (ROM). PROMs are used ...
PROM, it cannot be modified without physically replacing the
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
, 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 (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
and
flash memory Flash memory is an electronic 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 the NOR and NAND logic gates. Both us ...
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 ...
s) and there was no standard programming
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technolog ...
; 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 (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
and
flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid ...
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 c ...
s which eliminate the need for high voltages. * Most consumers have access to
personal computer A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
s, which can perform arbitrary programming protocols. * Ubiquitous
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
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 Healthcare, an Indian BPO se ...
provides a convenient means to rapidly distribute firmware images. Standard protocols for programming non-volatile memory devices have emerged. For example, JTAG may be used to read and program the EEPROM and Flash chips in many
consumer electronics Consumer electronics or home electronics are electronic (analog or digital) equipment intended for everyday use, typically in private homes. Consumer electronics include devices used for entertainment, communications and recreation. Usually r ...
devices. Many such devices include
JTAG header JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in electronic design auto ...
s 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 places ...
, even though no external connector is exposed in the finished product.


Programmable logic

The 1980s saw the introduction of
programmable logic A programmable logic device (PLD) is an electronic component used to build reconfigurable digital circuits. Unlike digital logic constructed using discrete logic gates with fixed functions, a PLD has an undefined function at the time of manu ...
devices (PLDs) such as
PALs PALS may refer to: * Patient Advice and Liaison Service * Pediatric Advanced Life Support * Periarteriolar lymphoid sheaths * Portraits of American Life Study * Positron Annihilation Lifetime Spectroscopy * Pouch Attachment Ladder System * Prag ...
,
PLA PLA may refer to: Organizations Politics and military * People's Liberation Army, the armed forces of China and of the ruling Chinese Communist Party * People's Liberation Army (disambiguation) ** Irish National Liberation Army, formerly called ...
s, and CPLDs. These are
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
s which can implement nearly arbitrary
digital logic A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more Binary number, binary inputs that produces a single binary output. Depending on the context, the term may refer to an id ...
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 array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware d ...
s (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 where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
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 MOS integrated circuit chips. They are widely used in audio si ...
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.


Hobbyist opportunities

Many consumer electronic devices (including MP3 players, broadband routers, cell phones, and digital cameras) contain embedded systems based on general-purpose
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
s and microcontrollers. 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 kernel is booted it takes the place of Apple's iPod operating system and automatically loads Podzilla, an alternative GUI ...
and
OpenWrt OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All com ...
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 for the hardware.


See also

*
Firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
* JTAG *
Field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware d ...
(FPGA) *
Field-programmable analog array A field-programmable analog array (FPAA) is an integrated circuit device containing computational analog blocks (CAB) and interconnects between these blocks offering field-programmability. Unlike their digital cousin, the FPGA, the devices tend to ...
(FPAA) - like FPGA but with
analog signals An analog signal or analogue signal (see spelling differences) is any continuous signal representing some other quantity, i.e., ''analogous'' to another quantity. For example, in an analog audio signal, the instantaneous signal voltage varies ...
** Field-programmable radio frequency devices


External links


UsbAudioHowTo
a guide to converting a
wireless router A wireless 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 manufacturer and mode ...
into an
Internet radio Online radio (also web radio, net radio, streaming radio, e-radio, IP radio, Internet radio) is a digital audio service transmitted via the Internet. Broadcasting on the Internet is usually referred to as webcasting since it is not transmitted ...
player, from th
OpenWrt
project Digital electronics