3 ms·
I think we should drop the word firmware. Firmware is just software. And to be honest, the distinction has never been so much a technical one but more of a own
by thrashh 4y ago
I think we should drop the word firmware. Firmware is just software.
And to be honest, the distinction has never been so much a technical one but more of a ownership one. Firmware is really software that you take for granted and “software” is the software on top that you can maybe configure yourself but that line is so blurry.
Firmware vs software has more meaning when applying for jobs but it kind of comes down to an indication of culture more than technology.
- petsfed 4y agoI disagree. The distinction is very valuable when it comes to how you design the system for maintenance. Firmware is not simply software that you take for granted, its software that is designed and tested prior to release such that updates and maintenance are very rare. Its possible that updating by the user is impossible. Example: I worked on a swarm of environmental sensors that reported via bluetooth. In principle, you could send out a new firmware package over the air, but rewriting their ROM required more current the the coin cell could provide. These devices were meant to be in hard-to-reach places, so updating the firmware on a fleet of them (a few thousand in an average warehouse) was a pretty onerous task, involving recovery, disassembly, and reprogramming using specialized equipment. When we pushed out generation 2 of these devices, we addressed the issue with over-sourcing current, but it was still understood that there was some non-zero possibility that an update could brick the device, necessitating the onerous process to recover. The takeaway: if it really hurts to update, its firmware. I do get irritated that I have to read quite a ways down a job description before they indicate something like "embedded Linux/Windows/AmigaOS/etc", because when I call myself a firmware developer, I think embedded C on a mirocontroller with at most a simple RTOS.
- AdamH12113 4y agoThat is a good point that I didn't touch on in my comment. Although, oddly, a lot more software used to work that way before the internet. Console video games in particular went from "there might be different versions of the cartridge ROM or disc but you won't ever know" to "download the day one patch if you want the game to work and download the next two patches if you want it to work well" practically overnight once they got internet connectivity. Maybe the real distinction today should be between internet-connected systems and non-internet-connected systems.