The designs of heterogeneous multi-core multiprocessor real-time systems are evolving for higher energy efficiency at the cost of increased heat density. This adversely effects the reliability and performance of the real-time systems. Moreover, the partitioning of periodic real-time tasks based on their worst case execution time can lead to significant energy wastage. In this paper, we investigate adaptive energy-efficient task partitioning for heterogeneous multi-core multiprocessor realtime systems. We use a power model which incorporates the impact of temperature and voltage of a processor on its static power consumption. Two different thermal models are used to estimate the peak temperature of a processor. We develop two feedback-based optimization and control approaches for adaptively partitioning real-time tasks according to their actual utilizations. Simulation results show that the proposed approaches are effective in minimizing the energy consumption and reducing the number of task migrations.