For decades, embedded systems consisted of special-purpose hardware running special-purpose software. Field upgrades involved changing pin settings, replacing EPROMs, etc. But the commoditization of ...