为了应对成本、尺寸、功耗和开发时间的压力,许多电子产品都建构于系统级芯片(SoC)之上。这个单片集成电路集成了大多数的系统功能。然而,随着这些器件越来越复杂,要在有限的时间里经济地进行产品开发以满足产品上市时间的压力已变得越来越困难。SoC集成了一些可编程部件(特别是微控制器),使得其软件开发与硬件开发同样的昂贵和耗时。