What do people mean by ROM and firmware in the context of android? [closed]
Asked Answered
G

4

12

I read "custom ROM" and "customized firmware" all over the internet.

To my understanding ROM stands for Read Only Memory. Despite that I see links to files, that I suppose, are filesystem images, containing an operating system with preinstalled libraries and applications. What are these actually? Why do people refer to these as ROMs?

Also: cyanogen-mod's official description says: "[...] is [...] firmware distribution [...] increase [...] over Android-based ROMs [...] these versions of Android [...]". So they seem to use firmware, hardware component storing the firmware, and operating system interchageably. Do I see that right? Why is that?

Gainless answered 1/2, 2013 at 10:21 Comment(5)
This might be better suited over @ android.se ?Quintessa
+1 Nanne. Don't forget SO is dedicated to programming issues. Your question has a much larger scope and does not involve any programming concern.Homer
btw. I was thinking about tablets not phonesGainless
In this context and for this question there is no differenceErect
@MattTaylor: I know, thats why I did not mention that in the question, but the answerers are all seem to think that I meant a phone.Gainless
O
14

Well, they refer to the firmware of the phone as ROM, because in theory you, as a normal user, can't alter the area where the firmware is (it's in the Read Only Memory). On older phone, this was true, it wasn't easy to alter a phone software without special equipment.

In nowadays, the firmware is not stored in real ROM, it's stored in the internal flash memory of the phone, which is not Read Only, so you can flash another firmware. As Farmor says, the 2 terms are interchangeable.

In general, people refer to modified firmwares as ROMs.

Overwrought answered 1/2, 2013 at 10:30 Comment(0)
E
4

Farmor's answer is nearly there, the explanation is that the ROM on the phone contains the phone's firmware (again, Cristi's explanation is nearly complete - you can write to ROM, but that's why you need root access to reflash your phone. If it was completely ROM, how would you get anything on there in the first place? =P )

By replacing the firmware, the ROM of the phone is wiped and the new firmware has complete control over it, which is why the two terms are seen as synonymous.

However the other terms that you have mentioned aren't synonymous:

Firmware - a specific subset of software which determines how a device will run, normally referring to embedded code such as that on a microcontroller. In our case, the firmware is loaded onto the ROM (the hardware component)

Hardware component - this is the physical device, or the physical bit of ROM which is in the phone/similar device. As the Firmware is loaded onto the ROM, people use these interchangeably, which isn't strictly true (think of coding a microcontroller - if you put some new software onto it, then the function completely changes, so it's like a new microcontroller, but it's still the same piece of hardware)

Operating system - this is Android. CyanogenMod (as your example) is Android-based, not a completely new OS. Rather than being a new OS, it is an extension of it.

Erect answered 1/2, 2013 at 10:37 Comment(1)
This is very helpful. It appears to be more broadly applicable than smartphones, actually. For instance, in the book on Unix & Linux I am reading, the phrase, "...the system ROM loads a small boot program into memory from disk," would be more accurately stated as, "the firmware stored in the system ROM loads a small boot program into memory from disk," — correct? :)Elbertine
A
0

You are correct that ROM stands for Read Only Memory.

When people say they're flashing a new ROM, it means they are flashing a new version of the firmware onto their phone - the two terms are interchangeable.

What is ROM?

Asphyxiate answered 1/2, 2013 at 10:24 Comment(0)
E
0

The term "ROM" is archaic, referring back to the time when the firmware in an electronic device really was non-modifiable (e.g., manufactured as mask-programmed ROM). But the name is still apt: writing to non-volatile flash memory is more like programming an EEPROM than setting the value in a flip-flop. Furthermore, at runtime, the device typically has little to no ability to modify the firmware image: it must be assembled off-device and loaded all at once. So using "ROM" and "firmware" interchangeably is reasonable.

Elevator answered 1/2, 2013 at 10:37 Comment(1)
So from hardware perspective, android compatible devices typically have the following storage devices: 1 that is really read only; 1 NAND flash storing both the the "so-called" firmware that is updatable and also the operating system (kernel + libraries + config + apps) and also user data; and removable storages eg: microSD. Is that right? Do those "so-called" ROMs contain firmware + OS kernel + libs + apps, and you "flash" them all-together onto the NAND of the device (maybe even on the same filesystem?) ?Gainless

© 2022 - 2024 — McMap. All rights reserved.