The full name of FLASH is FLASHEEPROM, but the operation method is different from that of conventional EEPROM.
The biggest difference between FLASH and EEPROM is that FLASH operates by sector, while EEPROM operates by byte. The two have different addressing methods and different storage unit structures. The circuit structure of FLASH is simpler, and the same capacity occupies a smaller chip area, so the cost is naturally lower than that of EEPROM, so it is suitable for use as a program memory, while EEPROM is more used as a non-volatile data memory. Of course, it is also possible to use FLASH as a data memory, but the operation is much more troublesome than EEPROM, so a more "humanized" MCU design will integrate two non-volatile memories, FLASH and EEPROM, while cheap designs often only have FLASH. Early electrically erasable MCUs are all EEPRM structures, which are now basically discontinued.
As for what the "chief engineer" said, if Zhang Yidao did not remember it wrong, then even the basic concepts were wrong. It can only be said that the "chief engineer" not only did not understand chip design at all, but also did not grasp the basic structure of the MCU system. In the internal circuit of the chip, FLASH and EEPROM not only have different circuits, but also different address spaces, and naturally different operation methods and instructions, regardless of whether it is a von Neumann structure or a Harvard structure. Technically, both program memory and non-volatile data memory can use only FLASH structure or EEPROM structure, and even "flexible" technical means can be used to simulate the "data storage area" in the program storage area, but even so, the two are still different in concept, which is a matter of basic common sense.
Without a rigorous work spirit, it is impossible to become a true technical expert.
EEPROM: Electrically Erasable Programmable Read-Only Memory, the operating characteristics of Flash fully meet the definition of EEPROM, and it is undoubtedly EEPROM. When the first Flash was launched, its data sheet also clearly indicated that it was EEPROM, and most of the current Flash manuals also indicate this, and the relationship between the two is "white horse" and "horse". As for why the industry needs to distinguish between the two, the main reason is that the operation method of Flash EEPROM is completely different from that of traditional EEPROM. The secondary reason is for the sake of language conciseness. In informal documents and spoken language, Flash EEPROM is simply referred to as Flash. What needs to be emphasized here is the "white" attribute of the white horse rather than its "horse" attribute to distinguish Flash from traditional EEPROM.
The characteristics of Flash are simple structure. With the same process and the same wafer area, higher capacity can be obtained and the operation speed under large data volume is faster, but the disadvantage is that the operation process is cumbersome, especially when small data volumes are repeatedly rewritten. Therefore, in MCU, the Flash structure is suitable for program memory that does not need to be rewritten frequently.
In many applications, some small amounts of data need to be rewritten frequently and need to be non-volatile when power is off. The traditional structure of EEPROM is very suitable for this. Therefore, many MCUs are designed with two EEPROM structures, FLASH and traditional, in order to achieve a balance between cost and function, which greatly facilitates users. With the popularity of ISP and IAP, especially in MCU systems where the program storage address space and data storage address space overlap, more and more MCU manufacturers now use program memory that supports IAP to simulate the data memory corresponding to EEPROM. This is a workaround to achieve non-volatile data memory at a low cost. In order to achieve "equivalence" with the dual EEPROM process in commercial publicity, many manufacturers who use Flash program memory to "simulate" (note that it is not a true simulation in technical concept) EEPROM data memory have claimed that their products have EEPROM. Strictly speaking, this is very imprecise, but businessmen have their own goals and methods. Using Flash to "simulate" EEPROM can obtain greater commercial benefits, so in fact, they are the initiators of the confusion of technical concepts.
From a cost perspective, it is cost-effective to use Flash to "simulate" EEPROM, otherwise no one will do it. So what is the matter with the "chief engineer" and a netizen above who said that EEPROM is used to simulate Flash? This may be on some MCUs with continuous program storage space and data storage space. In this type of MCU, especially low-end MCUs with small storage capacity, EEPROM is still used as non-volatile memory, which is lower in cost than the design using Flash and traditional EEPROM dual process, but this phenomenon is limited to the premise of small capacity. Due to the popularity of Flash process, many businessmen and less rigorous technicians now call program memory Flash. For those MCUs that only use traditional EEPROM process, they do not understand it very well, so they mistakenly call EEPROM program memory "simulated Flash". The fundamental reason is that they do not understand that Flash is just a memory structure rather than the purpose of memory. The wrong premise naturally leads to wrong conclusions. Commercially speaking, using EEPROM to simulate Flash is a stupid act that no one will really do. This violates the principle of pursuing maximum benefits in business and is not technically feasible. For technicians, especially "chief engineers" in the IC industry, if they say so again, it can only mean that he or she either does not understand the relevant technical details at all or is very imprecise, which does not meet the identity of "chief engineers". The essential problem is that Flash is a type of memory rather than the program memory in MCU. Even if the program memory of MCU uses Flash, its inverse proposition does not hold.
I wrote this article to clarify the technical concepts, and I also don't want to mislead people with wrong statements. Technology also requires a rigorous scientific spirit.
The 28 series is the earliest EEPROM, and the 28F is the earliest Flash. Even the word Flash was an "advertising name" given by Intel in the 1980s to promote its 28F series. It means "fast", nothing more. The capacity of Flash at that time was not larger than that of traditional EEPROM, but the starting point of capacity was slightly higher. As for whether there is the word EEPROM in the current manual, it is not important. If you have to "compare", see if there is a "electrically erasable" memory in the content. At least I opened the SST Flash manual and it was clearly written, but these are basically meaningless fur, a typical white horse is not a horse theory.
As for the AVR address continuity problem, it was a mistake on my part. It should refer to the 68HC series. But even so, even if I have never used any MCU including AVR, it has nothing to do with the nature of Flash.
Previous article:Summary of methods for implementing single chip microcomputer delay
Next article:Advice for MCU beginners
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- Infineon's PASCO2V15 XENSIV PAS CO2 5V Sensor Now Available at Mouser for Accurate CO2 Level Measurement
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- A new chapter in Great Wall Motors R&D: solid-state battery technology leads the future
- Naxin Micro provides full-scenario GaN driver IC solutions
- Interpreting Huawei’s new solid-state battery patent, will it challenge CATL in 2030?
- Are pure electric/plug-in hybrid vehicles going crazy? A Chinese company has launched the world's first -40℃ dischargeable hybrid battery that is not afraid of cold
- The key to the difference between capacitors lies in the dielectric
- Problems with crystal oscillator circuits
- How to use TMS320DM8148 for object recognition?
- Transfer-【TWS headphones】Some you really don’t know
- Is this what the 0 detection is like?
- TGF4042 Function Signal Generator Review_General Parameter Measurement
- GitHub Annual Report: TypeScript surpasses C++ to become the fourth most popular language
- Remote emission management terminal involves diesel engine purification and non-exhaust pollutant control technology
- The MPU9250 magnetometer ID reading does not get the correct value for the following reasons:
- CircuitPython 6.0.0 Beta 1 released