An embedded system is an application specific electronic sub-system used in a larger system such as an appliance, an instrument or a vehicle. An embedded system is generally made of software (called embedded software) and a hardware platform. The evolution of technologies is enabling to the integration of complex platforms in a single chip (called System-on-Chip, SoC) including one or several CPU sub-systems to execute software and sophisticated interconnect in addition to specific hardware sub-systems. Mastering the design of these embedded systems is a challenge for both system and semiconductor houses that used to apply only software strategy or only hardware strategy. This paper analyzes this evolution and defines long term roadmaps for embedded system design.