Embedded systems, which has tight conjoining of and coordination between computational and hardware resources, is usually heterogeneous. This chapter focuses on the optimization for soft real-time heterogeneous embedded systems. Hardware technology provides the potential of designing flexible platforms with high performance or low power, but with the current software technology, which does not take advantage of hardware platform, it will be hard to obtain an acceptable solution. The boundary between software and hardware parts is more obscured than ever. Conducting research in system optimizations while considering hardware is an important step to advance the development of heterogeneous embedded systems.