On 2017-03-18 at 18:47, Sam Kuper wrote:
My understanding is that there are, broadly speaking, two distinct methods for using Flashrom:
- The chip being read or flashed is part of the circuitry on the
motherboard that is hosting the OS that is running the Flashrom instance.
- The chip being read or flashed is *not* part of the circuitry on
the motherboard that is hosting the OS that is running the Flashrom instance. Instead, that chip is being accessed via a programmer of some kind (e.g. a Bus Pirate, or BeagleBone Black, or suchlike).
This second method can be further subdivided:
2(a). The chip being read or flashed is connected to a circuit other than the one being used to program it. For example, it might be a BIOS EEPROM chip that was soldered to a motherboard by a PC manufacturer, and which has not been removed from that motherboard.
2(b). The chip being read or flashed is *not* connected to a circuit other than the one being used to program it. For example, it might be a brand new chip that has been inserted into a programmer's ZIF socket so that it can be programmed.
I would be grateful to know if terminology exists that would unambiguously identify which method is being referred to, out of 1, 2(a), and 2(b).
The closest I have come to finding such a vocabulary is the page at https://www.flashrom.org/ISP . This doesn't go very far, though. It implies that, at least within the Flashrom project, the phrase "in-system programming" *usually* refers to 2(a), but it might also refer to 1.
ISP (or sometimes ICSP) refers to 2(a).
Method 1 would be internal programming (cf. flashrom's "internal" programmer), software programming, or specifically programming from the host CPU (vs. programming from another in-circuit flash master like the Intel Management Engine). Any of these terms are likely to be understood, though flashrom typically goes with "internal" programming.
In any case, these flashing methods and terms also aren't specific to flashrom and can apply in other flash memory programming contexts.