Multiprocessor system-on-chip (MPSoC) platforms have found their way into embedded systems. The reason is a balanced combination of power efﬁciency with genericity, which makes them cost effective solutions when compared to dedicated hardware or general purpose platforms. However they are also notoriously difficult to program because it is hard to develop programs that can take advantage of the parallel resources that are available in such platforms. To help with developing efficient code for an MPSoC system in a cost-effective manner a team of researcher at IMEC has been working on an MPSoC programming approach supported by a tool chain that enables the mapping of a single application on multiple cores. The tool chain consists of a tool that cleans C code, so it can be analyzed more efﬁciently, mapping tools that can manage memory hierarchies and that generate source code for parallel threads, and a run-time library that abstracts the underlying hardware. This paper gives an overview of IMEC’s MPSoC programming approach and the tools, and gives concrete examples where they have been used effectively.