3 ms·
The problem with ARM platforms is that there is no hardware or firmware standard - something x86 machines have due to everyone cloning the IBM PC and then pains
by johndoe0815 6y ago
The problem with ARM platforms is that there is no hardware or firmware standard - something x86 machines have due to everyone cloning the IBM PC and then painstakingly ensuring compatibility to the original system built in 1981... so an OS for x86 can, in the worst case, rely on BIOS drivers to boot and then install its own drivers.
There were similar approaches in the workstation world, e.g. OpenFirmware (IEEE1275) for Sun SPARC and several PowerPC systems (including Macs, but most people didn't know this, I think). In OpenFirmware systems, firmware-level drivers were implemented in FORTH and could be used by any OS (the SunOS text console driver did this IIRC and was horribly slow...).
Some ARM systems used OpenFirmware (e.g. several StrongARM systems by DEC 20 years ago), but it was never widely used in ARM systems.
ARM missed the opportunity to define standards on levels above the CPU core - on ARM7 systems, there was not even a standard for interrupt controllers, on Cortex-M microcontrollers, there is a proliferation of incompatible peripherals. Sun (by design) and IBM compatibles (by accident) managed this vertical integration better.