Using any type of controller, I flash my code on the targets flash(ROM). My question is, how is it called Read Only Memory(ROM) yet I have the ability to write on it every time I flash. Any help?
It's not called "read only memory", at least not by any sane people. It's called "ROM", not "read only memory". The term "ROM" originated from the words "read only memory", but over time the meanings diverged.
Believing that a word's meaning should be based on the origin of the word or how it used to be used is considered a fallacy in linguistics, often called the etymological fallacy. (The people who say that there's something wrong with saying "scuba gear" or "PIN number" are committing this very same fallacy.)
At first, there really was read only memory. Over time, a very similar technology that could be programmed once was developed, and it was called "PROM" (programmable read only memory). A method was developed to erase PROM and that was called "EPROM", for "erasable" PROM. Since flash comes from that same technological line, it got the name "flash ROM", though it is not read only.
You'll notice that the term "flash ROM" is at least ten times more popular than "flash read only memory". The latter is primarily used by people who still think that the "ROM" in "flash ROM" is an abbreviation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With