Electronic System-Level HW/SW Co-Design of Heterogeneous Multi-Processor Embedded Systems