



In the context of installing firmware onto a device, a programmer, device programmer, chip programmer, device burner,: 364 or PROM writer is a device that writes, a.k.a. burns, firmware to a target device's non-volatile memory.: 3
Typically, the target programmable chip is one of the following types: PROM, EPROM, EEPROM, Flash memory, eMMC, MRAM, FeRAM, NVRAM, PLD, PLA, PAL, GAL, CPLD, FPGA, microcontroller.

Generally, a programmer connects to a device in one of two ways.
In some cases, the target device is inserted into a socket (usually ZIF) on the programmer.: 642, pdf15 If the device is not a standard DIP packaging, a plug-in adapter board, which converts the footprint with another socket, is used.: 58
In some cases, a programmer connects to a device via a cable to a connection port on the device. This is sometimes called on-board programming, in-circuit programming, or in-system programming.
Data is transferred from the programmer to the device as signals via connecting pins.
Some devices have a serial interface: 232, pdf3 for receiving data (including JTAG interface).: 642, pdf15 Other devices communicate on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device.: 125
Usually, a programmer is controlled via a connected personal computer through a parallel port,: 364 USB port, or LAN interface.[citation needed] A program on the controlling computer interacts with the programmer to perform operations such as configure install parameters and program the device,: 364 : 430

There are four general types of programmers:


Regarding old PROM programmers, as the many programmable devices have different voltage requirements, every pin driver must be able to apply different voltages in a range of 0–25 Volts.: 651 : 40 But according to the progress of memory device technology, recent flash memory programmers do not need high voltages.
In the early days of computing, booting mechanism was a mechanical device usually consisting of switches and LEDs. It means the programmer was not an equipment but a human, who entered machine codes one by one, by setting the switches in a series of "on" and "off" positions. These positions of switches corresponded to the machine codes, similar to today's assembly language.: 261–262 Nowadays, EEPROMs are used for bootstrapping mechanism as BIOS, without the need to operate mechanical switches for programming.: 45
For each vendor's web site, refer to "External links" section.
PROM programmer PC transfer.
plug-in adapters DIP packaging.
{{cite book}}: Cite uses deprecated parameter |citeseerx= (help)