Firmware 101

Hello today let’s discuss about firmwares

Firmware

The term ”firmware” has been coined by Ascher Opler in a 1967 Datamation article. His definition of firmware as a glue microcode layer between the CPU instruction set and the actual hardware has since been superseded.

IEEE Standard Glossary of Software Engineering Terminology, Std 610.12-1990, defines firmware today as follows:

The combination of a hardware device and computer instructions and data that reside as readonly software on that device.

Here is a non-exhaustive list of all the domains that use firmware-driven devices:

Common Processor Architectures

LOW END:

HIGH END:

Common Buses

Common Communication Lines

Common Directly Addressable Memory

Common Storage

Common Operating Systems

Common Bootloaders

Common Libraries and Dev Envs

**Firmware Formats – Typical Objects Inside **

Firmware Formats – Packing Category View I Pure filesystems:

Firmware Formats – Packing Category View II

Pure archives

Pure binary formats

Hybrids (any breed of above)

*****
When solving problems dig @ roots, instead of just hacking at the leaves.
made with ☕ and 🛠️