ArticleslgStudy

engineering

Programmer (hardware)

Programmer (hardware) is a engineering topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Programmer (hardware) rather than just read about it. In short: In the context of installing firmware onto a device, a programmer, device programmer, chip programmer, device burner, or PROM writer is a device that writes, a.k.a. burns, firmware to a target device's non-volatile memory. 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.

Programmer (hardware) — main illustration
Programmer (hardware) — illustration

Key takeaways

  • Programmer (hardware) belongs to engineering; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Programmer (hardware) to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Programmer (hardware) from memory before moving on to harder problems.

Reference excerpt

In the context of installing firmware onto a device, a programmer, device programmer, chip programmer, device burner, or PROM writer is a device that writes, a.k.a. burns, firmware to a target device's non-volatile memory. 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.

Connection

Generally, a programmer connects to a device in one of two ways.

Insertion In some cases, the target device is inserted into a socket (usually ZIF) on the programmer. If the device is not a standard DIP packaging, a plug-in adapter board, which converts the footprint with another socket, is used.

Cable & port 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.

Transfer Data is transferred from the programmer to the device as signals via connecting pins. Some devices have a serial interface for receiving data (including JTAG interface). Other devices communicate on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device. Usually, a programmer is controlled via a connected personal computer through a parallel port, USB port, or LAN interface. A program on the controlling computer interacts with the programmer to perform operations such as configure install parameters and program the device,

Types

There are four general types of programmers:

Automated programmers often have multiple programming sites/sockets for mass production. Sometimes used with robotic pick and place handlers with on-board sites to support high volume and complex output such as laser marking, 3D inspection, tape input/output, etc. Development programmers usually have a single programming site; used for first article development and small-series production. Pocket programmers for development and field service. Specialized programmers for certain circuit types only, such as FPGA, microcontroller, and EEPROM programmers.

History

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. 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. Nowadays, EEPROMs are used for bootstrapping mechanism as BIOS, without the need to operate mechanical switches for programming.

Manufacturers For each vendor's web site, refer to "External links" section.

Batronix GmbH & Co. KG BPM Microsystems Conitec Datasystems Data I/O Corporation DediProg Technology Co., Ltd Elnec s.r.o Elprosys Sp. z o.o. halec Hi-Lo System Research MCUmall Electronics Inc. Minato Holdings Phyton, Inc. Xeltek Inc.

See also Off-line programming In-system programming Debug port JTAG interface Common Flash Memory Interface Open NAND Flash Interface Working Group Atmel AVR#Programming interfaces PIC microcontroller#Device programmers Intel HEX – ASCII file format SREC – ASCII file format ELF – Binary file format COFF – Binary file format Hardware description language

References

External links Technical information JEDEC - Memory Configurations: JESD21-C JEDEC - Common Flash Interface (CFI) Specification, JESD68.01, September 2003. Intel - Common Flash Interface (CFI) and Command Sets IEEE Std 1532-2002 (Revision of IEEE Std 1532-2001) - IEEE Standard for In-System Configuration of Programmable Devices What is the IEEE 1532 Standard? | Keysight Technologies JEDEC - STANDARD DATA TRANSFER FORMAT BETWEEN DATA PREPARATION SYSTEM AND PROGRAMMABLE LOGIC DEVICE PROGRAMMER: JESD3-C, Jun 1994 JEDEC - JC-42 Solid State Memories Manufacturers Batronix GmbH & Co. KG BPM Microsystems Conitec Datasystems Inc. Data I/O Corporation Elnec s.r.o. Elprosys Sp. z o.o. Dediprog halec Hi-Lo System Research Co. Ltd. MCUmall Electronics Inc. Minato Holdings Inc. Phyton, Inc. Xeltek Inc.

Illustrations

Programmer (hardware): Engineering Universal Programmer with two sockets
Engineering Universal Programmer with two sockets
Programmer (hardware): Pocket Programmer Galep-5 with a ZIF socket
Pocket Programmer Galep-5 with a ZIF socket
Programmer (hardware): Universal Gang Programmer with 16 sockets
Universal Gang Programmer with 16 sockets
Programmer (hardware): The 3928, with up to seven sites,  is made for programming large data devices, such as  MCUs, eMMC HS400, NAND, NOR and Serial Flash devices.  High-speed signals support devices up to 200 MHz and the latest eMMC HS400 modes with data transfer rates of 2.5 nanoseconds per byte.
The 3928, with up to seven sites,  is made for programming large data devices, such as  MCUs, eMMC HS400, NAND, NOR and Serial Flash devices.  High-speed signals support devices up to 200 MHz and the latest eMMC HS400 modes with data transfer rates of 2.5 nanoseconds per byte.
Programmer (hardware): JTAG Connector-basedOn-Board Programmerfor AVR microcontrollerwith USB Port interface
JTAG Connector-basedOn-Board Programmerfor AVR microcontrollerwith USB Port interface

Worked examples

Example 1 — a first encounter with Programmer (hardware)

Start with the simplest possible case. Write down what Programmer (hardware) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In engineering, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Programmer (hardware) before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Programmer (hardware) ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Programmer (hardware)

In research
Programmer (hardware) appears in engineering research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Programmer (hardware) in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Programmer (hardware) is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer engineering, Gate arrays, Integrated circuits, so understanding it makes those chapters shorter.
In everyday life
Look for Programmer (hardware) outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Programmer (hardware)” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Programmer (hardware) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Programmer (hardware) means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Programmer (hardware) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Programmer (hardware) in simple terms?

In the context of installing firmware onto a device, a programmer, device programmer, chip programmer, device burner, or PROM writer is a device that writes, a.k.a. burns, firmware to a target device's non-volatile memory. Typically, the target programmable chip is one of the following types: PROM…

Why does Programmer (hardware) matter?

Because it connects several engineering ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Programmer (hardware)?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Programmer (hardware).

Tags

  • Computer engineering
  • Gate arrays
  • Integrated circuits
  • Non-volatile memory

Keep exploring