Field-programmability

Field-programmability

An electronic device or embedded system is said to be field-programmable or in-place programmable if its firmware (stored in non-volatile memory, such as ROM) 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, as of 2007, a digital camera vendor could distribute firmware supporting a new image file format by instructing consumers to download a new firmware image to the camera via a USB 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, so such a device cannot be field-programmable in the modern sense. EPROM-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 and flash memory 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 levels) 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 and flash devices contain internal charge pumps which eliminate the need for high voltages.
* Most consumers have access to personal computers, which can perform arbitrary programming protocols.
* Ubiquitous Internet access 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 devices. Many such devices include JTAG headers internally for factory programming and quality control, 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 circuits which can implement nearly arbitrary digital logic 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 as of 2007. These high-capacity devices may implement extremely complex logic, such as microprocessors or digital signal processors. Today, they are a great aid in the development and rapid deployment of digital electronic devices.

Hobbyist opportunities

As of 2007, many consumer electronic devices (including MP3 players, broadband routers, cell phones, and digital cameras) contain embedded systems based on general-purpose microprocessors 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 and OpenWRT 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
* JTAG
* FPGA

External links

* [http://wiki.openwrt.org/UsbAudioHowto UsbAudioHowTo] : a guide to converting a wireless router into an Internet radio player, from the [http://www.openwrt.org OpenWRT] project


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Mask ROM — Computer memory types Volatile RAM DRAM (e.g., DDR SDRAM) SRAM In development T RAM Z RAM TTRAM Historical Delay line memory Selectron tube Williams tube Non volatile …   Wikipedia

  • Read Only Memory — The notion of read only data can also refer to file system permissions. Read only memory (usually known by its acronym, ROM) is a class of storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified …   Wikipedia

  • Computer — For other uses, see Computer (disambiguation). Computer technology redirects here. For the company, see Computer Technology Limited. Computer …   Wikipedia

  • History of computing hardware — Computing hardware is a platform for information processing (block diagram) The history of computing hardware is the record of the ongoing effort to make computer hardware faster, cheaper, and capable of storing more data. Computing hardware… …   Wikipedia

  • GPGPU — General purpose computing on graphics processing units (GPGPU, also referred to as GPGP and to a lesser extent GP²) is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in… …   Wikipedia

  • Embedded system — Picture of the internals of an ADSL modem/router. A modern example of an embedded system. Labelled parts include a microprocessor (4), RAM (6), and flash memory (7). An embedded system is a computer system designed to do one or a few dedicated… …   Wikipedia

  • Naval mine — Polish wz. 08/39 contact mine. The protuberances around the top of the mine, called Hertz horns, are part of the detonation mechanism …   Wikipedia

  • computer — computerlike, adj. /keuhm pyooh teuhr/, n. 1. Also called processor. an electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations. Cf. analog… …   Universalium

  • ГОСТ Р ИСО/МЭК 19762-4-2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 4. Общие термины в области радиосвязи — Терминология ГОСТ Р ИСО/МЭК 19762 4 2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 4. Общие термины в области радиосвязи оригинал документа: ALOHA [ALOHA slotted]:… …   Словарь-справочник терминов нормативно-технической документации

  • Konrad Zuse — Infobox Scientist name = Konrad Zuse |200px image width = 200px caption = Konrad Zuse in 1992 birth date = June 22, 1910 birth place = Berlin, German Empire death date = December 18, 1995 (Aged 85) death place = Hünfeld, Germany residence =… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”