Boundaries between traditional embedded systems and ASIC hardware systems are fading, through the advent of System-on-Chip (SoC) systems. Rapid progress in silicon technology enables complete systems to be integrated on a single chip, making every single SoC design at the same time a complex real-time embedded system.

Every delay in product launch causes significant loss in market share; however, most embedded systems designs are still late to market. In this article we will review prototyping techniques available to software developers for developing and debugging software for complex systems. A new emerging technology, called ‘virtual prototyping’, will be introduced which reduces the product and development risk of embedded systems by enabling early development of the software component and continuous integration of hardware and software.

Reprinted in its entirety from ARM IQ Vol. 1, No. 1