A flash programmer is a device that allows us to program the flash memory of a microcontroller. By program, we mean we can transfer a program that we have written and compiled and send it to the microcontroller for the microcontroller to execute the program.
Why Do We Want to Program the Flash Memory of Microcontrollers?
As previously stated, when we program a microcontroller, we transfer our compiled program to the microcontroller. In order for the microcontroller to execute the program (or instructions) we send it, it first stores the program in its memory. If you also want to shop for the best microcontroller and flash programmers, then you can shop it from elprotronic.com/collections/arm.
A microcontroller typically has 3 types of memory: Flash, RAM, and EEPROM.
Flash is a type of nonvolatile memory; that is, it's a memory that keeps the information transferred to it even when the power to the microcontroller is shut off. RAM is the memory for temporary storage, such as when the program is being actively executed.
EEPROM, like Flash, is nonvolatile. However, it is slower and there is less of it, so more often than not, the Flash memory is the more used and important of the 2 nonvolatile memories.
When we program a microcontroller for it to execute the program, the microcontroller must first store the program into memory. After it is stored in memory, then the data from the memory (the program) is then transferred to the ALU (arithmetic logic unit) to be processed.
The RAM stores intermediate results while the program is being executed, such as math calculations that need to be done and deals with any variables that need manipulation, etc.